This isnt something i've done, but it's something i'm very interested in
nonetheless, so bear with my uneducated musings :)
The basic issue with lag is how much information is necessary for each
client to predict the game state. For instance, in a game of multiplayer
asteroids, it isn't necessary for all clients to know where every bullet
is, but it is necessary to know when a bullet is fired, from where and
in what direction, since bullets act predictably and are simple to
replicate. Similarly, asteroid positions can be predicted by
broadcasting their initial position and movement vector, and until they
are shot or otherwise affected, it isn't strictly necessary to broadcast
their positions every screen update. So in short this leaves us with
player vectors, player positions, player rotations, information which
can be serialized to make the package as small as possible.
I don't believe it is necessary for the actual replication to be 100% as
long as the game experience is 100% synchronous, meaning if player A
accurately shoots player B on his client, and player B gets shot on his
end 200ms later, the important thing is player B saw it coming and had a
chance to react. HOWEVER; Anyone who has played an online game recently
will know that the issue of lag hasn't really been ironed out as much as
become a necessary evil gamers have learned to live with. I'm not saying
the strongest efforts to eliminate lag shouldnt be made, but players
tend to accept lag of around 400ms or less. A good example is world of
warcraft, which exhibits tremendous lag by any standard but functions
perfectly as a game nonetheless.You'll have a tough time completely
eliminating it online. It's far far simpler in a LAN environment with a
fast socket server, where the information packages can be larger and be
sent more rapidly.
Replication is a super interesting topic. I'd love to hear more about it
from Jobe :)
- Andreas
_______________________________________________
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders
Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com