Monday, December 7, 2009

Merging and sizing rocket prototypes

I continue to work on my Lunar-Lander-on-a-globe. The prototype with the Chipmunk-based rigid body dynamics has been merged into the prototype with the round planet. However, the dimensions of the two were completely different: the planet has sea-level radius of one; the rocket from the other prototype had a radius of 15. I'm still attempting to get all of the physical and control parameters adjusted to make things playable.

It finally became imperative to produce a workable camera. I've left zoom control manual for now but am otherwise quite happy with what I've got. It's yet another use of a critically-damped spring, to drive the camera parameters toward their goal positions. The goal positions are chosen to interpolate based on zoom level between a small circle surrounding the rocket and a bounding circle around the planet and rocket.

Next steps are to finish tuning the physics and control parameters; implement death and reset, and add some goal landing spots. Then I think I will do a release of what I have and shift focus to holiday-related chores. Some time around Christmas/New Year I should be able to devote energy to making it into a more interesting game.

1 comment:

Scott said...

Oh, just saw your question about integration order in Chipmunk from the last post I commented on.

The reason for the change was to allow a separate set of iterations to be used for solving elastic collisions like they describe in this paper: http://physbam.stanford.edu/~fedkiw/papers/stanford2003-01.pdf

It works great and doesn't require any threshold velocities to discern between contact and collision like Box2D uses.