Sto lavorando a un gioco mobile Unity, proprio come una versione multiplayer di Temple Run . Sto vedendo una latenza di rete fluttuante (generalmente 200-500ms) a causa della piattaforma mobile.
I personaggi dei due giocatori vengono mostrati correndo lungo lo stesso percorso e devono compiere azioni semplici (salto, scorrimento, power-up, ecc.) Per superare gli ostacoli.
Quando un messaggio arriva in ritardo, il gioco presuppone che il giocatore remoto abbia superato un ostacolo. Questo di solito funziona bene, ma nel caso in cui un giocatore venga ucciso da un ostacolo, voglio che il giocatore remoto appaia morire sullo stesso ostacolo / posizione del giocatore locale. A causa della latenza, il giocatore remoto sembra aver attraversato l'ostacolo prima ancora che arrivi il messaggio che annuncia la sua morte.
Come posso mantenere sincronizzati i giocatori?
Ho provato a spostare immediatamente il giocatore remoto nella posizione di morte dei giocatori locali quando arriva il messaggio di morte, sembra imbarazzante visivamente e potrebbe sollevare altri problemi di sincronizzazione.