[RBJ]Quelques glitchs de combats

Cet espace vous permet de discuter des glitches pokémon de façon générale. Vous pouvez créer des sujets à propos de glitches répertoriés sur le site, mais aussi discuter de ceux qui n'y ont pas leur place, comme les erreurs graphiques ou les glitches ne fonctionnant pas sur version française. Attention, tout ajout à un contenu existant doit se faire sur le forum "Soumettre une contribution" !
Avatar du membre
thelinekioubeur
Glitchologue confirmé
Messages : 108
Enregistré le : mar. 3 juin 2014 10:02

Re: [RBJ]Quelques glitchs de combats

Message par thelinekioubeur » mer. 30 nov. 2016 00:38

C'est du beau boulot ! Je n'aurais pas su expliquer ces glitchs aussi bien.

Une précision concernant la désynchronisation : les game boy communiquent toujours, seulement le combat se trouve dans 2 états différents.

Par exemple lors du dégel d'un Pokémon plus lent, il lancera en général des attaques différentes sur les deux game boy (voir ce topic). Je me souviens quand ça m'est arrivé, Leveinard avait lancé Tonnerre sur une game boy (c'était sur émulateur mais osef) et Cage-éclair sur l'autre. Je me suis retrouvé donc avec un Tauros blessé sur la première, et paralysé mais full-life sur la deuxième.
Par la suite les 2 game boy semblent continuer normalement, mais comme elles sont dans des états différents, un Pokémon peut être mis KO sur une game boy mais pas sur l'autre : c'est là qu'une sorte de Pokémon bug peut apparaître et que ça deviens vraiment n'importe quoi.
Puis si on est face à un Pokémon bug, l'attaque lancée sera (je pense) en fonction de celle choisi par l'adversaire : s'il choisi sa première attaque, le Pokémon bug devrais lancer une attaque selon se qui se trouve à l'adresse mémoire de la première attaque (c'est l'idée que je m'en fais mais ça semble logique, non ?).
Un combat désynchronisé peut se terminer à ma connaissance, même si ça peut être compliqué avec tout ces bugs.

Et comme si ce n'était pas assez WTF, une désynchronisation peut aussi causer un décalage du générateur de nombres pseudo-aléatoires (RNG). En effet, pour limiter les données qui doivent transiter, les game boy calculent chacune de leur côté les nombres aléatoires nécessaires (le RNG étant initialisé communément au début du combat).
Par exemple supposons que le Pokémon dégelé lance Psyko sur une game boy et Soin sur l'autre : sur la première game boy, Psyko cause trois appels au RNG : un pour le test de précision (255/256 pour cette attaque), un pour la probabilité de faire un coup critique, et un pour la probabilité de diminuer le Spécial de l'adversaire (~30%). Sur la deuxième, Soin n'a besoin d'aucun nombre aléatoire. Le RNG est maintenant décalé, et par exemple un Pokémon fera peut être un coup critique sur une game boy et pas sur l'autre.

Répondre