One of the greatest hurdles in multiplayer game programming is having to deal with the effects of network latency. The way you handle latency as a developer can be the difference between a fun and responsive experience or a “laggy” and frustrating experience. There are many tricks that can be used based on the situation to minimize the effects of latency. Most of these tricks involve predicting where something will move or future events, usually based on incomplete information. In this session Jobe Makar, author of ActionScript for Multiplayer Games and Virtual Worlds, will present several examples of latency problems and their solutions. Source code will be made available for download.
The following types of issues will be presented:
– Synchronizing the client clock with the server
– “Hearing” about environmental events too late
– Jumpy/laggy movement when viewing other players’ characters/vehicles
– Seeing a bullet shoot too late
The following solutions will be presented:
– Various smoothing algorithms
– Timing future events
The smoothing algorithms cover most situations based on how they are configured. Most time will be spent on those.