El protocolo lockstep es una solución parcial al problema de las trampas de anticipación en los juegos multijugador con arquitectura peer-to-peer , en los que un cliente tramposo retrasa sus propias acciones para esperar los mensajes de otros jugadores. [1] Un cliente puede hacerlo actuando como si sufriera una alta latencia ; el paquete saliente se falsifica adjuntando una marca de tiempo que es anterior al momento real en el que se envía el paquete.
Para evitar este método de trampa, el protocolo lockstep requiere que cada jugador anuncie primero un "compromiso" (por ejemplo, el valor hash de la acción); este compromiso es una representación de una acción que:
Una vez que todos los jugadores han recibido los compromisos, revelan sus acciones, las cuales se comparan con los compromisos correspondientes para garantizar que el compromiso es efectivamente la acción enviada. [2]
Como todos los jugadores deben esperar a que lleguen todos los compromisos antes de enviar sus acciones, el juego avanza tan lento como el jugador con mayor latencia. Aunque esto puede no notarse en un juego por turnos , los juegos en línea en tiempo real, como los juegos de disparos en primera persona , requieren reacciones mucho más rápidas.
Esto se puede conseguir poniendo un límite al tiempo en el que un jugador puede anunciar su acción. Si no se envía ninguna acción dentro de este período, los demás jugadores no le anuncian sus acciones a ese jugador e ignoran cualquier acción que llegue demasiado tarde.
Para superar el inconveniente obvio del protocolo simple de paso cerrado, existe una variante asincrónica del protocolo en la que los jugadores avanzan en el tiempo sin ninguna negociación con otros jugadores hasta que se produce una interacción entre ellos, conocida como "modo de paso cerrado". Este modo puede definirse por una determinada zona alrededor de un jugador, como una esfera, en la que el mundo del juego puede verse afectado por el jugador.
Este tipo de interacción sólo puede ocurrir cuando, por ejemplo, las áreas de influencia que rodean a dos jugadores se cruzan.