Sou desenvolvedor de jogos iniciante e tenho pesquisado sobre jogos multiplayer. Observei que sempre há alguma latência, os jogadores sempre recebem atualizações de ações passadas. Mas existem técnicas como o ajuste de contas morto para lidar com a latência. Eu posso prever o movimento e suavizar os movimentos. Mas como eu faria ações sincronizarem como pular, parar de andar etc.
Suponha que o cliente A estivesse em movimento, ele estava a 100m às 10,2 vezes com velocidade de 100m / s e enviou essa informação. O cliente B receberia essas informações um pouco mais tarde, digamos 10.4. Portanto, no cliente B, posso usar a previsão e colocar o cliente A a 120m. Mas e se, o cliente deu um salto a 110m às 10.3. Não posso prever isso e, desde que tenho usado a previsão, não posso mostrar o salto do cliente A no passado.
Eu posso lidar com esse problema não enviando nenhuma ação de salto. Mas e se o meu jogo tiver alguns vazios em que os jogadores possam cair e morrer. Portanto, se eu não sincronizar ações de salto, outros jogadores observarão que um jogador estava correndo e ele será anulado e novamente aparecerá na tela destruindo o engajamento visual.
O salto é apenas um exemplo; pode haver muitos cenários em que a previsão não pode funcionar. Então, como lidar com eles. Um exemplo pode ser os jogos multiplayer online de arena de batalha, como o Awesomenauts.