Voilà, je developpe un petit jeu en réseau avec TV3D et j'aimerai savoir qu'elle était la meilleurs approche pour envoyer les infos (position joueur, tir) du client vers le serveur (qui me les renvoie me permettant d'updater mon propre perso à l'écran).
Pour l'instant, j'envoi au serveur toutes les 2 ms un paquet (UDP) contenant le message suivant "déplacement_avant_arriere+deplacement_lateral+tir".
Par exemple, si j'ai appuyé sur la flèche UP, le paquet contiendra le message "1+0+0", voulant dire que la variable déplacement_avant est sur 1), le personnage avance (tout seul grâce à la "loop" de mon jeu) jusqu'au prochain paquet reçu contenant le message "0+0+0" car j'ai relaché la touche UP, stoppant l'avancée du joueur.(ensuite même chose pour le déplacement latéral, puis presque la même chose pour le tir)
Donc dans mon jeu, il n'y a pas de prédiction, cet à dire que mon propre perso à l'écran n'avance que par les messages retournés du serveur, je n'anticipe pas le mouvement ou l'action sur mon PC. Donc, j'appui sur la touche T -> envoi au serveur -> le serveur me retourne mon propore ordre "T" -> mon perso tir sur mon écran. Il y a donc une latence du au trajet.
Ce modèle fonctionne pas trop mal pour l'instant sur mon PC en "localhost" mais j'ai un doute sur sa perénité en vrai réseau où le délai sera parfois plus long entre client -> serveur-> client.
Dans les jeux actuels, il y a de la prédiction, est-ce obligatoire pour un jeu plus modeste.
Tout celà afin de peser le niveau de difficuté et savoir si je persevère ou j'arrête le online pour plus abordable.
Partager