MissingNo. et les autres glitches

Troisième Partie de l'Introduction aux glitches

Pour terminer la partie essentielle de cette introduction, nous allons aborder un des sujets les plus connus des néophytes en glitchologie, mais que paradoxalement ils ne maîtrisent pas du tout : MissingNo. Pour bien comprendre de quoi il s'agit (on peut lire tout et n'importe quoi sur internet à ce sujet) il est vital d'avoir bien assimilé le concept d'Identifiant.

MissingNo.

Vous le savez peut-être, mais il était originellement prévu que 190 Pokémon apparaissent dans la première génération. Selon Shigeki Morimoto, un des programmeurs de Game Freak, les développeurs ont décidé de retirer 40 Pokémon pour des raisons de place. Ca n'est qu'après la suppression des outils de debug que Morimoto s’aperçut qu'il restait finalement un peu de place et en ajouta un dernier, Mew.

On retrouve des traces de ces événements dans la liste des Identifiants, qui contient comme on l'a vu 256 valeurs possibles (de $00 à $FF), donc plus du double des Pokémon disponibles dans le jeu. En effet, l'Identifiant du dernier Pokémon implanté, Empiflor, est $BE (soit 190 en décimal), et entre celui-ci et le premier Pokémon (Rhinoféros, Identifiant $01) il y a donc exactement 39 cases vides correspondants aux Pokémon supprimés par l'équipe ! C'est en forçant, par un glitch ou par un code, la rencontre avec un de ces Identifiants, que vous tombez sur un message d'erreur qui dit "Numéro Manquant" ; en anglais, "Missing Number" - MissingNo.

Le message "Numéro Manquant" en lui-même a probablement été mis en place par les programmeurs du jeu pour remplacer le nom du Pokémon supprimé et ne pas laisser la case vide. En revanche, ses données (apparence, attaque, stats) sont des extrapolations que le jeu fait à partir d'autres données de la RAM lorsqu'il est confronté à la situation anormale d'une rencontre avec MissingNo., car il n'était pas prévu que le joueur puisse accéder à n'importe laquelle de ces cases !

Il est intéressant de noter que Mew, Pokémon donc intégré en toute fin de développement, possède un Identifiant très faible (15). Il peut bien sûr s'agir de sa place d'origine si celui-ci faisait partie des 190 Pokémon prévus, mais il est également possible qu'il ait été réintégré sur la première case MissingNo. de la liste, ce qui expliquerait qu'il se trouve si bas dans celle-ci, et qu'il n'y ait aucun MissingNo. avant Mew. De même, comme vous pourrez le voir sur notre liste des Identifiants, il existe trois formes de MissingNo. qui ne sont pas des bouillies de pixels mais représentent les deux squelettes de Pokémon du musée d'Argenta ainsi que le Spectre de la Tour Pokémon de Lavanville. Plutôt que de coder des Pokémon pour ça sur trois cases vides de $BE à $FF, l'équipe, qui n'avait besoin que d'un endroit pour stocker le sprite (l'apparence) de ces trois "Pokémon", a probablement jugé pratique d'utiliser trois slots MissingNo., d'autant que cela a probablement été fait bien après la création des Pokémon !

Les Pokémon Glitch, et le reste des Identifiants

Même avec 190 cases prises par les Pokémon et MissingNo., il reste l'Identifiant $00 ainsi que ceux de $BE à $FF. Alors, que contiennent-ils ? Tout d'abord, une partie d'entre eux sont occupés par les dresseurs. C'était là probablement un moyen intelligent de gagner de la place en utilisant des Identifiants vides sans avoir à refaire une liste pour une autre adresse mémoire. Pour la petite histoire, l'un de ces Identifiant de dresseur, l'Identifiant $E2, permet d'affronter le Prof. Chen ! Il peut s'agit d'un combat prévu à l'origine et qui a finalement été supprimé du jeu final. Mais même avec les données des dresseurs, il reste 19 slots vides sur les 256.

Contrairement aux cases MissingNo., qui contiennent des données de Pokémon partiellement supprimées et remplacées par un message d'erreur, ces cases sont réellement vides et le fait de les appeler par glitch ou code générera un Pokémon glitché composée de données piochées à divers endroits de la RAM. Ainsi, bien qu'on puisse être tenté de considérer MissingNo. et les Pokémon glitch de la même façon, il s'agit de conséquences issues de causes radicalement différentes.

apparence de MissingNo.
L'apparence d'un MissingNo. pixelisé, rencontré dans une version Jaune française

Capture de Pokémon glitch et complexité de MissingNo.

Comme l'ensemble des Pokémon normaux, les Pokémon Glitch peuvent être capturés via les nombreux glitches de la première génération qui permettent la capture de Pokémon. Toutefois, dans Rouge et Bleue, lorsque vous rencontrez physiquement les formes pixels de MissingNo. en version française, la corruption entraînée par son sprite dans la banque de son provoque un plantage. Pour éviter ce plantage la seule solution est un couple de code action replay qui maintient la musique sur une valeur acceptable.

MissingNo. avec banque de son stabilisée
Un combat contre MissingNo. lorsque la banque de son est stabilisée.

Pour autant, et contrairement à la légende, il n'est pas impossible d'obtenir des MissingNo. pixelisés en version R/B française sans code action replay. Cette erreur commune sur le net est due au fait que les deux glitches permettant d'obtenir n'importe quel Pokémon les plus connus, l'Old Man Trick et le Ditto Trick (ce sont également les deux premiers que vous apprendrez sur notre site) passent forcément par une rencontre physique avec le Pokémon, donc ne permettent pas la capture de MissingNo. pixel sans stabiliser la banque. Heureusement pour nous, il existe plein d'autres glitches qui, eux, permettent tous d'obtenir ces formes (car ils ne provoquent pas de rencontre avec celles-ci) ; si vous lisez ou entendez cette affirmation erronée quelque part, cela trahit donc la méconnaissance de cette source à propos de ces glitches !

Effets de MissingNo. et de 'M

Une rencontre avec MissingNo. ou le Pokémon glitch d'Identifiant $00, 'M (et son équivalent sur Jaune, 3DRES.POKé), provoque des effets connus et qui ont largement contribué à la popularité de MissingNo. Ces effets existent aussi parce que le jeu tente d'interpréter certaines données de la mauvaise façon ! Pour bien comprendre, il faut savoir comment fonctionne la fonction vus/pris du Pokédex. Dans la RAM, il existe des adresses mémoires pour ça, par groupe de 8 Pokémon par adresse (souvenez-nous de la première partie de l'introduction : un "octet" hexadécimal peut toujours se traduire par une séquence de huits bits, chacun valant 0 ou 1). Le jeu affecte une valeur correspondant, en décimal, à 128 pour chaque Pokémon pris, et à 255 pour chaque Pokémon capturé (contre 0 en temps normal). Mais les adresses mémoires du Pokédex ne comportent pas d'octet pour les Pokémon de numéro 000 car il n'est pas censé y avoir de Pokémon à ce numéro. Lorsque vous rencontrez MissingNo. ou 'M, qui partagent ce numéro, il y a une grosse confusion et le jeu se trompe d'adresse en corrompant celle qui décide de la quantité du 6ème objet, lui ajoutant 128 ou 255 selon si vous avez seulement vu ou également capturé le Pokémon glitch. Notez que cela ne marche que si vous possédez déjà moins de 128 objets, ce qui implique que si vous compter monter à 255 en capturant MissingNo., vous devez utiliser deux des objets pendant le combat. Vous pouvez également choisir de rencontrer deux fois de suite l'un de ces deux Pokémon glitch.

