Game Boy Classic

MissingNo. erklärt: So entstand der berühmte Pokémon-Glitch

Grauer Handheld mit dunklem Display, Modul und Pixelnotizen – KI-generiertes Symbolbild zum MissingNo Glitch

MissingNo. ist kein geheimes reguläres Pokémon, sondern das sichtbare Ergebnis eines fehlerhaften Zugriffs auf Spieldaten. Beim bekannten Küstentrick in den englischen Editionen Rot und Blau werden zuvor gespeicherte Namensdaten als Angaben für wilde Begegnungen gelesen. Dadurch können ungewöhnliche Gegner, Level und MissingNo.-Varianten entstehen. Der MissingNo Glitch ist deshalb technisch erklärbar – aber weder für jede Edition identisch noch pauschal gefahrlos für einen Spielstand.

Artikelbild: KI-generiertes Symbolbild mit Handheld und abstrakten Pixelnotizen; keine historische Originalaufnahme oder Aufnahme des tatsächlichen Glitchs.

Was bedeutet MissingNo.?

Die Bezeichnung wird als „Missing Number“, also fehlende Nummer, gelesen. Sie bezeichnet eine Gruppe von Glitch-Pokémon, nicht eine zusätzliche reguläre Spezies hinter Mew. Wichtig ist außerdem die Trennung zwischen dem sichtbaren Namen und der Methode, mit der eine Begegnung ausgelöst wird. Der sogenannte Old-Man-Trick kann unterschiedliche Gegner hervorbringen; nicht jede fehlerhafte Begegnung ist automatisch dasselbe MissingNo.

Die Dokumentation der Glitch-Forschung unterscheidet mehrere Varianten und warnt davor, ihre Eigenschaften zwischen Editionen und Sprachfassungen zu übertragen. Auch das optisch ähnliche ‚M ist gesondert zu betrachten. Quelle: archivierte Dokumentation der Glitch City Wiki.

Ein hilfreiches Bild für das Grundproblem ist eine falsch beschriftete Schublade: Die Daten sind vorhanden, aber das Programm liest sie in einem Zusammenhang, für den sie nicht bestimmt sind. Aus einem Wert, der zuvor zu einem Namen gehörte, kann beim nächsten Zugriff eine Gegnerkennung werden. Das Bild erklärt das Prinzip; es ersetzt nicht die konkreten Abläufe im Programmcode.

Welche Belege liegen der Erklärung zugrunde?

Das Projekt pret/pokered rekonstruiert Pokémon Red und Blue als lesbaren Assemblercode. Seine Projektbeschreibung nennt konkrete englische ROM-Fassungen samt Prüfsummen. Das ist keine Behauptung über sämtliche weltweit veröffentlichten Module und auch kein von Nintendo veröffentlichter Originalquelltext. Es ist eine nachvollziehbare Disassemblierung, mit der sich die Verarbeitung der Daten untersuchen lässt.

Die folgende Erklärung verbindet diese Codelektüre mit dokumentierten Beobachtungen der Glitch-Forschung. Wir behaupten damit keinen eigenen Hardwaretest. Wer ein bestimmtes Ergebnis nachstellen oder eine Abweichung erklären möchte, muss Edition, Sprache und Programmfassung festhalten. Ein Video ohne diese Angaben kann ein interessantes Beispiel zeigen, liefert aber keine allgemeine Funktionsgarantie.

Der bekannte Küstentrick in seinen einzelnen Schritten

Für die englischen Fassungen von Rot und Blau beschreibt die klassische Methode diese Reihenfolge: Man lässt sich vom alten Mann in Vertania City das Fangen vorführen, fliegt danach zur Zinnoberinsel und surft an deren östlicher Küste. Welche Begegnungen folgen, hängt unter anderem vom gespeicherten Spielernamen ab. Die Fähigkeiten Fliegen und Surfer sowie der Zugang zu den Orten werden dabei vorausgesetzt. Eine technische Lehrunterlage von Adam Gleitman dokumentiert diese Abfolge ebenfalls. Quelle: The Game Mechanics of Pokémon, Spark 2013.

Die Reihenfolge ist keine magische Beschwörung. Jeder Schritt bereitet Daten für den nächsten vor. Wer zwischendurch einen Ort betritt, der die betreffenden Werte ersetzt, verändert die Ausgangslage. Ebenso ist „an der Küste surfen“ ungenau: Der entscheidende Unterschied liegt in bestimmten Uferfeldern. Eine gewöhnliche Wasserbegegnung erklärt den Fehler nicht.

Schritt Was im Spiel sichtbar ist Technisch relevante Funktion
Fangvorführung Der alte Mann übernimmt die Demonstration Der Spielername wird vorübergehend in einen anderen Speicherbereich kopiert
Reise zur Insel Die Figur wechselt den Ort Die zuvor belegten Begegnungsdaten werden hier nicht vollständig ersetzt
Surfen am passenden Ufer Eine wilde Begegnung beginnt Die Prüfung des Geländes und die Auswahl der Tabelle passen nicht zusammen
Gegner wird geladen Name, Level und Grafik erscheinen Die gelesenen Bytes werden als Level und interne Artkennung interpretiert

1. Warum der Name des Spielers eine Rolle spielt

Während der Fangvorführung soll nicht der normale Spielername erscheinen. Im rekonstruierten Kampfcode wird der Name deshalb vorübergehend nach wLinkEnemyTrainerName kopiert. Die Kommentare der Disassemblierung benennen den Zusammenhang zum bekannten Glitch ausdrücklich. Quelle: Kampfcode von pret/pokered, DisplayBattleMenu.

Warum das Begegnungen beeinflusst, zeigt die Speicherdefinition in ram/wram.asm: Der Bereich für den Namen eines Verbindungspartners überlagert sich mit dem Bereich für Gras-Begegnungsrate und Begegnungsliste. Mehrfach genutzter Speicher ist für sich genommen kein Fehler. Solange ein Programm sicherstellt, dass vor jeder Verwendung die passenden Daten geladen werden, funktioniert diese Anordnung.

Die entscheidende Bedingung lautet also nicht „Namen dürfen niemals dort liegen“. Entscheidend ist, ob sie rechtzeitig durch gültige Begegnungsdaten ersetzt werden. Aus dieser Unterscheidung lässt sich auch verstehen, warum Spieler mit unterschiedlichen Namen unterschiedliche Ergebnisse sehen können: Das Programm verarbeitet konkrete Zeichencodes, keine Bedeutung des Namens.

2. Warum die alten Daten erhalten bleiben können

Die Routine LoadWildData lädt die Angaben für eine Karte. Ist deren Gras-Begegnungsrate null, überspringt sie das Kopieren der zugehörigen Liste und fährt mit den Wasserdaten fort. Die alte Liste wird in diesem Zweig nicht ausdrücklich geleert. Quelle: Routine zum Laden der Wild-Pokémon-Daten.

Das ist normalerweise unauffällig: Wo keine Grasbegegnungen vorgesehen sind, sollte niemand die alte Grasliste benötigen. Erst wenn ein weiterer Ablauf trotzdem auf diese Liste zugreift, wird der vorherige Inhalt relevant. MissingNo. lässt sich deshalb besser als Zusammenspiel mehrerer Voraussetzungen erklären als mit dem Satz, eine Küste sei einfach „falsch programmiert“.

3. Warum ausgerechnet bestimmte Uferfelder wichtig sind

Der Begegnungscode prüft verschiedene Teilfelder eines Kartenblocks. Ein Teil der Routine kann eine Begegnung wegen eines Wasserfeldes zulassen. Bei der anschließenden Entscheidung zwischen Wasser- und Grasliste wird aber ein anderes Teilfeld betrachtet. Der Kommentar nennt die östliche Küste der Zinnoberinsel ausdrücklich als Beispiel dafür, dass solche Uferblöcke Grasbegegnungen laden.

Die Analyse dieses Ablaufs erklärt, warum die Lage innerhalb eines Blocks zählt. Für den Spieler sieht eine Küste wie eine durchgehende Linie aus. Für das Programm besteht sie aus einzelnen Kacheln und Abfragen. Zwei optisch ähnliche Bewegungen können deshalb verschiedene Datenpfade auslösen. Die Information „Surfer ist aktiv“ genügt nicht, um die tatsächlich ausgewählte Begegnungsliste vorherzusagen.

Interne Kennung und Pokédex-Nummer sind verschieden

Der interne Artenindex entspricht nicht einfach der Reihenfolge im Pokédex. In der Umrechnungstabelle PokedexOrder stehen reguläre Arten und Einträge mit dem Wert null, die als MissingNo. kommentiert sind. Eine ungültige beziehungsweise nicht regulär belegte Position darf deshalb nicht als zusätzliche geplante Pokédex-Art interpretiert werden.

Auch die Darstellung ist ein eigener Verarbeitungsschritt. Die Laderoutinen für Pokémon-Daten und Grafiken enthalten Sonderfälle für Fossilien und Geistgrafik sowie eine Behandlung ungültiger Pokédex-Nummern. Das zeigt, warum ein einzelner Name auf dem Bildschirm nicht ausreicht, um alle Eigenschaften einer Begegnung zu bestimmen. Gleiche oder ähnliche Bezeichnungen können auf unterschiedliche interne Werte und Darstellungen treffen.

Item-Vermehrung und Risiken: Was man auseinanderhalten muss

Beim bekannten Effekt kann die Menge des sechsten Beutelgegenstands steigen. Dokumentiert ist eine Veränderung um 128, wenn die Menge zuvor unter 128 lag. Das ist keine vollständige Kopie des Inventars. Der Effekt wird bereits mit der Begegnung verknüpft; Fangen ist dafür nicht die allgemeine Voraussetzung. Die Glitch-City-Dokumentation beschreibt außerdem Veränderungen an der Ruhmeshalle und je nach Variante Grafikprobleme oder Abstürze.

Eine beschädigte Ruhmeshallenanzeige, ein Darstellungsfehler und ein vollständig unbrauchbarer Spielstand sind unterschiedliche Schadensbilder. Aus einem beobachteten Effekt folgt nicht automatisch jeder andere. Umgekehrt wäre „funktioniert bei mir“ keine belastbare Sicherheitsgarantie. Wer den Glitch untersuchen möchte, sollte dafür eine getrennte, wiederherstellbare Kopie verwenden und einen wertvollen Originalspielstand nicht als Testumgebung behandeln.

Warum englische Anleitungen nicht für jede Edition gelten

Die Glitch-Forschung dokumentiert den klassischen Old-Man-Trick nicht für Gelb oder die japanischen Fassungen von Rot und Grün. Andere Sprachfassungen weisen weitere Unterschiede auf. Für ein deutsches Modul ist deshalb zuerst eine passende Untersuchung nötig; die oben beschriebene englische Codebasis allein beweist dessen Verhalten nicht. Auch Neuauflagen und bearbeitete Fanversionen dürfen nicht stillschweigend gleichgesetzt werden.

Ebenso wichtig ist die Abgrenzung zu absichtlich versteckten Inhalten. Bei einem Easter Egg gehört die Überraschung zur Entwicklerabsicht. Bei MissingNo. entsteht das ungewöhnliche Spielerlebnis durch Datenverarbeitung außerhalb des regulär vorgesehenen Ablaufs. Beides kann Neugier wecken, hat aber eine andere technische Entstehung. Zur ursprünglichen Hardware passt unsere Übersicht zu Game-Boy-Modellen.

Häufige Fragen zum MissingNo Glitch

Ist MissingNo. das Pokémon mit der Nummer 152?

Nein. Eine fehlerhafte interne Kennung ist keine zusätzliche reguläre Pokédex-Art. Die sichtbare Bezeichnung lässt sich nicht einfach hinter die bekannte Artenliste setzen.

Muss man MissingNo. für den Item-Effekt fangen?

Für den bekannten Begegnungseffekt ist Fangen nicht generell nötig. Daraus folgt keine Empfehlung, den Glitch ohne Sicherung auszuprobieren.

Warum erscheint bei mir ein anderer Gegner?

Beim beschriebenen Trick beeinflussen zuvor gespeicherte Namensdaten die Auswahl. Edition, Sprache und Zwischenschritte können das Ergebnis ebenfalls verändern.

Funktioniert derselbe Küstentrick in Pokémon Gelb?

Die klassische Abfolge ist dort laut Glitch-Dokumentation nicht vorhanden. Andere Wege zu Glitch-Pokémon sind eine gesonderte Untersuchung.

Löscht MissingNo. immer den gesamten Spielstand?

Eine solche pauschale Aussage ist nicht belegt. Dokumentiert sind konkrete Daten- und Darstellungsprobleme. Ebenso unbegründet wäre aber eine allgemeine Garantie, dass jede Variante harmlos bleibt.

Click to rate this post!
[Total: 0 Average: 0]