Experience Underflow Glitch

Version : R/B/J

Un glitch très facile à réaliser mais nécessitant des glitches plus compliqués, qui permet à vos Pokémon de gagner 99 niveaux d'un coup !
Rédacteur : Krys3000
This glitch is also available in English at our partner Glitch City Labs: click here

/!\ IMPORTANT : Il est recommandé de lire notre dossier sur la corruption de mémoire pour comprendre correctement l'application de ce glitch à certains Pokémon.

Cette page vous apprendra un "glitch", qui en fait est un sous-produit d'autres glitches. Il est présent sur notre site depuis toujours, mais au sein d'autres pages de glitches qui peuvent le provoquer, mais nous avons finalement décidé qu'il serait intéressant qu'il ait sa propre page. C'est très facile à comprendre et il n'y a quasiment rien à faire, son placement parmi les "Techniques avancées" pourra donc vous surprendre, mais il se justifie car malheureusement, vous serez obligé de recourir à d'autres glitches pour le déclencher !

Ce glitch permet de monter un Pokémon du niveau 1 au niveau 100 en un combat. Cela marche avec tous les Pokémon mais une partie d'entre eux seulement peuvent déclencher ce glitch directement. Ce sont les Pokémon suivant :

Identifiant Décimal Nom
001 99 153 Bulbizarre
002 09 9 Herbizarre
003 9A 154 Florizarre
004 B0 176 Salamèche
005 B2 178 Reptincel
006 B4 180 Dracaufeu
007 B1 177 Carapuce
008 B3 179 Carabaffe
009 1C 28 Tortank
016 24 36 Roucool
017 96 150 Roucoups
018 97 151 Roucarnage
029 0F 15 Nidoran♀
030 A8 168 Nidorina
031 10 16 Nidoqueen
032 03 3 Nidoran♂
033 A7 167 Nidorino
034 07 7 Nidoking
043 B9 185 Mystherbe
044 BA 186 Ortide
045 BB 187 Rafflésia
060 47 71 Ptitard
061 6E 110 Tétarte
062 6F 111 Tartard
063 94 148 Abra
064 26 38 Kadabra
065 95 149 Alakazam
066 6A 106 Machoc
067 29 41 Machopeur
068 7E 126 Mackogneur
069 BC 188 Chetiflor
070 BD 189 Boustiflor
071 BE 190 Empiflor
074 A9 169 Racaillou
075 27 39 Gravalanch
076 31 49 Grolem
092 19 25 Fantominus
093 93 147 Spectrum
094 0E 14 Ectoplasma
151 15 21 Mew

Pour les autres Pokémon, il vous faut, dans tous les cas, commencer par avoir un de ceux-ci ! La vraie difficulté est donc d'avoir un de ces Pokémon au niveau 1, puisqu'il n'existe aucun Pokémon sauvage à ce niveau. Pour cela, vous devez utiliser un autre glitch, au choix :

  • Le plus facile est de passer par le Ditto Trick pour capturer directement un de ces Pokémon en baissant son niveau par 6 utilisations d'une Attaque qui diminue la FOR sur le Métamorph (Rugissement est l'attaque parfaite pour ça ; lisez l'article du glitch pour plus d'informations et la marche à suivre !)
  • Vous pouvez aussi opter pour le Cooltrainer/LOL Glitch qui offre la possibilité de capturer n'importe quel Pokémon en choisissant le niveau (grâce à la tuile d'Identifiant $01). Mais bien sûr vous pouvez utiliser ce glitch pour accéder directement au niveau 100...

IMPORTANT : Il ne faut jamais stocker un Pokémon de niveau 1 dans le PC, sinon ça plantera lorsque vous le retirerez !

Passer au niveau 100 un des Pokémon ci-dessus

Les Pokémon ci-dessus appartiennent tous au groupe d'expérience appelé "Parabolique". Pour tout ces Pokémon, le glitch peut-être utilisé directement. Il vous suffit de l'envoyer au combat et d'y gagner moins de 54 points d'expérience (faites-le donc contre un Pokémon assez faible). Alors, le Pokémon passera directement au niveau 100 !

Monter de niveau un autre Pokémon

