[ODE] Improvement suggestions?

Jetro Lauha jlauha at cs.Helsinki.FI
Fri Aug 30 07:17:02 2002


Hello,

I'm the author of "Porrasturvat - Stair Dismount", the game where you have to
push a guy down the stairs. I was going to send an announcement message about
the game to this list a while ago but noticed that somebody was faster than
me. :-) (The game URL is currently http://tAAt.fi/taat/porrasturvat/)

The game seems to be quite heavy about the CPU requirements - it needs roughly
+500 MHz processor for adequate speed for the simulation. The simulation step
size is fixed to ensure equivalent scoring independent of the hardware. The
guy is set up from 13 different body parts connected to each other with hinges
(using limits) and ball&socket-joints. Collisions are done with boxes (and a
sphere as the head), and collisions for adjacent body parts are ignored. I'm
using the ODE's default collision routines, btw.

The game works fairly well, but there's still some problems with the physics.
Especially on some situations where some part (mainly leg or head) goes inside
a stair and it needs to be pushed away from the stair with contact joints. But
this needs that the colliding body part pushes away the other body parts on
line and it feels like this doesn't work always very well. E.g. one situation
is that when the guy falls down on the lower steps on his head, the head is
is moved left to end of the stair for a small time which I guess is just 
because
ODE is pushing the head away from being inside the stair, but is unable to
push the whole body accordingly so the result is that only the head is pushed
far away from the body for a moment.

Is there anything which I could do to prevent this kind of behavior?
If possible, I don't want to decrease step size since that would even increase
the hardware requirements. 

I also get internal LCP errors once in a while, is this normal?

If I increase the size of the environment effectively increasing number of
static but collidable objects in the scene, does it increase the complexity
much or is most of the cpu usage in the handling of the guy with all his
joints and so on?

BTW the ODE version I'm using is one from CVS available about a month ago.


-- 
-- tonic - Jetro Lauha - jetro at iki.fi - http://iki.fi/jetro/