JeuWeb - Crée ton jeu par navigateur
Client-side prediction - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : Client-side prediction (/showthread.php?tid=6238)

Pages : 1 2


RE: Client-side prediction - Maks - 05-07-2012

(05-07-2012, 07:17 AM)Ter Rowan a écrit : Je vais reformuler

La tel que je vois le code j ai li pression que jamais le serveur n envoie la position du perso a son joueur (aux autres oui, a lui non)

Du coup je repose ma question : quand le serveur dit au joueur ou est son propre perso ?

Ah d'accord j'avais pas compris ^^

C'est dans la socket 'checkState' dans mon exemple.
Seulement tu as raison, je vérifie l'état de la totalité des joueurs mais peut être ne vérifier que l'état du joueur du client est suffisant Smile

Citation :SI tu veux des anim fluides, je pense que c'est loin d'être useless au contraire. Dans mon jeu on dirigera des petits vaisseaux, quand on cliquera sur un point de la carte pour que le vaisseau s'y rende, je ferai partir l'anim immédiatement en direction de ce point et le serveur renverra ensuite un point plus proche (si j'ai cliqué sur un obstacle), ou légèrement décalé.

Si je comprends bien, ton astuce est surtout cosmétique : tu caches le lag avec une animation mais tu ne mets à jour les coordonnées uniquement lorsque tu reçois l'info du serveur ?


RE: Client-side prediction - niahoo - 05-07-2012

Oh ben pour l'instant je ne fais rien du tout Smile mais en fait c'est plus compliqué dans mon concept, parce que je gère avec des cap (ce sont des bateaux en quelque sorte).

Quand tu cliques sur l'endroit ou tu veux te rendre, le client commence l'animation, le controlleur reçoit la demande de déplacement, calcule le cap et balance à à la zone qui gère le vaisseau (une zone calcule les positions, vitesses, etc. des vaisseaux dans une même zone géographique).

Ensuite, la zone va renvoyer au client (notament dès qu'elle est mise à jour lors du clic) la position de son vaisseau à un temps X et sa vitesse toutes les Y secondes afin que le client puisse continuer l'animation.

Quand le client reçoit une position, il déplace le visuel du vaisseau au bon emplacement en fonction de sa position au temps X , de sa vitesse et de son cap