[ODE] Using ODE in Doom 3

Adam Moravanszky adam.moravanszky at novodex.com
Wed Dec 15 11:24:10 MST 2004


Hello,

I recently integrated another physics engine into Doom 3.  It may appear 
that the Doom 3 physics engine is not very good, as some people has 
written in this thread, but in fact it simply  has a different 
architecture and focus than most other engines.  Its big advantage is 
that it permits very large forces and speeds that other engines tend to 
have trouble with.  The game uses a very high gravity setting when 
colliding against mesh environments which will initially cause your 
objects to often drop out of the game level with vanilla ODE.  Of 
course, if you hit a group of boxes with a grenade or rocket launcher, 
they take off with warp speed -- you will never see them again.  Once 
you rewrite the ODE collision system to deal with this, the next issue 
is that the entire game logic is tightly integrated with id's closed 
source 'clip' system, which effectively lets you sweep meshes through 
space by rotating or translating them, reporting the first time of 
impact.  ODE doesn't have a feature like this, so you will either have 
to add it, or rewrite all the game code in Doom 3 to not use this 
system.  The Doom game code also uses the concept of 'ground' a lot -- 
for example objects are able to query what they are resting on.  For 
example an elevator moves up by asking for all the objects resting on 
it, and then moving these objects up.  Physics engines don't tend to 
have this built in either.  The third alternative is to keep the Doom 3 
physics around in parallel just so you can use it for sweep tests, but 
that is cheating!  Finally, the Doom 3 physics approach is more  similar 
to AI in the sense that boxes 'think' in sequence rather than being 
simulated simultaneously like in other engines.  This doesn't end up 
being a big problem in practice though.  The whole design is a nice case 
study for an engine that was for once designed by game developers for 
their specific needs, rather than following the conventional design that 
originated in academia and evolved towards the general needs of middleware.

--Adam



Gerhard W. Gruber wrote:

>I'm not really impressed with the pysics engine from Doom 3 so far. We are
>developing a total conversion mod for this engine and now I'm looking if we
>can replace the physics with another one.So I wonder if I can get some
>opinions if this could work as I don't have much experience with physics and
>game development.
>
>  
>



More information about the ODE mailing list