[pythian] Re: Physics Library

  • From: Darryl Long <dlong@xxxxxxxxxxxxx>
  • To: pythian@xxxxxxxxxxxxx
  • Date: Thu, 8 May 2003 07:59:33 -0400

You guys are coming up some really interesting ideas.  But I think Mike has
a really good question.

> 1. What will this "physics library" allow us to do exactly 
> that we couldnt do before?

Currently, our physics system is very simple.  Objects can collide, and this
impact applies a force to the objects.  Friction is implemented in a very
crude manner (it is inaccurate).  Finally, because our physics for moving
objects has not been optimized, and is a basic implementation, it is too
slow.

Tokomak, or any other good physics library, would improve our physics first
by making it much faster.  Also:

1. Tokomak has the feature that you can tell it how long to spend on physics
each frame.  This means that if, for some reason, the game has a LOT of
physics calculations in one frame, it will carefully manage this and not
exceed it's time allocation.  This means the frame rate will not suffer from
physics.

2. Realistic collisions are hard to do.  When two objects collide, they
don't just bounce off each other, they tend to rotate.  Our physics engine
does not handle rotation.  This will make your ideas of knocking things
over, rolling boulders down hills, and more, possible.  We could not have
done these things otherwise.  In our current engine, the boulder would
simple "slide" down the hill, instead of rolling.

3. A 3rd-party physics lib is likely less memory intensive than our game.

4. Linked objects: in Tokomak, you can link objects together to form
interesting physics reactions.  You can build a person out of blocks and
links, and then this person can fall realistically down stairs, off a cliff,
or whatever.  If you've played Raven Shield, seen the Doom III demo, or
another recent game, you'll know what I mean.  Tokomak has a good example of
this in its "ragdoll" demo.

I foresee that implementing this will be a lot of work, but it is something
we should do nonetheless.  We don't need realistic physics, but it is
certainly one of those things that could make a big difference for our game.

Darryl

Other related posts: