Glossaire Glitchologie
Vous trouverez sur cette page un index des mots utilisés en glitchologie Pokémon, avec une définition courte pour chacun. Lorsqu'un mot est souligné dans une définition, cela signifie qu'il est également présent dans ce glossaire.
'M. : Ou "Block M Chip", un des plus célèbres Pokémon Glitch de la première génération, qui existe en version pixelisée ou avec l'apparence de Dracaufeu. Son Identifiant est de 00 ou FF.
ACE : Abréviation de "Arbitrary Code Execution", soit en français exécution de code arbitraire. Désigne plusieurs procédures visant à exploiter un glitch pour contrôler directement le jeu et se donner tout ce qu'on désire - ou programmer de nouvelles fonctions.
Adresse : Nombre se référant de manière unique à un emplacement mémoire de la console. Sur Game Boy, ces nombres s'écrivent avec 4 chiffres hexadécimaux.
Assembleur : Seul langage de programmation directement compréhensible par un processeur, fréquemment utilisé sur la Game Boy.
Bad Clone : Hybride instable entre un Clone de Pokémon et l'absence de Pokémon, généré par une mauvaise utilisation (volontaire ou pas) de la technique de Clonage. À manipuler avec précaution !
Banque de son : Section de la ROM du jeu où sont stockées certaines musiques. Contient les données de ces musiques et un bout de code pour les lire. Une banque de son invalide cause l'exécution d'un mauvais bout de code, ce qui en général plante le jeu.
Binaire : Système de comptage à deux chiffres appelés "bits", 0 et 1, fréquemment utilisé en informatique. Un chiffre hexadécimal correspond à 4 bits; les octets sont donc composés de 8 bits.
Bit : Chiffre binaire, valant 0 ou 1, constituant une partie d'un groupe de 8 bits appelé octet, dans lequel ils sont numérotés de 0 à 7 de la droite vers la gauche.
Control character : En français, caractère de contrôle. Caractère spécial qui n'est ni un chiffre, ni une lettre, ni un symbole, et qui n'est pas affiché à l'écran, mais fait réagir le jeu (ex : jouer le cri de Pikachu dans l'intro, afficher un texte entier ou bien une fonction qui provoquera quelque chose lorsque ce caractère sera affiché à l'écran, dans une boîte de dialogue).
Debug : En français, débogage ; recherche de bugs afin de les éliminer. Souvent, les développeurs utilisent des outils de debug, qui permettent par exemple d'avancer rapidement dans le jeu. Ces outils sont normalement inaccessibles au joueur, voire carrément retirés de la version finale.
Décamark : Nom donné à un ensemble de Pokémon Glitch de la troisième génération situés entre les Identifiant $019D et $FFFF, et dont le vrai nom est "??????????". Le nom dérive du préfixe grec déca pour dix et de "Ten Question Mark", l'autre nom donné à ces Pokémon glitch, qui signifie "10 points d'interrogations".
Décimal : Système de comptage classique, à 10 chiffres. Les données de jeu affichées sont traduites dans ce système depuis l'hexadécimal (stats, argent, etc.).
Désassemblage : Processus consistant à créer un code source produisant le même programme que celui existant. Le code source obtenu ainsi est probablement différent de l’original, mais permet de mieux comprendre le fonctionnement du jeu sur beaucoup de points.
DV : Pour "determinant value" (valeur déterminante). Valeur interne au jeu qui peut valoir de 0 à 15 et qui entre dans le calcul des statistiques d'un Pokémon. Chaque Pokémon a un DV pour chaque stat (c'est pourquoi tous les Pokémon d'une même espèce au même niveau n'auront pas forcément les mêmes stats), qui n'est normalement pas visible par le joueur. Remplacé par les IV à partir de la 3ème Génération.
Effet PokéPC : Effet provoqué par la corruption Super Glitch et qui remplace le nom du joueur par un nom glitché. En cas de sauvegarde, provoque l’effacement de celle-ci.
Effet TMTRAINER : Effet provoqué par la corruption Super Glitch lors d'un combat, qui consiste en une baisse progressive et rapide du volume sonore, jusqu'à arrêt complet et remplacement de la musique par des sons aléatoires (comme celui d'ouverture du menu START) qui se répètent à intervalles réguliers. Le Pokémon adverse se retrouve brûlé, gelé, endormi, et doté d’un grand nombre de PV. Provoque un plantage du jeu à la fin du combat, à moins de vous trouver dans une map qui n'a pas de PNJ.
Equivalent Trade : Technique consistant à échanger un Pokémon glitch entre deux versions de première ou seconde génération afin d'obtenir le Pokémon glitch équivalent de cette version.
Error Trap : En français, système d'exception. Il s'agit d'une mesure préventive empêchant le jeu de planter ou le joueur de tricher. Le message "votre Pokémon est anormal" qui empêche l'échange de Pokémon glitch depuis la 2G par le bloc temporel est un bon exemple.
EV : Pour "effort value", nom officieux désignant une valeur accumulée par un Pokémon au cours de ses combats et qui entre dans le calcul de ses statistiques. Il existe des EV pour chaque stats et les Pokémon vaincus au combat donnent des EV pour une ou plusieurs stats, en fonction de l'espèce. Les EV remplacent depuis la troisième génération les Exp. Stats, qui jouaient le même rôle dans la première et deuxième génération.
Event : En glitchologie, désigne des événements se produisant par le biais des scripts. Leur nature dépend de la programmation du jeu, mais cela peut-être, par exemple, la rencontre avec un Pokémon ou l'apparition d'un message.
Exp. Stats : Désigne une valeur accumulée par un Pokémon au cours de ses combats et qui entre dans le calcul de ses statistiques. Il en existe une pour chaque stat, et les Pokémon vaincus au combat en donnent pour toutes les stats, d'un montant correspondant à la moitié des Stats de Base de son espèce. Les Exp. Stats sont remplacées depuis la troisième génération par les EV.
Exploit : Technique consistant à utiliser un glitch, un logiciel/appareil externe, ou une fonctionnalité prévue du jeu, pour abuser le jeu et en obtenir des bénéfices. Le RNG Abuse est un exemple d'exploit, tout comme le simple fait de changer l'heure pour provoquer un appel téléphonique dans Pokémon Cristal.
Flag : Entité ayant deux états (vrai ou faux), souvent pour indiquer que quelque chose s'est produit ou pas. Par exemple, chacun des badges est associé à un flag ; s'il est à vrai, le jeu sait que vous avez obtenu le badge correspondant. Souvent stocké par un bit dans la RAM du jeu.
Glitch City : Désigne soit une ville corrompue, soit une zone hors des limites du jeu, dans lequel des blocs de tuiles non-organisées se mélangent. On peut y accéder via divers glitches.
Glitch Dimension : Bug graphique de Jaune et O/A lors duquel le jeu démarre avec les mauvaises couleurs. Survient lorsque le jeu redémarre, à la suite d'un glitch, en mode Game Boy. Dans Cristal, déclenche accidentellement une error trap.
Hexadécimal : Système de comptage avec 16 chiffres allant de 0 à 9 puis de A à F, utilisé en informatique. Les valeurs inscrites dans la mémoire, les octets, sont des nombres hexadécimaux à deux chiffres, qui peuvent se décomposer en groupe de 8 bits.
Hybride instable : Pokémon dont l'apparence et les données sont un mélange de celles de deux Pokémon, à cause d'un glitch qui a provoqué un désynchronisation des deux adresses qui contiennent l'espèce du Pokémon. Il peut être stabilisé par évolution ou revenir à son espèce d'origine par passage à la pension ou transfert dans Stadium 2.
Identifiant : En anglais identifier, également nommé Hex, Hex ID, ID, Internal ID, QD, IDH, Index Number et plein d'autres noms, à ne surtout pas confondre avec le N°ID (TID). Désigne, en glitchologie, un nombre hexadécimal que le jeu identifie à toute entité (un Pokémon, une Attaque, un Objet, etc.). C'est donc la valeur que l'octet correspondant prendra (voir notre introduction pour plus d'informations).
Instant Encounter : A l’origine, désigne une fonction du jeu qui déclenche une rencontre en modifiant la valeur de l’adresse $D05E dans Pokémon R/B/J. Par extension, peut désigner cette adresse, ou alors l'adresse $CD2D, qui peut contenir soit une copie de $D05E pendant la rencontre avec un dresseur (donc l'Identifiant du dernier dresseur rencontré), soit le Spécial du Pokémon adverse. Par extension encore, peut désigner le Ditto Trick dont il constitue la base, ou une technique d'apparition de Pokémon par modification de la valeur de $CD2D ou $D05E.
IV : Pour "individual value" (valeur individuelle), nom officieux désignant une valeur interne au jeu qui peut valoir de 0 à 31 et qui entre dans le calcul des statistiques d'un Pokémon. Chaque Pokémon a un IV pour chaque stat (c'est pourquoi tous les Pokémon d'une même espèce au même niveau n'auront pas forcément les mêmes stats), qui n'est pas visible par le joueur. Les IV remplacent depuis la troisième génération les DV, qui jouaient le même rôle dans la première et deuxième génération.
LUA : Langage de programmation utilisé pour créer des scripts compatibles avec certains émulateurs, comme DeSmume, lesquels permettent d'assister le joueur pour certains glitches.
Map : Carte, en anglais. Désigne une zone délimitée du jeu (route, ville, bâtiment, etc. ou sous-partie de ceux-ci). Les warps, entre autres, permettent de passer de map en map.
Mauv. Oeuf : Error trap destiné à empêcher les joueurs de tricher, mis en place depuis la troisième génération. Lorsqu'un Pokémon est détecté comme corrompu par un glitch ou un logiciel externe, par exemple parce qu'il possède des attaques impossibles, il est transformé en un oeuf inutilisable qui porte ce nom.
Memory Viewer : Menu disponible dans la plupart des émulateurs et qui permet de suivre, en temps réel, le contenu de la mémoire. Certains permettent aussi de la modifier.
MissingNo. : Désigne une sorte très particulière de Pokémon Glitch qu'il est possible de rencontrer en provoquant un combat contre un Pokémon dont l'identifiant correspond à un des 39 Pokémon initialement prévus dans la première génération, et supprimés ensuite. Ses données sont prises dans la mémoire du jeu mais son nom, lui, est un placeholder que les développeurs ont volontairement mis afin de boucher ces trous (voir notre introduction pour plus d'informations).
Moveset : Mot anglais désignant l'ensemble des 4 attaques qu'un Pokémon possède à un instant donné. A différencier de movepool, qui désigne l'ensemble des attaques qu'un Pokémon peut théoriquement apprendre.
Octet : Groupement de 8 bits, ou ensemble des nombres qui peuvent y être ainsi stockés. Ces nombres s'écrivent au moyen de deux chiffres hexadécimaux, ou de 8 bits. L'octet est l'unité de mémoire ou de valeur la plus communément manipulée.
Opcode : Instruction du langage assembleur. Chaque opcode correspond à un nombre hexadécimal, ce qui permet à celui qui exploite l'ACE d'utiliser des octets pour donner des instructions au jeu.
Overflow : Littéralement, "débordement". Consiste à faire déborder une valeur au-delà de la valeur maximale prévue (integer overflow), ou faire déborder une liste d'élément en y stockant plus d'éléments que prévues (buffer overflow). Par example, faire passer une valeur de 255 à 0 en y ajoutant 1 est un integer overflow, et avoir plus de 20 objets dans le sac est un buffer overflow.
Patch : Correctif destiné à réparer un glitch. Dans les premières générations, certains glitches étaient patchés à la sortie des versions suivantes. De nos jours, ils sont parfois patchés via des mises à jour.
PID : Nombre hexadécimal à 8 chiffres unique et assigné à chaque Pokémon, sans qu'il soit visible par le joueur, mis en place depuis la troisième génération. Le PID joue un rôle dans la détermination du caractère chromatique (shiny) du Pokémon.
Placeholder : Type spécifique d'error trap. Définit quelque chose qui est mis en place comme bouche-trou en l'absence de contenu ou pour remplacer quelque chose de supprimé. Les Teru-Sama sont des placeholders.
PNJ : Personnage non-joueur, c'est-à-dire un personnage géré par l'IA avec lequel vous pouvez interagir sur la map. En anglais, on dit NPC pour "non-player character".
RAM : Mémoire modifiable située majoritairement dans la console et en partie dans la cartouche. Elle peut se subdiviser en différentes régions :
- La Work RAM (WRAM) : Mémoire de travail contenant les données de la partie
- La High RAM (HRAM) : Mémoire rapidement accessible directement connectée au processeur
- La Save RAM (SRAM) : Optionnellement présente sur la cartouche, utilisée pour sauvegarder et/ou comme expansion de la WRAM
- L'Echo RAM : Miroir partiel de la WRAM, résultat d'un bug hardware
- La Video RAM (VRAM) : Mémoire utilisée comme source du rendu vidéo
- L'Objet Attribute Memory (OAM) qui stocke les données des sprites.
RAM Map : Liste potentiellement non exhaustive de l'utilisation que le jeu fait de la mémoire. Associe une ou plusieurs utilisations à chaque adresse afin d'aider à la modification et la compréhension du fonctionnement du jeu. Généralement écrite à partir d'un désassemblage.
Registre : Emplacement de la mémoire de travail interne au processeur, utilisé par les opcodes.
Rival's Effect : Effet provoqué par un objet glitch de la première génération et qui "efface" provisoirement les PNJ et autres obstacles dynamiques, permettant au joueur de passer au travers.
Rival's Name : Effet provoqué par un objet glitch de la première génération et qui affiche le nom du Rival sur l'écran. Peut-être utile pour certains glitches comme le Cooltrainer Trick.
RNG : Pour "Random number generation", soit génération de nombres aléatoires en français. Le jeu utilise ce processus pour calculer des données telles que les IV ou le caractère chromatique (shiny). La RNG n’étant en fait que pseudo-aléatoire, il est possible d'utiliser un calculateur pour connaître ces nombres ("RNG Abuse") et prédire, par exemple, l'apparition de chromatiques.
ROM : Mémoire non modifiable, présente dans la cartouche. C'est là qu'est stocké le jeu, c'est-à-dire le code et les données.
Romhacking : Consiste à modifier une ROM pour créer une version modifiée d'un jeu officiel (on parle de ROM Hack ou hackrom en français), et ensuite la diffuser dans la communauté.
Roster : Equipe de 6 Pokémon ou moins qu'un dresseur d'une classe donnée peut posséder. Dans la première génération, tous les dresseurs d'une même classe étaient en fait le même dresseur mais avec un roster différent.
Script : Séquence d'instructions à exécuter. Par exemple, un fichier LUA, habituellement utilisé dans un émulateur pour assister le joueur. Autre exemple, les maps de la première et deuxième génération possèdent plusieurs scripts, l'un d'entre eux étant exécuté en continu pour effectuer certaines actions, comme rencontrer des dresseurs. Certaines adresses mémoire sont utilisées différemment en fonction du script courant, souvent appelé "le script de la map".
SID : Pour “Secret ID”. Nombre hexadécimal à 4 chiffres unique pour une partie donnée, invisible par le joueur, mis en place depuis la troisième génération. Le SID joue un rôle dans la détermination du caractère chromatique (shiny) du Pokémon, mais sert également à contrôler qu'un Pokémon n'a pas été modifié par un logiciel externe ; auquel cas il est transformé en Mauv. Oeuf.
Slide Pokémon : Dans le cadre de l'ACE, définit un Pokémon dont une partie ou tous les octets ont des valeurs qui correspondent à des opcodes permettant à l’exécution du code de “glisser” de ce Pokémon à celui qui intéresse vraiment le joueur, pour des raisons pratiques.
Sprite : Unité graphique pouvant être déplacée indépendamment du fond. Utilisés par exemple pour le joueur et PNJs sur la map, ou pour la plupart des animations de combat.
Super Glitch : Désigne une classe de corruption de la RAM, provoquée par l'overflow d'un tampon initié par le nom d’une Attaque ou d’un Objet glitch unterminated name, dans la première génération. Elle peut provoquer l'Effet PokéPC et/ou l'Effet TMTRAINER. Cooltrainer en est un cas particulier.
Stack : en français, pile. Mécanisme du processeur par le biais duquel on peut "empiler" des valeurs, afin de les récupérer en commençant par la dernière à avoir été stockée. Le stack est crucial pour les appels de fonction.
Tampon : Zone de stockage provisoire dans la RAM, qui sert à conserver différentes données, comme par exemple les derniers noms ou sprites visualisés. En anglais, on dit "Buffer".
Terminateur : Control character dont la fonction est de terminer la lecture (et donc l'affichage) d'un nom dans une boîte de dialogue. L'absence de terminateur, par exemple à cause de l'Effet PokéPC, entraîne ce qu'on appelle un Unterminated name.
Teru-sama : Objet de la deuxième génération, impossible à obtenir dans le jeu sans glitch ou code, qui sert de placeholder pour éviter la présence d'objets glitch.
TID : Trainer ID ou ID de Dresseur, voire simplement ID. Il est visible par le joueur à plusieurs endroits du jeu et est unique à la partie. C'est le pendant visible du SID ; si le couple TID/SID ne colle pas, alors le jeu peut prendre ça comme une tentative de triche et transformer un Pokémon en Mauv. Oeuf.
Tileset : Il s'agit de l'ensemble des tuiles et sub-tiles disponibles. Le jeu dispose généralement de plusieurs tileset désignés par un Identifiant et charge celui qui correspond à la map - ce qui explique pourquoi plusieurs tuiles, mais de tileset différents, ont le même Identifiant.
Tuile (Sub-tile, Tileblock) : Petit bloc de 2x2 unités graphiques (les sub-tiles), identifié par un Identifiant et constituant une portion de la map visible à l'écran (par exemple, un arbre). En anglais, se dit "tile". Un bloc de 4 tuiles s'appelle un tileblock.
Underflow : Littéralement, "soupassement". Consiste à faire déborder une valeur par en-dessous, ce qui donne la valeur maximale. Par exemple, avec un octet, soustraire 1 à 0 retourne 255.
Unterminated name : Peut se dire d'un nom, quel qu'il soit, ne possédant pas ou plus de terminateur, ce qui cause des overflow de tampon lors de sa copie et son affichage. De tels noms d'attaques et d'objets sont à l'origine de Super Glitch.
Warp : Entité reliant deux maps, et permettant au joueur de passer de l'une vers l'autre. Par exemple, les portes sont "équipées" de warps pour faire rentrer dans les bâtiments.
WTW : Pour "Walk through walls", soit littéralement "marcher à travers les murs", nom (techniquement inexact) désignant un état où le joueur peut se déplacer librement, en ignorant les propriétés du terrain - donc passer au-dessus de tous les objets - grâce à un glitch ou un code.
ZZAZZ : Type de corruption de la première génération, provoquée par un Dresseur Glitch et remplaçant la valeur de deux octets sur trois par $99. Cela insère dans les noms la lettre Z, dont l’Identifiant est $99, et remplace des Pokémon par des Bulbizarre possédant l'attaque Explosion, pour la même raison. Cause également des unterminated name qui peuvent détruire la partie en cas de sauvegarde.
Page Précédente : MissingNo. et les autres glitches
Page suivante : Correspondance 1G