Here's a screenshot from a little game I've been working on in my spare
time. I recently finished it and released it as a shareware game. When I
started working on it, I wanting to build a fairly full featured physics
engine. The game idea came later. Now that it's done I don't know if I'd
really call it full featured. It supports spheres, boxes, and polys and
all their combinations. It does do friction calculations for object to
object and object to terrain collisions. And it does have a nice
constraint system that works between any two types of physics objects.
One of the things I did that I would definitely recommend to others is
to keep your physics system on a separate update loop from your game
logic and render calls. Also, keep the separation of wall time and
simulation time separate and distinct.
The engine I wrote for this game can support about fifty to one hundred
objects bouncing around on a 1GHz machine. But, I'm sure I could squeeze
a lot more out of it - I didn't get around to doing many low level
optimizations since it ran fast enough for my game right off the bat.
One of the things that worked really well graphically (which is also
shown in this image) is the use of a mirror effect to end the game's
relatively small worlds. It fills up the unused screen real estate with
something interesting to look at.
I also had an interesting experience releasing a shareware game. I'd
love to discuss it with any other shareware game authors out there.
For more information or just to check out the demo, go to.