Sono uno sviluppatore di giochi per principianti e ho fatto ricerche sui giochi multiplayer. Ho osservato che c'è sempre un po 'di latenza, i giocatori ricevono sempre aggiornamenti dalle azioni passate. Ma ci sono tecniche come la resa dei conti morta per gestire la latenza. Posso prevedere il movimento e rendere i movimenti fluidi. Ma come farei sincronizzare le azioni come saltare, smettere di camminare, ecc.
Supponiamo che il cliente A si stesse muovendo, era a 100m a 10,2 volte con una velocità di 100m / sec e ha inviato queste informazioni. Il cliente B riceverà queste informazioni un po 'più tardi, lascia che sia 10.4. Quindi sul client B, posso usare la previsione e posizionare il client A a 120m. E se il cliente avesse fatto un salto a 110m alle 10.3. Non posso prevederlo e dal momento che ho usato la previsione non posso mostrare al cliente un salto nel passato.
Potrei affrontare questo problema non inviando alcuna azione di salto. E se il mio gioco avesse dei vuoti in cui i giocatori potevano cadere e morire. Quindi, se non sincronizzo le azioni di salto, gli altri giocatori osserveranno che un giocatore stava correndo, quindi cade nel vuoto e quindi appare di nuovo sullo schermo distruggendo l'impegno visivo.
Il salto è solo un esempio, potrebbero esserci molti scenari in cui la previsione non può funzionare. Quindi, come gestirli. Uno di questi esempi può essere quello di giochi di arena di battaglia multiplayer online come Awesomenauts.