Un autre effet connu de ces Pokémon glitch est la corruption du Panthéon dans le PC. Cette fois, c'est un effet dû à l'apparence pixelisée dont ils sont dotés. En prenant des données dans la RAM, le rendu généré est tellement énorme qu'il déborde de la zone de stockage provisoire du Pokémon adverse et corrompt les données de la mémoire qui gèrent le Panthéon, qui se trouvent à proximité dans celle-ci.

Enfin, notez que le problème de banque de son décrit plus haut pour MissingNo. se pose également pour 'M !

Objets, Attaques, Maps : le même problème

Il n'y a certes pas 256 Pokémon dans la première génération, mais ce n'est pas le cas non plus des objets, des attaques, et même des maps. Il est donc possible, par glitch ou par code action replay, d'accéder à des Identifiants correspondant à des emplacements vides également. Si vous essayez d'accéder à un emplacement de map non-occupé, vous obtiendrez au mieux un environnement glitché (une "glitch city", comme vous le verrez sur les pages de ce site) et au pire un plantage. Il est intéressant de noter qu'un des espaces vides a été réoccupé dans la version Jaune pour ajouter la maison des Surfers de Parmanie, qui permet d'effectuer le mini-jeu du Pikachu surfer !

Bien plus intéressant sont les objets, car dans la liste des Identifiants on peut retrouver plusieurs éléments qui ne sont pas des objets tels que les Badges, des objets probablement utilisés pour tester des fonctions durant le développement (tel qu'un objet permettant de surfer sans la CS) mais également des choses plus aléatoires comme "3EME ETAGE" ou encore "NOM DU RIVAL?". Il est possible qu'il s'agisse, pour la plupart, de simples cases de stockage de texte, comme les trois sprites particuliers de MissingNo. dans les Identifiants des Pokémon. D'autres objets ont un nom complètement glitché, probablement pris de façon aléatoire dans la RAM. Si vous activez certains objets, vous pouvez obtenir des plantages, des corruptions de mémoire ou même de la lecture de code (ce qui ne devait pas poser trop de problèmes aux développeurs car il n'était en principe pas possible de les obtenir). Nous n'allons pas détailler ici l'effet de chacun de ces objets, mais vous pouvez consulter notre Itemdex.

Au niveau des attaques, une partie des Identifiants non-utilisés par les attaques du jeu renvoie à des attaques portant des noms de CT. Il s'agit peut-être d'une manœuvre volontaire pour remplir le plus de cases possibles car aucune de ces attaques n'a l'effet de l'attaque contenue dans la CT et font planter le jeu la plupart du temps. En revanche, il existe 31 attaques dont l'utilisation provoque une corruption de certaines zones de la RAM qui peut être extrêmement dangereuse mais aussi incroyablement utile quand elle est correctement maîtrisée. Nous abordons ce sujet dans la toute dernière partie de cette introduction consacrée aux méthodes de corruption, dont la maîtrise est la clé de certains glitches.

Et pour les autres générations ?

Avant d'aborder la corruption, finissons cette partie en parlant des autres générations. Dans la deuxième génération, il y a 251 Pokémon sur 256 places disponibles, ce qui ne laisse que 5 places. Mais la deuxième génération c'est aussi l'intégration de la reproduction dans la série, et il était donc nécessaire de stocker les données des œufs quelque part ! C'est la raison pour laquelle, en appelant l'Identifiant $FD par glitch ou code, on tombe sur un œuf... Quand aux Identifiant $00, $FC, $FE et $FF, les choses sont un peu mieux faites dans ce jeu car ils renvoient à des Pokémon Glitch portant tous le nom "?????". Leur apparence glitchée rappelle celle de MissingNo. mais il n'y a pas de grosse corruption au programme, malgré certains effets vraiment très utiles qui sont documentés dans notre section deuxième génération !

Dans la deuxième génération, il y a également 251 attaques exactement (je parie que vous ne le saviez pas ;-)) ce qui ne laisse que 5 places aux attaques glitchées, de même Identifiant que les "?????". Toutes entraînent souvent un plantage. Par contre, niveau objet, c'est même carrément bien fait puisque presque tous les Identifiants non-utilisés sont occupés par un "objet" appelé Teru-sama qui a été spécialement créer pour être un placeholder (cf. Glossaire) et éviter que des petits malins fassent buguer le jeu avec des objets glitchés... Il y a quelques détails marrants à noter à ce sujet :

  • Certains Teru-sama remplacent peut-être des objets qui ont existé ou ont été des versions prototype de certains objets à un stade peu avancé du développement. En effet, quand il est activé via un glitch ou un code, le Teru-sama d'Identifiant $06 semble être un prototype de la Carte du Monde, et celui d'Identifiant $38 semble avoir été une Poké Flute. Ceux-ci auraient été finalement abandonnés pour intégrer le PokéMatos.
  • 4 cases occupées par des Teru-sama ont été réutilisées dans Cristal pour des objets qui n'apparaissent que dans cette version : le Glas Transparent, la Carte Bleue, le Ticket Oeuf et la GS Ball.
  • Le Teru-sama peut se vendre 19600 Pokédollars. C'est un peu comme si les développeurs voulaient nous dire "désolé ! Tu ne pourras pas faire glitcher complètement ton jeu avec des objets bugués, mais pour ta peine, tu vas pouvoir te faire un max de fric avec ce truc".
  • Il existe sept autres faux objets en plus des Teru-sama, dont deux sont probablement des versions prototype de CT qui n'ont pas été supprimées pour être remplacées par des Teru-sama.

Dans les générations suivantes, le nombre de slot est drastiquement augmenté par le fait qu'on utilise désormais 4 chiffres hexadécimaux, soit plus 65 000 Identifiants de Pokémon ou d'Objets non-utilisés ! La pratique du placeholder se généralise alors pour éviter tout problèmes ; par exemple, dans la troisième génération, presque tous les slots de Pokémon sont occupés par un Pokémon nommé "??????????" (surnommé Decamark) que l'on peut rencontrer par Glitch ou par code action replay. Son sprite est en fait le symbole utilisé par le Pokédex pour définir un Pokémon inconnu (un point d'interrogation dans un cercle). Un placeholder similaire, avec huit points d'interrogation, est utilisé pour les objets.

