[ODE] Record and Playback

Steve Baker sjbaker1 at airmail.net
Wed Jan 28 20:34:53 MST 2004

Martin C. Martin wrote:
>  > If every computer had to wait for every other so they could all stay
>  > in lock-step, the game would run at 1Hz frame rate.
> You're exaggerating.  The game dynamics would go at the speed of the 
> slowest machine.  Most games are unplayable at 1Hz, so presumably even 
> the slowest machine wouldn't be going at that speed.

No - I'm not at all exaggerating.  In order to stay in lockstep, every
computer would have to somehow tell all of the others that it's finished
it's step.  Whilst the slowest machine may be running at 30Hz, the latency
over the net could be as much as a second in a bad case.

> The graphics can 
> go at a higher speed, e.g. by interpolating.

Yes.  Of course - but we aren't talking about graphics - we're talking
about physics.  Graphics are easier because you typically re-render
everything from scratch every update.  With physics, each iteration
depends on the results from the previous iteration - so tricks like
interpolation become rapidly noticable...and 'sensitive dependence
on initial conditions' (aka Chaos, aka Butterfly Effect) will soon
take hold.

>  > But in any case,
>  > precision can vary between compilers and revisions of compilers
> True, but irrelevant.  The game uses the same executable on all machines.
>  > This may not be a
>  > problem if you have a binary only distribution of your game that only
>  > runs on one platform...but it's a dangerous situation.
> Um, that's the norm in the games industry.  Are we talking about the 
> same industry?

We are talking on an OpenSource mailing list - I have no idea of your
games background - but I'm an OpenSource programmer and all my games run
on MANY machine architectures and are delivered as source code that could
be compiled on any reasonable C++ compiler.

So - perhaps in YOUR circumstances you only have to worry about one
platform, one compiler and binary-only releases - but I had no way to
know that - which is why I added that caveat.

> This is the norm in First Person Shooters, but I didn't think it was 
> possible in RTSes.  Have you seen RTSes where, when the connection gets 
> laggy, some of the units "jump" back to where they're supposed to be?
> The jump when you receive an update after not getting one for, say, a 
> second or two.  Can you name an RTS that exhibits this behaviour?

I can't recall an RTS that used a full physics package like ODE either.

I don't think the genre really matters here - it's a case of latency
and update rate.

---------------------------- Steve Baker -------------------------
HomeEmail: <sjbaker1 at airmail.net>    WorkEmail: <sjbaker at link.com>
HomePage : http://www.sjbaker.org
Projects : http://plib.sf.net    http://tuxaqfh.sf.net
            http://tuxkart.sf.net http://prettypoly.sf.net
GCS d-- s:+ a+ C++++$ UL+++$ P--- L++++$ E--- W+++ N o+ K? w--- !O M-
V-- PS++ PE- Y-- PGP-- t+ 5 X R+++ tv b++ DI++ D G+ e++ h--(-) r+++ y++++

More information about the ODE mailing list