Desync

From Wikipedia, the free encyclopedia

Desync, or Peer Desynchronization, is a common networking problem caused by extreme latency in clients who are communicating to each other.

It is of particular annoyance in networked gaming when the players are not in sync with each other, giving a disadvantage to a player "behind" others.

Desync is closely related to chaos theory(?). As a game tries to reduce its bandwidth requirements, it will, instead of transmitting the entire gamestate all the time, transmit only things that change. Occasionally, taken one step further; only transmitting the things that don't change deterministically. The idea is that if both computers do the same operations on the same set of data, they will end up with the same set of data. When this idea breaks, it's called desync. In a first person shooter, if one player shoots another, and hits on his own computer, but on another computer the target has moved differently (e.g. due to lag) the game may end up desynced with one player dead on one computer and alive on another. Usually, this is solved by server arbitration - the game server determines, based on its data, if the target got hit, and the clients continually override their own 'decisions' with those of the server. Some games also use a resynchronization process when there is too much desync, transferring the gamestate of one computer to all of them (usually pausing the game in the meanwhile). Some games stop the game. (e.g. Joint Task Force up to at least v1.1)