Decamark
Décamark, le placeholder aux 65 000 visages, obtenu par un glitch (merci à Metarkrai)

D'autres Identifiants de cases non-utilisées par des Pokémon dans les jeux de troisième génération sont occupés notamment par l’œuf, les formes de Zarbi ou encore par une série de 25 Pokémon glitch situés entre Celebi et Arcko, et qui possèdent tous l'apparence de deux gros points d'interrogation blancs, le nom "?" et le cri de Zarbi. Ce sprite n'est pas présent dans le jeu final car il a été remplacé par le point d'interrogation cerclé, mais il servait à indiquer un Pokémon inconnu dans le Pokédex de la version beta du jeu. Il existe une théorie parmi les fans qui propose que ces places étaient occupées pendant le développement par les différentes formes des Zarbi, avant qu'il soit décidé de traiter celles-ci autrement, et qu'elles soient retirées de ces places.

Le fameux ??
Le fameux "?" qui occupe 25 des Identifiant de la troisième génération

En quatrième génération, le fameux "Mauv. Oeuf" apparu sur GBA lorsqu'un Pokémon est corrompu par triche, dispose même d'une case dans la liste des Identifiant non-utilisés par des Pokémon.

< Partie 2 : L'Identifiant


Page Précédente : L'Identifiant
Page suivante : Glossaire Glitchologie