Soy un desarrollador de juegos para novatos y he estado investigando sobre juegos multijugador. Observé que siempre hay algo de latencia, los jugadores siempre reciben actualizaciones de acciones pasadas. Pero hay técnicas como el cálculo de muertos para manejar la latencia. Puedo predecir el movimiento y hacer movimientos suaves. Pero, ¿cómo sincronizaría las acciones como saltar, dejar de caminar, etc.
Supongamos que el cliente A se estaba moviendo, estaba a 100m a 10.2 con una velocidad de 100m / seg y envió esta información. El cliente B recibiría esta información un poco más tarde, deja que sea 10.4. Entonces, en el cliente B, puedo usar la predicción y colocar el cliente A a 120 m. Pero, ¿y si, el cliente hizo un salto a 110m a 10.3. No puedo predecir eso y, como he estado usando predicciones, no puedo mostrar al cliente A un salto en el pasado.
Puedo resolver este problema al no enviar ninguna acción de salto. Pero, ¿y si mi juego tiene algunos vacíos donde los jugadores pueden caer y morir? Por lo tanto, si no sincronizo las acciones de salto, otros jugadores observarán que un jugador estaba corriendo, entonces él cae en el vacío y luego aparece nuevamente en la pantalla destruyendo el compromiso visual.
Jump es solo un ejemplo, puede haber muchos escenarios donde la predicción no puede funcionar. Entonces, ¿cómo lidiar con ellos? Un ejemplo de esto puede ser un juego de arena de batalla multijugador en línea como Awesomenauts.