Bug de la rive droite de Cramois'île
Le bug de la rive droite de Cramois'Île (ou Old Man Glitch en anglais, en référence au vieil homme qui déclenche ce bug) est un bug des jeux Pokémon Rouge et Bleu.
Description[modifier]
Ce bug permet d'avoir des Pokémon à un niveau supérieur à 100 et aussi de rencontrer les Pokémon bugs MissingNo. et 'M plus rapidement qu'avec le bug du Métamorph et de rencontrer les Pokémon du Parc Safari sans qu'ils ne puissent fuir.
Il est apparu à cause d'une erreur faite lors de la localisation des jeux pour la sortie internationale, et n'est donc ni présent dans Pokémon Rouge et Vert, ni dans Pokémon Bleu (Japon) qui a pourtant servi de base mécaniquement pour Pokémon Rouge et Bleu. Le bug a également été corrigé dans les traductions espagnole et italienne du jeu.
Dans la version française, le jeu plante sur un écran noir dès qu'il est censé rencontrer 'M ou certaines variantes de MissingNo. (les seuls MissingNo. qui peuvent être rencontrés via ce bug sont les formes fossile de Kabutops, fossile de Ptéra et spectre). C'est donc seulement dans les versions anglaise et allemande que ce bug peut être exploité de manière toujours optimale.
Ce bug ne fonctionne également pas dans toute version de Pokémon Jaune, étant corrigé : la rive droite n'est plus une zone de capture.
Manœuvre[modifier]
Rencontrer des Pokémon de niveau supérieur à 100[modifier]
Le principe est simple.
- Tout d'abord, aller à Jadielle et parler au vieil homme qui enseigne comment capturer un Pokémon.
- Répondre « non » à sa question. Il montrera ensuite comment capturer un Pokémon.
- Voler à Cramois'Île, surfer sur la rive droite de haut en bas.
Si cette démarche a été suivie, des Pokémon sauvages à des niveaux supérieurs à 100 apparaîtront. Mais si un de ces Pokémon a été entraîné et monte d'un niveau (ce qui ne nécessitera qu'un seul point d'expérience), son niveau redescendra directement à 100. Le seul moyen pour qu'il monte de niveau reste les Super Bonbon.
Les Pokémon rencontrés qui seront à un niveau supérieur à 100 dépendent du nom du joueur (détail dans la section suivante).
Utilisation d'un nom personnalisé[modifier]
Si vous appelez votre Dresseur Laurent :
- L : la première lettre ne sert à rien ;
- a : un Pokémon au niveau 160 ;
- u : Dracaufeu ;
- r : un Pokémon au niveau 177 ;
- e : Galopa ;
- n : un Pokémon au niveau 173 ;
- t : Carabaffe.
Il y aura donc :
- soit un Dracaufeu au niveau 160 ;
- soit un Galopa au niveau 177 ;
- soit un Carabaffe au niveau 173.
Utilisation d'un nom préenregistré[modifier]
Choisir un nom préenregistré va aboutir à un résultat different d'un nom personnalisé. Écrire un nom personnalisé identique à un nom préenregistré ne donnera pas le même résultat que d'avoir choisi directement le nom préenregistré.
Les noms préenregistrés fonctionnement différemment parce qu'ils sont rangés l'un après l'autre dans les données de jeu, séparé à la fin par marqueur de nom, alors qu'un nom personnalisé n'est suivi que par des zéros après ce marqueur de nom. Dans Pokémon Rouge français, le nom du joueur est rangé comme ceci :"RED<end>SACHA<end>PAUL<end>NOM:"; alors que dans Pokémon Bleue, le nom du joueur est rangé comme cela : "BLUE<end>REGIS<end>JEAN<end>NOM:".
Vu que les noms dépassent la limite des sept caractères, le neuvième et le onzième caractères peuvent aussi être utilisés pour déterminer le Pokémon sauvage, leurs niveau étant déterminés par le huitième et dixième caractères respectivement. Ces caractères sont souvent vides lorsqu'on utilise un nom personnalisé, pouvant faire planter le jeu. Les versions françaises n'autorisent pas l'apparition du Pokémon MissingNo sans qu'il ait une image associée. La bouillie de pixels célèbres n'apparaît pas dans de nombreux jeux Pokémon français. Les caractères au-delà du onzième sont ignorés.
Pokémon version Rouge[modifier]
Le tableau ci-dessous n'a pas été vérifié, mais s'il suit la logique des jeux anglais, alors voici les Pokémon trouvables en choisissant les noms préenregistrés suivants:
Nom | Niveau-1 | Pokémon-1 | Niveau-2 | Pokémon-2 | Niveau-3 | Pokémon-3 | Niveau-4 | Pokémon-4 | Niveau-5 | Pokémon-5 |
---|---|---|---|---|---|---|---|---|---|---|
RED | 132 | 80 | 128 | 135 | 80 | |||||
SACHA | 128 | 135 | 80 | 128 | 139 | |||||
PAUL | 128 | 139 | 141 | 140 | ??? | ??? |
Pokémon version Bleue[modifier]
Le tableau ci-dessous n'a pas été vérifié, mais s'il suit la logique des jeux anglais, alors voici les Pokémon trouvables en choisissant les noms préenregistrés suivants:
Nom | Niveau-1 | Pokémon-1 | Niveau-2 | Pokémon-2 | Niveau-3 | Pokémon-3 | Niveau-4 | Pokémon-4 | Niveau-5 | Pokémon-5 |
---|---|---|---|---|---|---|---|---|---|---|
BLUE | 139 | 132 | 145 | 134 | 146 | |||||
REGIS | 132 | 136 | 80 | 132 | 141 | |||||
JEAN | 132 | 141 | 141 | 140 | ??? | ??? |
Choisir un nom pour rencontrer MissingNo.[modifier]
Les versions françaises ne permettent pas de rencontrer le Pokémon MissingNo. car elles ont été corrigées pour faire planter le jeu lorsqu'un Pokémon sans image associée doit apparaître. Il reste des exceptions : les images du Fossile de Kabutops et de Ptéra qu'on retrouve au Musée des Sciences d'Argenta, ainsi que l'image de Spectre qu'on retrouve à la tour de Lavanville sans avoir le Scope Sylphe sont stockées dans la mémoire du jeu et sont associés à un MissingNo. Il suffit de composer un nom avec la lettre "w" (en minuscule), "x" (en minuscule) ou "y" (en minuscule) en troisième, cinquième ou septième position pour les faire apparaître.
Lettre | Apparence | Lettre | Apparence | Lettre | Apparence |
---|---|---|---|---|---|
w | x | y |
Si vous avez choisi le nom "Erwan", alors un MissingNo. sous la forme d'un fossile de Kabutops au niveau car un "w" (en minuscule) se retrouve soit en troisième, cinquième ou septième position. Des noms comme "Lex" ou "Thierry" fonctionnent aussi, possédant un "x" et "y" à l'une de ces positions faisant alors apparaître un MissingNo à forme de fossile de Ptéra ou de Spectre respectivement. Si vous avez choisi le nom "ERWAN", alors aucun MissingNo. ne pourra apparaître car le "w" est en majuscule. Vous pouvez choisir un nom inventé comme "Luxrway" pour faire apparaître les trois formes de MissingNo. possibles.
Rencontrer les Pokémon du Parc Safari[modifier]
- S'envoler au Parc Safari.
- Aller dans la zone du Parc Safari où il y a les Pokémon recherchés.
- Faire Tunnel ou Téléport.
- S'envoler à Cramois'Île.
- Surfer sur la rive droite de Cramois'Île.
Si le joueur a bien suivi cette démarche, les Pokémon disponibles dans la zone du Parc Safari apparaîtront. Comme ils sont dans un état sauvage « normal », le joueur peut utiliser d'autres Balls que la Safari Ball, il n'a pas de limite de pas et les Pokémon ne peuvent pas s'enfuir. En bref, toutes les contraintes du Parc Safari disparaissent grâce à ce bug.
Note[modifier]
Cela ne marche pas que pour le Parc Safari, mais pour toutes les routes visitées avant d'aller surfer sur la rive droite de Cramois'Île, mais dans ce cas-là, l'intérêt est moindre.
Ce bug peut également engendrer le bug des célébrités dans le cas où le joueur rencontrerait un Pokémon corrompu.
Correspondances des caractères avec les Pokémon/Dresseurs et niveaux[modifier]
Pokémon et Dresseurs générés[modifier]
Caractère | Pokémon ou Dresseur | |
---|---|---|
Espace | Scarabrute | |
A | Akwakwak | |
B | Hypnomade | |
C | Nosferalto | |
D | Mewtwo | |
E | Ronflex | |
F | Magicarpe | |
G | MissingNo. | |
H | MissingNo. | |
I | Grotadmorv | |
J | MissingNo. | |
K | Krabboss | |
L | Crustabri | |
M | MissingNo. | |
N | Électrode | |
O | Mélodelfe | |
P | Smogogo | |
Q | Persian | |
R | Ossatueur | |
S | MissingNo. | |
T | Spectrum | |
U | Abra | |
V | Alakazam | |
W | Roucoups | |
X | Roucarnage | |
Y | Staross | |
Z | Bulbizarre | |
a | MissingNo. | |
b | MissingNo. | |
c | MissingNo. | |
d | Ponyta | |
e | Galopa | |
f | Rattata | |
g | Rattatac | |
h | Nidorino | |
i | Nidorina | |
j | Racaillou | |
k | Porygon | |
l | Ptéra | |
m | MissingNo. | |
n | Magnéti | |
o | MissingNo. | |
p | MissingNo. | |
q | Salamèche | |
r | Carapuce | |
s | Reptincel | |
t | Carabaffe | |
u | Dracaufeu | |
v | MissingNo. | |
w | MissingNo. | |
x | MissingNo. | |
y | MissingNo. | |
z | Mystherbe | |
( | Florizarre | |
) | Tentacruel | |
: | MissingNo. | |
; | Poissirène | |
[ | Poissoroy | |
] | MissingNo. | |
' | — | Karatéka |
Pk | Rival Blue | |
Mn | — | Professeur Chen |
- | — | « Chief » (Dresseur buggé) |
? | — | Sbire Rocket |
! | — | Topdresseur♂ |
♂ | — | Auguste |
× | — | Gentleman |
. | Rival Blue | |
/ | Champion Blue | |
, | — | Olga |
♀ | — | Exorciste |
Niveau des Pokémon générés[modifier]
Voici la liste complète de lettres par rapport au niveau, à savoir que celui-ci est au minimum de 127 et que le maximum connu est de 185.
Caractère | Niveau |
---|---|
Espace | 127 |
A | 128 |
B | 129 |
C | 130 |
D | 131 |
E | 132 |
F | 133 |
G | 134 |
H | 135 |
I | 136 |
J | 137 |
K | 138 |
L | 139 |
M | 140 |
N | 141 |
O | 142 |
P | 143 |
Q | 144 |
R | 145 |
S | 146 |
T | 147 |
U | 148 |
V | 149 |
W | 150 |
X | 151 |
Y | 152 |
Z | 153 |
( | 154 |
) | 155 |
: | 156 |
; | 157 |
[ | 158 |
] | 159 |
a | 160 |
b | 161 |
c | 162 |
d | 163 |
e | 164 |
f | 165 |
g | 166 |
h | 167 |
i | 168 |
j | 169 |
k | 170 |
l | 171 |
m | 172 |
n | 173 |
o | 174 |
p | 175 |
q | 176 |
r | 177 |
s | 178 |
t | 179 |
u | 180 |
v | 181 |
w | 182 |
x | 183 |
y | 184 |
z | 185 |
' | 224 |
PK | 225 |
MN | 226 |
- | 227 |
? | 230 |
! | 231 |
♂ | 239 |
× | 240 |
. | 242 |
/ | 243 |
, | 244 |
♀ | 245 |
Explication[modifier]
Les Pokémon capturables[modifier]
Lors du codage du jeu, les développeurs ont utilisé un octet seulement pour stocker les adresses des données des Pokémon. Un octet est composé de 8 bits, ce qui offre 256 valeurs possibles, classiquement notées comme allant de 0 à 255.
Ces 256 adresses sont utilisées comme suit.
- Initialement, 190 Pokémon ont été prévus, mais seuls 151 Pokémon ont été finalement intégrés à la première génération. (Il est possible que les 39 autres aient été intégrés à la deuxième génération de la franchise, mais cela n'a pas été prouvé). Les 190 Pokémon ont été enregistrés sur les premières adresses (de 0 à 189), il en restait donc 66 de disponibles (de 190 à 255).
- Sur certaines adresses (de 201 à 247), ont été placés les types de Dresseurs (Gamin, Scout, Croupier…).
- Toutes les adresses restantes sont devenues des Pokémon ou Dresseurs glitch.
- Ensuite, 50 Pokémon ont été retirés du code, ce qui a libéré 50 adresses mémoire (l'une d'entre elles, la 7, a été remplie par Mew plus tard). Les développeurs ont donc décidé d'appeler ces adresses disponibles « MissingNo. », qui vient de l'anglais Missing Number (numéro manquant). D'où le fait que MissingNo. n'est pas un Pokémon, contrairement à ce qu'il est parfois possible de lire.
Dans Pokémon Bleu (Japon), la fiche de Pokédex de MissingNo. indique une taille de 1 m, un poids de 10 kg, et sa description est « コメント さくせいちゅう », c'est-à-dire « Description à écrire ». Ses statistiques n'ont par contre pas été programmées correctement en mémoire. La fiche n'a pas été traduite dans les versions internationales, ce qui donne une description, une taille et un poids incorrects.
La zone de capture[modifier]
Le jeu gère deux listes de rencontres possibles : une liste pour les rencontres dans les hautes herbes, une autre pour les rencontres sur l'eau. Chaque liste est composée de paires (niveau ; ID du Pokémon) indiquant les possibilités de rencontre. De plus, à chaque liste est associé un taux de rencontre ; si celui-ci est à zéro, la liste n'est pas utilisée.
Afin d'optimiser la vitesse du jeu, chaque liste n'est modifiée que si elle est utilisée dans l'endroit où le joueur se trouve :
- dans une ville où il n'est pas possible de rencontrer des Pokémon (exemple : Argenta), le jeu ne modifie aucune liste mais met les deux taux de rencontre à zéro (c'est pour cela qu'aucun Pokémon ne peut être rencontré dans les quatre herbes au nord de Bourg Palette) ;
- sur une route où il y a des hautes herbes mais pas d'eau (exemple : Route 1), le jeu modifie la liste des herbes mais pas celle de l'eau, en mettant le taux de rencontre à zéro pour la seconde liste ;
- sur une route où il y a de l'eau mais aucune haute herbe (exemple : Chenal 20), le jeu conserve la liste des herbes (en mettant son taux de rencontres à zéro) mais modifie la liste de l'eau ;
- enfin, sur une route où les deux sont présents (exemple : Chenal 21), les deux listes sont modifiées.
Le bug de Cramois'Île est la combinaison de cette optimisation et de deux erreurs dans le code.
- La première est que les rives droites sont programmées pour faire apparaître des Pokémon sauvages, mais elles piochent les rencontres non pas dans la table d'eau comme elles le devraient, mais dans la table d'herbes.
- Le second bug est que le jeu ne vérifie pas correctement les chances de rencontre. On pourrait s'attendre à ce que si le taux de rencontre pour l'herbe est à zéro mais que le taux de rencontre est non nul pour l'eau, on ne puisse rencontrer que des Pokémon présents dans l'eau, mais ce n'est pas le cas. Simplement, à chaque pas, le jeu vérifie si au moins un des taux de rencontre est non nul. Si c'est le cas, le jeu déclenche aléatoirement un combat en piochant la paire (niveau ; ID du Pokémon) dans la table d'herbes si le joueur marche sur des hautes herbes, dans la table d'eau si le joueur marche (en utilisant le bug du passe-muraille) ou surfe sur de l'eau. Cependant, les rives droites ne sont pas considérées comme de l'eau, mais comme des herbes. Ce qui fait que l'on peut rencontrer des Pokémon présents dans les hautes herbes sur l'eau et à des endroits où ils ne devraient pas être.
Les niveaux supérieurs à 100[modifier]
Lorsque le joueur parle au vieil homme de Jadielle, celui-ci lui enseigne comment capturer un Pokémon. Pendant cette démonstration de combat, le sprite du joueur ainsi que son nom sont remplacés temporairement par ceux du PNJ. Et afin de ne pas perdre le nom du joueur, il est copié ailleurs, le temps de cet exemple.
La quantité de mémoire pour une cartouche Game Boy étant faible, les développeurs ont réutilisé un emplacement utilisé en général pour autre chose, mais inutilisé le temps de l'action. Il est maintenant possible de comprendre que cet emplacement est celui de la table des rencontres de Pokémon dans les hautes herbes. Ainsi, le nom du joueur est stocké sous forme hexadécimale en mémoire. Si le joueur vole directement jusqu'à Cramois'Île, ce sont ces valeurs qui seront utilisées pour faire apparaitre les Pokémon sur la rive droite.
La première lettre du nom du joueur étant remplacée par un 0 (il n'y a pas de rencontres d'herbes à Cramois'île ni sur le Chenal 20), c'est également pour ça que la première lettre n'a aucune influence sur le bug.
Dans Pokémon Jaune, les rives droites piochent leurs rencontres dans la table d'eau comme elles devraient, et de toute façon le jeu efface les tables de rencontre au lieu de simplement mettre le taux de rencontre à zéro, ce qui élimine entièrement le bug.