- Lockstep protocol
The Lockstep protocol is a solution to the
look-ahead cheating problem inpeer-to-peer architecturemultiplayer games , in which a cheating client delays his own actions to await the messages of other players. ["Algorithms and Networking for Computer Games", Jouni Smed and Harri Hakonen] A client can do so by acting as if he is suffering from highlatency ; the outgoing packet is forged by attaching a time stamp that is prior to the actual moment the packet is sent.To avoid this method of cheating, the lockstep protocol requires each player to first announce a "commitment"; this commitment is a representation of an action that:
* Cannot be used to infer the action; and
* Easily compares whether an action corresponds with a commitment.Once all players have received the commitments, they reveal their actions, which are compared with the corresponding commitments to ensure that the commitment is indeed the sent action. [ [http://prisms.cs.umass.edu/brian/pubs/baughman.infocom01.pdf "Cheat-Proof Playout for Centralized and Distributed Online Games"] , Baughman and Levine, 2001]
Drawbacks
As all players must wait for all commitments to arrive before sending their actions, the game progresses as slowly as the player with the highest latency. Although this may not be noticeable in a
turn-based game , real-time online games, such asfirst person shooters , require much faster reactions.This can be acquired by placing a limit on the time in which a player can announce his action. If no action is sent within this period, other players do not announce their actions to that player and ignore any action that arrives too late.
Asynchronous lockstep protocol
To overcome the obvious drawback of the simple lockstep protocol, an asynchronous variant of the protocol exists wherein players advance in time free of any negotiations with other players until interaction between players exists, known as a "lockstep mode." This mode may be defined by a certain area around a player, such as a sphere, in which the game world may be affected by the player.
Such an interaction can only occur when, for example, the areas of influence surrounding two players intersect.
References
Wikimedia Foundation. 2010.