[ODE] Client prediction and asynchronous simulation

Jon Watte (ODE) hplus-ode at mindcontrol.org
Mon Nov 20 20:32:35 MST 2006

You do not have to run physics at the same rate as rendering on the 
client. You can use interpolation between physics frames on the client, 
when rendering multiple sub-steps.


          / h+

Eric Lasota 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.
> The current solution I'm looking at would basically have all interactive 
> objects disabled (including other players) during client simulation, and 
> clients disabled during the simulation of everything else.
> My main concern is overpenetration or repeated collision into objects 
> if, for example, a vehicle rams something and pushes it, or rear-ends 
> someone, maintaining its current direction towards the object, but the 
> client has another update scheduled before the object it pushed does.  
> Would it be possible to, for example, make bodies completely immovable 
> temporarily (preventing penetration into them for more than one step) 
> instead of simply disabling them, and handle force accumulation separately?
> The only major artifact I can think of from such a method would be hard 
> stops from relative collision (i.e. rear-end someone going slightly 
> faster than you and you'll wind up coming to a dead stop), which is 
> acceptable.
> Another concern is whether or not there any implications to a body being 
> disabled for more than one consecutive step.
> Any thoughts?
> _______________________________________________
> ODE mailing list
> ODE at q12.org
> http://q12.org/mailman/listinfo/ode

More information about the ODE mailing list