
Covid et Débug
Comme tout le monde en ce moment, je me retrouve en quarantaine pour luter contre la propagation du Coronavirus. Sauf que maintenant j'ai enfin internet, c'est moins la mort, alors on va en profiter pour débugger le mode online de Dragon Ball Devolution !
Fonctionnement technique du mode online
Comme expliqué dans un précédent article, quand Player 1 se met en host, un code lui est attribué. Ensuite Player 2 entre ce code pour demander au serveur de rejoindre la partie. Le serveur capte la demande et établi la connexion entre les deux ordinateurs distants. C'est tout. Dès lors, tout le jeu se fait en peer-to-peer, qui est une connexion directe entre les deux ordinateurs.
Donc si le jeu lag, cela n'a rien à voir avec moi ou mon site...
Ouverture de la chasse aux bugs !
Sur l'écran de choix du mode de jeux, il est précisé : "Fight online against a distant opponent (WIP)".
WIP veut dire Work In Progress. Le mode de jeu n'est donc pas totalement opérationnel. Mais les bugs dont je vais parler n'apparaissent qu'entre deux ordinateurs distants, ou ayant des propriétés de connexion peu banales. Je ne peux pas tester ça tout seul chez moi, car ces bugs n'apparaissent jamais dans ce cas. C'est pourquoi j'ai besoin de votre aide pour améliorer la situation.
Avant de continuer, veuillez vous assurer que vous jouez bien avec un navigateur internet compatible. En gros, utilisez Google Chrome.
Bugs en cours
🦠 Un écran VERSUS cassé apparait à la place de l'écran HOST/JOIN 🦠
Ce bug est répertorié avec sa solution dans le forum depuis deux mois. Ce n'est pas un problème de mon côté. Vous avez d'anciens fichiers dans le cache de votre navigateur. Il suffit de le nettoyer ou de jouer en mode incognito.
Je pensais qu'avec le temps ça se tasserait, mais beaucoup de personnes ont encore ce problème, je vais essayer de trouver une solution. En attendant, jouez simplement en mode incognito.
(Shift + Control + N, toujours sur Chrome)
Bugs résolus
L'adversaire s'appelle "null" dans l'écran Online Team Setup ✔️
Bloqué sur un écran grisé après avoir cliqué sur le bouton CONNECT ✔️
Ces deux bugs semblent être en relation. Le joueur HOST obtient le bug "null" tandis que le joueur Client reste coincé sur un écran grisé juste après avoir cliqué sur le bouton CONNECT.
Après plusieurs tests, il semble que ce problème vienne du fait que les deux joueurs soient derrière un NAT symétrique. Donc tout est normal, pour l'instant ce cas n'est pas géré par le serveur. Ce dernier ne peut pas établir la connexion entre les deux joueurs et c'est assez compliqué à mettre en place.
En attendant que je m'enquille une formation accélérée dans ce difficile domaine de compétence, vérifiez bien ce qu'il y a écrit juste en dessous de l'écran de jeu pour éviter de lancer une partie entre deux joueurs ayant un NAT Symétrique.
Juste en dessous
Mais j'aimerais quand même vérifier que ce soit vraiment toujours le cas. Ainsi, si l'un de ces deux bugs vous arrive alors que vous êtes derrière un NAT Normal, veuillez faire un screenshot et le poster sur le topic correspondant dans le forum.
Edit du 18/04/2020 : Bug réparé !
Avec une petite note cependant... Je considère que ce bug est résolu, dans le sens où j'arrive à rediriger le jouer sur l'écran d'erreur plutôt qu'il se retrouve avec le jeu planté. Mais le vrai souci vient directement du joueur et peut-être dû à l'un de ces problèmes techniques :
- Mauvais browser
- Port 80 bloqué
- JavaScript désactivé
- NAT symétrique
Et je ne peux rien faire de mon côté contre ça... C'est à vous de vous débrouiller.
L'adversaire se met à faire des pirouettes sur un des deux écrans ✔️
♪♫♪ You spin me round round baby right round ♪♫♪
Ce bug semble apparaitre à cause d'un problème de lag qui entraine une désynchronisation des évènements comme le close combat ou le ki clash. En soi, ce n'est pas vraiment bloquant, mais on va quand même essayer de réparer ça.
Comme pour les autres bugs, les informations se trouvent dans le forum.
Edit du 11/04/2020 : Bug réparé !
Le dernier combattant d'une équipe a 0 HP mais reste debout ✔️
Des fois, il arrive que le dernier combattant d'une équipe ne meurt pas. Et cela n'a absolument rien à voir avec un cheat code. Je suis toujours à la recherche d'informations sur ce drôle bug, afin de le comprendre et de m'en débarrasser une bonne fois pour toute.
Si vous avez des informations
Edit du 03/04/2020 : Bug réparé !
Voilà. Je sais que ce n'est pas facile, mais j'ai réellement besoin de retours constructifs sur ces différents sujets afin d'améliorer le jeu en ligne. Une fois que tout ça sera réparé, j'attaquerai la programmation d'un lobby directement dans Dragon Ball Devolution pour arrêter d'avoir à partager les codes de connexion dans le chatbox.
Et pour finir, si comme moi, vous êtes enfermé à la maison, n'oubliez pas de vous laver les mains et de participer au noob face contest !