Desync Glitch

Version : R/B/J

Ce glitch provoque des erreurs dans l'interprétation qui est faite des données échangées entre consoles lors d'un combat link. Il n'est pas utile en soi, mais peut mener à une variété d'effets surprenants !
Rédacteurs : Tigali et ISSOtm
Remerciements à Crystal_ et thelinekioubeur
This glitch is also available in English at our partner Glitch City Labs: click here and here

Pendant un combat link, il est possible de désynchroniser le combat : les informations échangées par les deux Game Boy sont alors interprétées différemment par chacune, et la partie se transforme rapidement en deux combats différents et glitchés. Ces effets ne sont pas exploitables et peuvent même être dérangeants lorsque déclenchés sans faire exprès, ce qui est tout à fait possible. Une fois que le mal est fait, une grande variété d'effets impliquant des attaques et Pokémon pouvant être glitchés peuvent se produire.

Déclenchement du glitch

Il existe cinq méthodes, plus ou moins faciles à mettre en œuvre et résultant d'erreurs ou de négligences dans la programmation, pour déclencher la désynchronisation d'un combat link.

Méthode du dégel

En dégelant votre adversaire (par exemple avec une attaque feu) en jouant votre tour en premier, vous provoquerez une désynchronisation. En effet, le joueur adverse n'a pas pu sélectionner d'attaque à utiliser, mais son Pokémon va quand même attaquer. Ceci est déjà un glitch en soi, mais ce qui va suivre est la véritable cause de la désynchronisation : chaque console va déterminer différemment l'attaque à lancer (qui peut être glitchée ou non), et elles ne vont donc pas lancer la même.

Méthode Vague Psy

L'attaque Vague Psy inflige des dégâts variables : en temps normal, elle ne peut infliger 0 dégâts que si c'est l'adversaire qui la lance, et pas le joueur ; le cas échéant, un nouveau calcul est effectué. En combat link, cela se traduit par le fait qu'une des consoles va réeffectuer le calcul et infliger les dégâts, tandis que l'autre restera sur 0, provoquant de fait une désynchronisation.

Méthodes Patience

Deux problèmes liés à l'accumulation de dégâts de Patience peuvent être exploités pour une désynchonisation.

  • Si un adversaire utilise Patience mais que vous mourrez avant qu'il n'attaque, les dégâts accumulés sont effacés. Par contre, une négligence dans le code fait que si vous utilisez Patience et que vous mourrez avant de lancer, une partie des dégâts accumulés est conservée (au maximum 255). Utiliser Patience de nouveau par la suite fait donc repartir l'accumulation à partir de ce nombre au lieu de 0.
  • À cause d'un défaut d'actualisation de l'adresse mémoire correspondante, lorsqu'un joueur utilise certaines capacités de statut, à savoir Adaptation, Buée Noire, Téléport, Brume, Puissance, Morphing, Mur Lumière, Protection, Clonage, Copie, Vampigraine et Trempette, ainsi que les capacités causant le poison, la paralysie, la confusion ou le soin, ou bien switche son Pokémon, la Patience lancée par son adversaire va de nouveau ajouter à son compteur les dégâts de la dernière attaque offensive utilisée. De plus, la même adresse n'étant pas actualisée au début ou à la fin d'un combat, ces dégâts peuvent être repris d'un affrontement précédent.

Ces négligences peuvent provoquer une différence dans les dégâts causés par Patience dans les deux jeux d'un combat link, et si un Pokémon est mis K.O. par cette différence dans un des jeux, le combat se désynchronise.

Méthode Riposte

L'attaque Riposte ne fonctionne que si la dernière attaque de l'ennemi est de type Normal ou Combat et a infligé des dégâts. Le truc, c'est que les adresses mémoires qui gèrent ces données sont mises à jour avant même de lancer une attaque, simplement quand vous passez le curseur dessus ! Si vous utilisez une attaque Normal, puis passez le curseur sur une attaque Glace avant de changer de Pokémon, l'attaque Riposte ennemie ne fonctionnera pas. Le problème, c'est qu'en combat link, le jeu adverse ne garde pas en mémoire le mouvement du curseur et ne reçoit l'info qu'une fois l'attaque utilisée dans votre jeu. Du coup, si vous effectuez ce mouvement de curseur, un des deux jeux n'en tiendra pas compte : l'attaque sera effective dans un jeu et loupée dans l'autre, ce qui désynchronise le combat.

Méthode Mimique

Cette méthode requiert un Pokémon connaissant Mimique et, du côté de son adversaire, un Pokémon connaissant Étreinte, Danseflamme, Ligotage ou Claquoir, ainsi qu'on Pokémon de très faible niveau pouvant être mis K.O. en un coup par l'une des capacités susmentionnées. Si le Pokémon avec Mimique est plus rapide, son adversaire doit lancer l'attaque piège et attendre qu'il s'en libère ; dans le cas inverse, l'attaque piège doit échouer et le Pokémon ciblé utiliser Mimique juste après. Le Pokémon avec l'attaque piège doit ensuite être échangé avec le Pokémon faible, et ce dernier vaincu par l'attaque piège copiée. Si la procédure a fonctionné correctement, l'attaque va échouer chez le premier joueur et mettre K.O. le Pokémon du second, provoquant la désynchonisation.

Explications techniques

Quand deux systèmes informatiques communiquent, le cas de figure général est que l'un fait office de serveur (il effectue les calculs) et l'autre de client (il ne fait que recevoir). Or, les combats link n'ont pas été programmés ainsi ; les deux consoles effectuent leurs propres calculs et ne se synchronisent qu'au début du combat, pour ajuster leur RNG. Au delà de ce moment, elles ne se transmettent que des octets de données sans aucun contexte. Ainsi, elles simulent dans les faits deux combats différents, et l'illusion qu'il ne s'agit que d'une seule et même bataille est maintenue par les choix d'action des joueurs qui sont transmis d'un système à l'autre. Tant que le combat se déroule de la même façon des deux côtés, tout se passe bien ; c'est quand les consoles commencent à avoir des comportements différents que les problèmes démarrent. Comme dit précédemment, les données numériques transmises entre Game Boy n'ont pas de contexte, et si les consoles ne sont pas dans le même état, elles vont être interprétées différemment. Par exemple, si un Pokémon est K.O. chez une personne et pas chez l'autre, la première va envoyer à la seconde des données correspondant au Pokémon qui va le remplacer, mais la seconde, considérant le Pokémon toujours en vie, va interpréter ces données comme l'identifiant de la prochaine attaque de son adversaire. À partir de là, la situation ne peut qu'empirer à chaque action.


Page Précédente : Glitches Mineurs 1G
Page suivante : Clonage