Pour les autres Pokémon, il faudra passer par une voie indirecte, et deux méthodes existent pour cela qui impliquent toutes deux de capturer d'abord un Pokémon du groupe "Parabolique" (peu importe lequel).

La première méthode passe par la corruption Super Glitch, exactement de la même façon que vous l'utilisez dans le cadre du Fossil Conversion Glitch. Plutôt que de faire un stupide copier-coller, nous vous laissons lire la page de ce glitch. Il n'est évidemment pas question de placer à la 33ème position un Pokémon avec un certain niveau de FOR comme c'est le cas dans le cas spécifique de ce glitch. Vous n'aurez ici besoin que de votre Pokémon "Parabolique" au niveau 1 en 6ème position.

NOTE : Il n'est pas nécessaire d'obtenir 124 Pokémon dans l'équipe - vous pouvez donc directement utiliser 27 lettres au lieu de 28, comme indiqué dans l'étape 3, pour obtenir seulement 16 Pokémon. Cela vous évite une étape supplémentaire.

Une fois les 16 (ou 124) Pokémon obtenus, intervertissez les Pokémon 6 et 10 : le nombre de PV du premier Pokémon de votre équipe devient alors la conversion en décimal de l'Identifiant du Pokémon "Parabolique" (que vous trouverez dans le tableau ci-dessus).

Vous allez maintenant devoir faire baisser ou monter les PV du premier Pokémon pour atteindre la valeur correspondant à l'Identifiant du Pokémon voulu (que vous trouverez dans notre correspondance). Intervertissez de nouveau les deux Pokémon, et votre Pokémon "Parabolique" aura été transformé en le Pokémon voulu, tout en conservant son niveau de 1.
Ensuite, c'est pareil : gagnez moins de 54 points d'expérience pour monter de niveau. Attention, en utilisant cette méthode, vous n'atteindrez pas le niveau 100, mais, selon le Pokémon, le niveau 91, 98, ou 105 !

Si vous ne souhaitez pas recourir à cette méthode, ou que vous souhaitez absolument arriver au niveau 100, il faudra utiliser l'autre méthode, qui passe par le Arbitrary Code Execution. Voici un code qui permettra de transformer n'importe quel Pokémon "Parabolique" situé en première position de l'équipe, quelque soit son Identifiant, en un autre Pokémon.

  1. N'importe quel objet
  2. 7EME ETAGE / 3EME ETAGE / ws*l’||lm||
  3. PierreFoudre x105 (x104 dans Jaune)
  4. CT09 x82
  5. Limonade x(Identifiant du Pokémon voulu, en décimal)
  6. Huile x119
  7. Précision + x112 (x111 dans Jaune)
  8. Attaque + x119
  9. CT01 x(quantité quelconque)

Il faudra ensuite de la même façon gagner moins de 54 points d'expérience en combat. Avec cette méthode, le Pokémon atteindra le niveau 100 dans tous les cas ! Attention, les Pokémon obtenus seront des hybrides instables, comme dans le Q Trick. Il faudra donc les stabiliser si vous comptez les échanger, en utilisant les méthodes indiquées sur la page de ce glitch.

Explications techniques

La raison pour laquelle ce glitch fonctionne est un incroyable choix de programmation effectué par Game Freak à l'époque de la sortie du jeu. Ils ont décidé de répartir les Pokémon dans 4 groupes distincts. Chaque groupe dispose d'une formule mathématique différente pour le calcul de l'expérience nécessaire à la prise d'un niveau. L'objectif était alors, par exemple, que les Pokémon légendaires ou ayant deux évolutions soient plus difficiles à monter au niveau 100 que les Pokémon n'ayant qu'une ou pas du tout d'évolution. Si vous voulez creuser un peu le sujet, consultez l'article de Poképedia.

