[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