Nous construisons un jeu multijoueur en temps réel, dans lequel chaque joueur est responsable de signaler son état à chaque itération de la boucle de jeu.
Les mises à jour d'état sont diffusées à l'aide d' UDP non fiable .
Pour minimiser l'envoi de données d'état, nous avons mis au point un système qui n'enverra que des deltas (quelles que soient les données d'état modifiées).
Cette méthode est cependant imparfaite, car un paquet perdu signifie que les autres joueurs ne recevront pas le delta, ce qui rendra le jeu inattendu.
Par exemple:
Supposons que cet état se compose de: {positionX, positionY, health}
Frame 1 - positionX changed --> send a packet with positionX only.
Frame 2 - health changed // lost !
Frame 3 - positionY changed --> send a packet with positionY only.
// Les autres joueurs ne connaissent pas le changement de santé.
Comment peut-on alors surmonter ce problème? l'envoi de l'intégralité des données n'est pas toujours possible.