Bug de la rive droite de Cramois'île

De Poképédia
Aller à : navigation, rechercher

Le Bug de la rive droite de Cramois'Île est un bug des versions 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 un Ditto Glitch et de rencontrer les Pokémon du Parc Safari sans qu'ils ne puissent fuir.

Ce bug ne fonctionne que dans Pokémon Rouge et Bleu ; dans Pokémon Jaune, il a été corrigé: la rive droite n'est plus une zone de capture.

Manœuvre[modifier]

Rencontrer des Pokémon supérieur au niveau 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 :

Exemple[modifier]

Si le joueur s'appelle Arthur :

  • A: La première lettre ne sert à rien.
  • r: Un Pokémon au niveau 177
  • t: Carabaffe
  • h: Un Pokémon au niveau 167
  • u: Dracaufeu
  • r: Un Pokémon au niveau 177

Il y aura donc :

  • Soit un Carabaffe au niveau 177
  • soit un Carabaffe au niveau 167
  • Soit un Dracaufeu au niveau 177
  • Ou soit un Dracaufeu au niveau 167

Liste des lettres par rapport aux Pokémon/dresseurs et niveaux[modifier]

Pokémon et dresseurs générés[modifier]

Caractère Pokémon ou dresseur
Espace 127 Scarabrute
A 055 Akwakwak
B 097 Hypnomade
C 042 Nosferalto
D 150 Mewtwo
E 143 Ronflex
F 129 Magicarpe
G ??? MissingNo.
H ??? MissingNo.
I 089 Grotadmorv
J ??? MissingNo.
K 099 Krabboss
L 091 Crustabri
M ??? MissingNo.
N 101 Électrode
O 036 Mélodelfe
P 110 Smogogo
Q 053 Persian
R 105 Ossatueur
S ??? MissingNo.
T 093 Spectrum
U 063 Abra
V 065 Alakazam
W 016 Roucoups
X 018 Roucarnage
Y 121 Staross
Z 001 Bulbizarre
a ??? MissingNo.
b ??? MissingNo.
c ??? MissingNo.
d 077 Ponyta
e 078 Galopa
f 019 Rattata
g 020 Rattatac
h 033 Nidorino
i 030 Nidorina
j 074 Racaillou
k 137 Porygon
l 142 Ptera
m ??? MissingNo.
n 081 Magneti
o ??? MissingNo.
p ??? MissingNo.
q 004 Salamèche
r 007 Carapuce
s 005 Reptincel
t 008 Carabaffe
u 006 Dracaufeu
v ??? MissingNo.
w ??? MissingNo.
x ??? MissingNo.
y ??? MissingNo.
z 043 Mystherbe
( 003 Florizarre
) 073 Tentacruel
 : ??? MissingNo.
 ; 118 Poissirène
[ 119 Poissoroy
] ??? MissingNo.
' Karatéka
Pk Miniat 1 r Blue.png Rival Blue
Mn Professeur Chen
- "Chief" (dresseur buggé)
 ? Sbire Rocket
 ! Topdresseur
Auguste
× Gentleman
. Miniat 1 r Blue.png Rival Blue
/ Miniat 1 r Blue.png 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, 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

Rencontrer les Pokémon du Parc Safari[modifier]

Si le joueur 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.


Origine du Bug[modifier]

Lors du codage du jeu, les développeurs ont enregistré les noms des Pokémon sur des adresses à deux hexadécimales. L'hexadécimal est une base numérique très utilisée en informatique, comme l'octal. Dans la vie de tous les jours, tout le monde compte en base 10 (les chiffres vont de 0 à 9). L'hexadécimal, base 16, va en revanche de 0 à F (de 10 à 15 les nombres sont remplacés par A, B, C, D E et F).

Logiquement, il était donc possible de créer des adresses telles que 4F, 05, 8D, E3, etc.

Il y a 16 possibilités par chiffre hexadécimal, donc 16*16 = 256, et donc il était possible d'enregistrer sur 256 adresses différentes.

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 49 autres aient été intégrés à la seconde génération de la franchise, mais cela n'a pas été prouvé.

Les 190 Pokémon ont été enregistrés sur ces adresses, il en restait donc 66 disponibles (de 192 à 255).

Sur certaines (les adresses de 201 à 247), ont été placées les types de dresseurs (Gamin, Scout, Croupier...), toutes celles restantes sont devenues des Pokémon glitch.

Ensuite, 49 Pokémon ont été retirés du code, ce qui a libéré 49 adresses mémoire. 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 Version Bleue (Japon), la fiche de Pokédex de MissingNo indique une taille de 1.0m, un poids de 10.0kg, et sa description est "コメント さくせいちゅう", c'est-à-dire "Description à écrire". Ses stats n'ont par contre pas été programmées correctement en mémoire. La fiche n'a pas été traduite dans mes versions internationales, ce qui donne une description, une taille et un poids incorrects.


Le jeu gère deux tables de rencontre : une table pour les rencontres dans les hautes herbes, et une autre pour les rencontres sur l'eau. Chaque table contient plusieurs paires (niveau ; ID du Pokémon) indiquant les possibilités de rencontre dans un souci d'optimisation, en effet il est plus facile pour un programme de retenir des identifieurs comme "A1" ou "84" que des noms comme "Piafabec" ou "Grotadmorv". A chaque table est associé une chance (taux) de rencontre. Si celui-ci est à zéro, cette table n'est pas utilisée.

De plus, afin d'optimiser la vitesse du jeu, chaque table 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 : Cramois'Île), le jeu ne modifie aucune table 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 Boug-Palette) ; dans une route où il y a des hautes herbes mais pas d'eau (exemple : Route 1), le jeu modifie la table des herbes mais pas celle d'eau, en mettant le taux de rencontre à zéro pour la seconde table ; dans une route où il y a de l'eau mais aucune haute herbe (exemple : Chenal 20), le jeu conserve la table d'herbes (en mettant son taux de rencontres à zéro) mais modifie la table d'eau. Enfin, dans une route où les deux sont présents (exemple : Chenal 21), les deux tables 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 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 rencontres pour l'herbe est à zéro mais que le taux de rencontres est non nul pour l'eau, on ne puisse rencontrer que des Pokémon d'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 une bataille 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 Passe-Muraille) ou surfe sur de l'eau. Mais 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 d'herbe sur de l'eau et à des endroits où ils ne devraient pas être.

Pourtant, le problème des niveaux supérieurs à 100 n'est toujours pas résolu. Mais c'est simple : lorsque le joueur parle au vieil homme de Jadielle, celui-ci lui enseigne comment capturer un Pokémon.

Pendant ce "combat", le sprite du joueur ainsi que son nom sont remplacés temporairement par ceux du PNJ. Et afin de ne pas les perdre, ils sont stockés ailleurs, le temps de cet exemple. La quantité de mémoire étant extrêmement faible pour une cartouche Game Boy, 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.