JeuWeb - Crée ton jeu par navigateur
Mouvement et jeu en temps réel? - 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 : Mouvement et jeu en temps réel? (/showthread.php?tid=6706)

Pages : 1 2 3 4 5 6 7


RE: Mouvement et jeu en temps réel? - Argorate - 15-03-2013

Oui, peut être que ça joue un role que l'un soit l'hote Wink

Niahoo: on s'en fiche des animations, tu peux mettre une couche au dessus pour masquer un lag, ça empêche pas le fait que ça lag et que ça pose de fait des problèmes^^

Tenez nous au courant pour le test, svp !


RE: Mouvement et jeu en temps réel? - niahoo - 16-03-2013

tu confonds lag et ping. La latence c'est une réalité, tu ne peux pas faire autrement que de faire avec. Je disais simplement que c'était plutot pas mal comme appli.


RE: Mouvement et jeu en temps réel? - Sephi-Chan - 16-03-2013

On a réussi à lancer le jeu sur le serveur JeuWeb. Je laisse Maks faire le post mortem, mais faudra refaire ça une fois quelques fix appliqués. Wink


RE: Mouvement et jeu en temps réel? - Maks - 16-03-2013

Bon, déjà je remercie Sephi-Chan d'avoir rendu ce test possible Smile
On a eu quelques problème à l'installation à cause d'un problème de comptabilité avec la toute dernière version de Node. Il faut dire que je développe sous Windows (honte à moi) et le passage sous Linux a demandé quelques ajustements.
Passé ces quelques péripéties, on a réussi à installer les dépendances puis le jeu. Et force est de constater qu'entre le local et le serveur c'est pas la même histoire.
Bon il y a eu quelques bugs un peu bizarres (des erreurs JS que je n'ai pas sur mon PC) du coup on ne pouvait pas utiliser le clavier ahah. Heureusement on pouvait quand même faire des déplacements avec la souris, ce qui m'a permis de constater (sur ordi en tout cas) que les déplacements ne laggaient pas. Cependant j'avais du mal à voir Sephi sur la map, je le voyais même hors des cases où l'on est censé pouvoir se déplacer. Qui est plus est il avait visiblement plus de problèmes que moi à se mouvoir (en plus d'être la cible des mobs alentours - faut dire que je lui ai filé un perso pourri lol -).
Bref ce premier test n'est pas vraiment concluant et comme l'a dit Sephi mérite quelques fix Smile


RE: Mouvement et jeu en temps réel? - Argorate - 18-03-2013

très intéressant alors, reste plus qu'a comprendre d'où viennent les problèmes^^
En tout cas n'hésite pas a nous tenir au courant, les problèmes que tu rencontres, on les rencontrera sans doute aussi, donc c'est tjs sympa d'avoir un retour Wink

thx


RE: Mouvement et jeu en temps réel? - Xenos - 18-03-2013

Si vous coincez à cause de soucis de synchronisation, essayez de voir les mécanismes employés par supreme commander: dans ce jeu, chaque client se charge de faire tous les calculs de simulation de son coté, ce qui réduit énormément les échanges client-serveur. Les échanges ont alors lieu par intervalles réguliers, assez longs (genre 3 à 5 secondes). Je crois que, dans ce jeu, seuls les ordres des joueurs sont échangés via le réseau. Tout ce qui concerne la position des unités, le fait qu'elles tirent ou non sur l'ennemi, les déplacements, etc sont gérés par chaque client. Le serveur fait les mêmes calculs, de son coté, et le client vérifie de temps à autre s'il est synchronisé...

L'idée serait donc que le serveur possède des "points d'arrêts", ainsi qu'une liste des ordres des joueurs reçus depuis le dernier point d'arrêt. Le client ne demande alors que la liste des derniers ordres adversaires, et se synchronise avec le dernier point d'arrêt s'il a été modifié...

Bon, après, c'est vague, pas forcément le plus compréhensible, mais la technique a l'air efficace, puisque sup com tourne jusqu'à plusieurs miliers d'unités (~5.000 max) sans que le réseau n'explose.


RE: Mouvement et jeu en temps réel? - Maks - 18-03-2013

On a fait un deuxième test beaucoup plus concluant dans la foulée Smile
Les problèmes venaient surtout du manque de robustesse de mon code ! (dans la gestion des erreurs)
Il y aura un autre test (le week-end prochain ?), et j'ai créé un compte invité en plus de celui de Sephi et moi donc ceux qui veulent participer sont le bienvenue Smile

Xenos > C'est le principe de la prédiction non ?

Pour le moment, sur le second test, le lag n'empêchait pas de jouer. C'est motivant, mais à essayer avec plus de monde Smile (je pourrais mettre en place des stress test tiens pour voir).


RE: Mouvement et jeu en temps réel? - Xenos - 18-03-2013

C'est un poil plus loin que la prédiction, car on accepte que tous les joueurs n'aient pas exactement le même jeu (les unités sont aps forcément au "bon" endroit partout), mais ils ont tous les mêmes évènements principaux (mort/création d'une unité par exemple). C'est totalement inadapté à un FPS ou à un "T"PS (FPS en 3e personne), car ces jeux requièrent une grande précision sur l'espace qui est très proche du joueur (autrement dit, cela requiert que tous les joueurs aient le même jeu et que si A voit B alors B voit A), mais sur les jeux de stratégie c'est pleinement satisfaisant (inutile d'avoir exactement le même rendu de jeu, il suffit que les joueurs puissent comprendre la stratégie adverse).

Cela reviendrait donc à pousser le principe de prédiction au-delà de ce qu'on accepte en général: on considère que des erreurs de synchronisation sont acceptables, qu'il est possible qu'une unité tire sur une autre pendant un certain laps de temps, mais que cette unité ne meurt pas car, en fait, elle n'était pas censée être là...


RE: Mouvement et jeu en temps réel? - niahoo - 18-03-2013

Un FPS en troisième personne ? J'aime !


RE: Mouvement et jeu en temps réel? - Argorate - 18-03-2013

Le truc c'est que dans un vrai jeu, pour hacker le programme c'est un poil plus compliqué, Xenos. ^^
Là, si on fais ce que tu dis (tous laisser à la charge du client), avec la simple console de firebug, tu ruines le jeu en 10 secondes...
Quand c'est un jeu solo... si le joueur veux perdre l’intérêt du jeu, ça le regarde, passe encore, mais dans un multi, c'est juste et simplement de la triche en perspective...

Sinon Maks, je veux bien que tu me MP pour le lien, identifiant et heure du prochain test ! J'y participerais avec plaisir et grand interet, j'ai hâte de voir ce que ça donne.^^
En plus à 3 clients ça donnera un résultat encore différent de seulement 2.


PS: pour info, j'ai contacter les créateurs de bombermine pour savoir si un partage du code, ou des tuto ou répondre au simple question technique était envisageable.
Réponse: "notre codeur est pour l'instant occupé, peut être plus tard..." Sad