The Snap, development log: Day 26
Monday, February 14th, 2011Mac build (r113)
Windows build (r113)
Status: Working physics! Chipmunk is now completely handling not just collision detection but all movement. This means not only that you can move up and against walls correctly (and there’s a fun little bounce when you hit a wall that I think I’m going to try to keep in) but that players can push and shove each other around. (At one point I even had a little kickback when you got hit by a bullet, but I took it out for now because it wouldn’t be able to work when you shot a “past self” player).
Downsides: There’s now a little bit inertia of when you start or stop moving; the characters move like they have heft, sort of. I tried to minimize this but there’s still a little bit. I’m not sure if this is actually something to fix or not. Also, if you just sit perfectly still for 10 seconds until your copy spawns on top of you, your copy actually spawns literally on top of you and it’s just sort of weird.
Anyway the physics is a big deal because what I now have is basically a system where “new” objects (i.e. objects being controlled by a player) are totally driven by the physics engine, “old”/”past self” objects are driven by the recorded movements and velocities from when they were “new”, and interactions between the two are natural and physics-y (“old” objects can’t deviate from their paths, but they can knock “new” objects out of the way). You could at this point fit in any kind of physics Chipmunk supports (like I at this point technically could, and as an experiment at some point might, turn on gravity), or I think without much difficulty drop in a 3D physics library like Bullet, and the time engine would just handle it.
I think I’m considering this the first “playable” demo; there’s nothing left at this point to “apologize” for, so to speak. You should be able to play a multiplayer game at this point and it should be fun (assuming the game is fun at all). Everything from here on out is polish, adding maps, and “additional features” like health/ammo canisters. If anyone’s able to give this version a play, I’d be really curious how it works out for you (and I need to find someone to play against…). I’d be especially curious, if you tried any of the previous builds, what you think about the new “hefty” movement.