[ODE] Naive newbie questions

Nolan J. Darilek nolan at thewordnerd.info
Thu Aug 21 13:09:01 2003


Last night I was pondering writing my own physics engine for a project
of mine, but discovered ODE. Now I have some questions, and I'm
wondering if ODE could accomplish what I want, or if it'd be overkill.

Some background: I'm trying to implement a physics engine in a
MUD. No, this isn't your typical "go north, get the sword and kill the
troll" kinda MUD. :) I'm planning on a fully 3-D (or at least pseudo
3-D) environment with newtonian motion. I'm not sure how well-suited
ODE would be for this, though, so I thought I'd ask.

I won't need some of ODE's features just yet, if ever. I may some day
want to try making the game semi-graphical, but I can't imagine
requiring MUD objects for every single type of joint and body
imaginable. Initially I'm interested in basic collision detection,
force and gravity. I'll probably create object primitives for
cylinders, spheres, etc. and MUD objects will be groupings of those
(I.e. I'll probably just model most humanoids as cylinders.) Is it
possible to use ODE in this capacity? Could I define objects only as
shapes, vehicles as boxes, humanoids as cylinders, and simply apply
forces to them without necessarily, say, modeling the engine of a tank
or the leg of a troll?

I'm trying to make the engine as flexible as possible. My current
notion is that every game will require at least a planet and a
universe, even if all of the action takes place on the planet. I may
eliminate even this minimal requirement, but it seems to make sense
for now. :) ODE uses the concept of a world, with gravity. Does ODE
model gravitational attraction with sufficiently large objects? Could
my "world" then be a 0-gravity universe, with the perceptual world
being a large sphere with a given mass and radius?

Also, how well does ODE do in potentially large environments? My
server platform is fairly scalable, and if any users find that they're
needing to model thousands of objects then they could spring for a
cluster, but if I'm initially aiming for relatively simplistic
objects, no joints/wheels, collision detection and force vector
management, am I going to quickly run up against limits that make
using ODE in a multi-user environment mpractical?

Thanks a bunch!