[ODE] Re: ODE on multiplayer games
Henrik Grimm
hengr at hotpop.com
Wed Mar 23 15:54:45 MST 2005
Jose Marin wrote:
> How to keep the clientes sincronized?
>
There are two general paradigms:
1) Let each client perform the same simulation at the same rate (the
slowest client sets the speed). Broadcast events (player commands) for
each time step. You must make sure that all clients start in the same
state (same seed for all RNGs, etc.). This is described in a paper
called "1500 Archers on a 28.8: Network Programming in Age of Empires
and Beyond." on Gamasutra.
2) Let each client update its own simulation in its own rate. Each
entity is owned by one node and that node sends regular state updates to
the other interested nodes. The other nodes keeps surrogates that are
approximations of the entity (normally extrapolated between state
updates). To minimize state updates a method called dead reckoning is
normally used.
Which one of these you choose depends on a lot of factors, like the type
of game, number of players, etc. The first method is suitable for games
with a low number of players, where a relatively small number of events
are generated, and where you can accept a high local latency. A prime
example of this are most real-time strategy games.
/Henrik
More information about the ODE
mailing list