Afin d'obtenir une courbe de progression qui corresponde à leur envie pour le groupe "Parabolique", les développeurs ont crée une formule qui donne un nombre d'Expérience négatif au niveau 1. Ainsi, au niveau 1, les Pokémon de ce groupe ont... -54 points d'expérience ! Seulement, il ne faut pas oublier que nous sommes dans un jeu Game Boy, avec une mémoire RAM comprenant des adresses, chaque adresse pouvant prendre une valeur hexadécimale entre 00 et FF. Il n'y a aucun nombre négatif là-dedans. Si vous avez lu les explications techniques d'autres glitches comme item underflow glitch et notre introduction vous savez qu'au-delà de FF (255 en décimal) on retombe à 0 (qui est donc équivalent de 256). Cela marche aussi dans le sens contraire : -54 représente 54 unités en-dessous de "00", donc 53 unités en-dessous de "FF"...

L'expérience d'un Pokémon est déterminé par trois adresses successives. Dans le cas d'un Pokémon "Parabolique" au niveau 1, cette expérience serait donc de FF FF CA à cause de cette caractéristique très particulière qui le fait débuter en-dessous de 00 00 00. Le problème c'est que ce nombre est évidemment également équivalent à 16777162 points d’expérience ! Lors que vous faites combattre un Pokémon de ce type, si vous gagnez 54 points ou plus ce n'est pas un problème ; vous repasserez à 00 00 00 ou au-dessus et donc, le niveau sera calculé correctement. Si vous gagnez moins par contre, au moment du calcul du niveau en fonction de l'expérience, comme vous êtes toujours à FF FF xx points (donc plus de 16 millions). Le jeu pense donc que vous avez atteint le niveau correspondant avec cet incroyable taux d'expérience... et vous réalisez donc l'ascension de niveaux la plus rapide de l'histoire :)

Le plus fou dans cette histoire c'est que Game Freak étant au courant depuis le début du problème, plutôt que de trouver une autre formule, ils ont préféré purement et simplement supprimer le niveau 1 de leur jeu. C'est à cause de ce glitch qu'aucun Pokémon au niveau 1 ne se retrouve dans la nature. Encore plus incroyable, lors de la création de la deuxième génération, ils n'ont pas sauté sur l'occasion de refaire ce système et le glitch y existe encore, préférant faire éclore les Pokémon directement au niveau 5 plutôt que de corriger le glitch. Il faudra attendre la troisième génération pour que Game Freak se décide à changer le système de gain d'expérience. Il faudra toutefois attendre encore la génération suivante pour que les œufs éclosent au niveau 1... on est pas pressé, chez Game Freak !

Terminons par un mot sur la façon dont nous exportons ce glitch à des Pokémon des autres groupes. Nous avons déjà détaillé la façon dont la corruption Super Glitch permet d'avoir plus de 6 Pokémon dans la page du Fossil Conversion Glitch. Vous savez aussi si vous avez lu ce glitch, que déplacer certains Pokémon au-delà de la 6ème position permet de modifier la valeur des adresses qui suivent les Pokémon de l'équipe. Normalement, la mémoire du jeu contient les Identifiants des 6 Pokémon de votre équipe (adresses $D169 à $D16F) suivi du détail des informations de ces Pokémon (à partir de $D171 pour le Pokémon 1). Si vous avez plus de 6 Pokémon, l'Identifiant du Pokémon 10 est déterminé par l'adresses $D173, logiquement 4 adresses après l'Identifiant du Pokémon 6. Cette adresse est également utilisée pour les PV du Pokémon 1. En déplaçant votre Pokémon "Parabolique" à la 10ème position, vous affectez donc l'Identifiant de celui-ci dans l'adresse mémoire des PV du Pokémon 1. Et en modifiant les PV de ce Pokémon, vous changez l'Identifiant du Pokémon désormais en 10ème.

Il est à noter que pour chaque Pokémon, deux adresses commandent leurs Identifiants, comme nous l'avons aussi précisé dans les explications du Q Trick : une seconde adresse est intégrée au détail des informations du Pokémon. Avec la méthode Super Glitch, vous ne modifiez pas celle-ci. Par contre, si vous utilisez le code 8F, spécialement crée pour modifier les deux adresses à la fois, ce sera le cas. En ayant les deux adresses modifiées, vous piquez aussi le groupe d'expérience "Parabolique" ce qui explique que vous passez au niveau 100 avec ce glitch alors que ce n'est pas le cas pour les autres groupes normalement.


Page Précédente : Arbitrary Code Execution
Page suivante : Skip to Level 100 Glitch