Pokémon Red and Blue

From Glitch City Wiki
Jump to navigation Jump to search

Pokémon Red Version and Pokémon Blue Version were the first two Pokémon games released in the Western world. They were released simultaneously, and as such they have the same game engine, with the only difference between them being the wild Pokémon available in some areas, default names for the player and the rival, and other more minor differences (like the Pokémon available in the Game Corner and their prices). Even though they are often regarded as the localizations of Japanese Pokémon Red and Green, some aspects of them are actually based on Japanese Pokémon Blue.

As Generation I games, they are known as two of the most glitchy Pokémon games. Even though some glitches (notably the Select glitch) are fixed compared to their corresponding Japanese versions, the games are still easily breakable thanks to the multiple variants of the trainer escape glitch, a save corruption glitch that can give the player an expanded party with 255 Pokémon, as well as several other major glitches. In addition, the localization also introduced some new glitches, notably the old man glitch, which is nearly as game-breaking as the trainer escape glitch: Both glitches allow the player to encounter a glitch Pokémon with Pokédex number 0 (MissingNo. or 'M (00)), and perform a series of derivative glitches, ending up with an expanded item pack.

Game-breaking glitches

The fastest way to break Pokémon Red and Blue is with save corruption, which can be performed as soon as the player gains control of the main character. Successfully performing save corruption will usually give the player an expanded party with 255 Pokémon, which can be exploited by switching Pokémon beyond the 6th, something similar to what the Select glitch allows the player to do in Japanese games (although the details are fairly different because of the difference in Pokémon data structures). However, this approach also has a few disadvantages: The timing for performing the save corruption is very tight, and switching Pokémon around is a complicated process involving several memory regions, which means that it is difficult to design "clean" ways to exploit the expanded party.

For players who do not want to perform save corruption, the earliest major glitch that can be performed is the death-warp method of the trainer escape glitch, because the player can death-warp in front of the last trainer in Viridian Forest. Unfortunately, this early in the game, the player cannot fight an enemy with a special stat high enough to correspond to MissingNo. (or any other glitch Pokémon), so the best the player can do with the special stat encounter is to experience underflow for an early level 100 Pokémon. However, there exists a speedrun route that instead exploits the meta-map script activation aspect of the trainer escape glitch for a very specific ACE involving the player's name and Trainer ID (which can be manipulated), as well as the in-game timer (where the runner would hope for "safe" values). Of course, the aforementioned strict requirements again mean that this approach is not suitable for casual players, even though the ACE itself could be adapted for purposes other than warping directly to the credit.

The most common gateway to breaking the game is therefore MissingNo. or 'M (00). MissingNo. can be encountered with the trainer escape glitch (once the player has access to enemies with higher special stats), and either or both of them can be encountered with the old man glitch depending on the player's name (notably, at least one of them could be encountered, regardless of the player's name: If the player entered a non-default name then 'M (00) is always available, while all three default names on either version make at least one MissingNo. available). Both those glitch Pokémon duplicates the player's 6th item, allowing the player to perform the dry underflow glitch (the other method of item underflow is also possible, but almost always less convenient) to obtain an expanded item pack. The expanded item pack allows the player to modify a wide range of memory addresses, as well as to acquire various glitch items, up to and including ACE items.

Brock Through Walls is also a major memory corruption glitch that can be performed early. However, since the range of memory corrupted consists mostly of temporary variables, the best known utility of it is, as its name suggests, walking through walls. It is commonly used to skip to a late-game area where the player can perform the aforementioned trainer escape glitch or old man glitch to encounter MissingNo. or 'M (00).

Glitch Pokémon

Main article: GlitchDex#Pokémon Red and Blue English GlitchDex

In Generation I games, there are 151 valid Pokémon species, while the species ID of a Pokémon is a byte that can take any of its 256 values. Therefore, there are 105 possible species of glitch Pokémon. Furthermore, the values of the internal IDs of valid Pokémon species are not contiguous, and instead ranges from 1 (Rhydon) to 190 (Victreebel), skipping over 39 invalid values in this range. In various data lists indexed by internal IDs, those 39 invalid IDs share the same placeholder data, including the name "MissingNo." (meaning "missing number"; this was translated from the Japanese string "けつばん" which means the same). Three of those IDs actually have a valid front sprite, that of a Kabutops Fossil (ID 182), an Aerodactyl Fossil (ID 183) or Pokémon Tower Ghost (ID 184), and they behave a little differently from other IDs. Otherwise, MissingNo. with different IDs behave largely the same. Therefore, all IDs of MissingNo. are commonly regarded as the same species.

The other 66 invalid IDs are out of the range for any data lists indexed by internal IDs, so they take data from unrelated memory regions, and are generally more different from each other. However, for each of those glitch Pokémon species, one value that is particularly important is the Pokédex number. Valid Pokémon have Pokédex numbers ranging from 1 to 151, and MissingNo. has Pokédex number 0, but glitch Pokémon other than MissingNo. can have Pokédex numbers in either or neither of those ranges. Pokémon species sharing the same Pokédex number will also share certain traits, and are known as a glitch Pokémon family.

Obtaining

Glitch Pokémon with an internal ID less than or equal to 199 can be encountered and caught with the trainer escape glitch or the old man glitch. (Glitch Pokémon with an internal ID greater than 199 cannot be directly encountered with those glitches, because the game will interpret the encounter as a trainer battle instead.) The old man glitch is further limited by the characters available for naming the player character, and usually needs planning ahead if the player wants a specific glitch Pokémon. Meanwhile, the trainer escape glitch has the limitation of not being able to trigger an encounter with a Pokémon with internal ID 0, so 'M (00) cannot be obtained this way; but otherwise, the Ditto trick can help the player to set up an encounter with any Pokémon with an internal ID in the range 1 to 199.

In cases where the above two methods are impossible or inconvenient for any reason, other methods may exist, such as evolving another glitch Pokémon, equivalent trade from Yellow if the glitch Pokémon with the same ID happens to be easier to obtain there, Time Capsule exploit, or in-battle corruption techniques like the LOL glitch. In any case, arbitrary code execution always exists as a relatively easy way to obtain an arbitrary glitch Pokémon.