[ODE] Client prediction and asynchronous simulation

Nick Winters nwinters3000 at gmail.com
Sat Nov 18 23:35:51 MST 2006

Uhh, you're running client and server physics at different timesteps?

Okay, some problems to ramble about...

1) ODE needs a lot of work to be deterministic, floating point math is not
deterministic in general, as different compilers, builds, or computers will
run things differently.  [Little things like actually having an 80bit float
stored in memory, and using it on the next calculation instead of rounding
to 64 bit... [32 if you're using singles]] The only effective way I can see
to make a deterministic implementation of ODE is to write an integer-based
float emulator.

2) it appears vehicle physics in ut2004 waits for the response before
moving/steering... Your look controls and foot controls are responsive [aka:
simulated client side so you don't feel the lag] with a ping of 800, but
vehicle controls are very lagged.  I think online garry's mod seems to run
so poorly is due to the number of or detail of things being updated, but I
haven't played around enough to tell.

3) if an object is disabled in ODE, and stays disabled, do you still bounce
off of it?

On 11/18/06, Eric Lasota <riot at icculus.org> wrote:
> I'm in the planning phases of a multiplayer FPS which is going to have
> vehicles.  The main issue is that the server operates at a fixed
> framerate (usually 30Hz), but clients operate at a different framerate
> (usually 125Hz), and their updates aren't synchronized with the rest of
> the world.  Disabling prediction and forcing syncing is an option, but
> going off of some descriptions of similar attempts (i.e. vehicles in
> Garry's Mod), that sounds extremely unresponsive.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://q12.org/pipermail/ode/attachments/20061118/3fe705fb/attachment.htm

More information about the ODE mailing list