70 Networking and Online Games: Understanding and Engineering
70 Networking and Online Games: Understanding and Engineering Multiplayer Internet Games Time t1 Packet 2 Packet 3 Time t 2 Interval d2 Interval d3 Interval d4 Packet 1 Interval d1 Destination Source IP Network Latency: t2 t1 Jitter: d3 > d1, d4 < d2 Packet 1 Packet 2 Packet 3 Figure 5.1 Latency and jitter affect streams of packets travelling across the network All three have a negative impact on online game play. Latency affects the absolute sense of real-time interactivity that can be achieved within the game context. The latency of a network path between client and game server puts a lower bound on how quickly game-state information can be exchanged and consequently limits each player s ability to react to situational changes within the simulated game world. Jitter can make it difficult for players (and the game engine itself) to compensate for long-term average latency from the network. Jitter must be kept as low as possible. The consequences of packet loss should be self-evident game-state updates are lost, and the game engine (at client and/or server) must cover up the loss as best as it can. In the rest of this chapter, we will review the various sources of latency, jitter and loss inside ISP networks, and briefly outline the technical methods ISPs can utilise to reduce and control these characteristics. 5.2 Sources of Latency, Jitter and Loss in the Network Three main sources of delay add cumulatively to the total latency experienced by a packet. Finite propagation delays over large distances (we must obey the laws of physics) Serialisation delays (particularly over low bit rate links) Congestion-related queuing delays. A number of mechanisms introduce jitter by causing variations in latency from one packet to the next. Path length changes Packet size variations and Transient congestion. Packet losses are typically due to: Excess transient congestion causing queues to overflow;
Note: If you are looking for good and high quality web space to host and run your application check Lunarwebhost Inexpensive Web Hosting services