El protocolo lockstep es una solución parcial al problema de las trampas anticipadas en los juegos multijugador de arquitectura de igual a igual , en los que un cliente que hace trampa retrasa sus propias acciones para esperar los mensajes de otros jugadores. [1] Un cliente puede hacerlo actuando como si estuviera sufriendo una latencia alta ; el paquete saliente se falsifica adjuntando una marca de tiempo anterior al momento real en 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:
- No se puede utilizar para inferir la acción; y
- Compara fácilmente si una acción se corresponde con un compromiso.
Una vez que todos los jugadores han recibido los compromisos, revelan sus acciones, que se comparan con los compromisos correspondientes para asegurar que el compromiso es efectivamente la acción enviada. [2]
Inconvenientes
Como todos los jugadores deben esperar a que lleguen todos los compromisos antes de enviar sus acciones, el juego avanza tan lentamente como el jugador con mayor latencia. Aunque es posible que esto no se note 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 adquirir poniendo un límite en el tiempo en el que un jugador puede anunciar su acción. Si no se envía ninguna acción dentro de este período, otros jugadores no anuncian sus acciones a ese jugador e ignoran cualquier acción que llegue demasiado tarde.
Protocolo lockstep asincrónico
Para superar el obvio inconveniente del simple protocolo lockstep, existe una variante asincrónica del protocolo en la que los jugadores avanzan en el tiempo libres de negociaciones con otros jugadores hasta que existe interacción entre jugadores, conocido como "modo lockstep". Este modo puede estar definido por un área determinada alrededor de un jugador, como una esfera, en la que el mundo del juego puede verse afectado por el jugador.
Tal interacción solo puede ocurrir cuando, por ejemplo, las áreas de influencia que rodean a dos jugadores se cruzan.
enlaces externos
- Archers on a 28.8 , un artículo completo de Mark Terrano y Paul Bettner , quienes desarrollaron el protocolo de pasos de bloqueo para Age of Empires .
Referencias
- ^ Algoritmos y redes para juegos de computadora , Jouni Smed y Harri Hakonen
- ^ "Playout a prueba de trampas para juegos en línea centralizados y distribuidos" , Baughman y Levine, 2001