[pythian] Re: Physics Library

  • From: "kk" <krauspe@xxxxxxx>
  • To: <pythian@xxxxxxxxxxxxx>
  • Date: Thu, 8 May 2003 21:28:42 +0200

Our physics system has only one desing problem.

It is controled asynchronously. Recently I have corrected this in the main
physics engine cycle, but many calculations are outside of this. They are
the problem. This includes the speedlimit, where the "dynamics" are updated
(all forces collapsed into linear velocity). Even if we moved all this into
the main cycle, there would be another problem. How the input relates to
movement forces. Or not this, but how movement forces and each kind of force
relates to time. Pretty hard to explain.

-kk

----- Original Message -----
From: "Darryl Long" <dlong@xxxxxxxxxxxxx>
To: <pythian@xxxxxxxxxxxxx>
Sent: Thursday, May 08, 2003 1:59 PM
Subject: [pythian] Re: Physics Library


>
> 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: