GAME BOY • 1996  |  RED & BLUE

POKÉMON RED / BLUE
SPEEDRUN CATEGORIES

A complete breakdown of every major speedrun category, the glitches that power them, and how they all relate to each other.

WHAT IS SPEEDRUNNING?

Speedrunning is the practice of completing a video game as fast as possible — often by exploiting unintended behaviour in the code. Pokémon Red and Blue (1996) have one of the richest speedrunning scenes in all of gaming. The Game Boy's relatively simple architecture contains a surprising number of exploitable bugs, ranging from minor RNG tricks all the way to full Arbitrary Code Execution.

Red and Blue share virtually the same code. The main version difference for speedrunning is which version-exclusive Pokémon are available — critical only in "Catch 'Em All" categories.

Every category is defined by two independent decisions: what you must complete (the goal) and which tricks are allowed (the ruleset). Understanding those two axes unlocks the entire category map.

THE TWO AXES

AXIS 1 — GLITCH RULESET (how many tricks are allowed)

Categories range from zero exploitation all the way to writing custom machine code into the Game Boy's RAM. More permissive rulesets produce dramatically shorter times.

GLITCHLESS
No unintended mechanics whatsoever
~1:44
NO MAJOR SKIPS
Minor glitches OK, no sequence breaks
~1:27
ANY% (NO ACE)
Full glitches, no code execution
~0:58
ANY% (ACE)
Everything allowed incl. custom code
~0:02

Times are approximate. Check speedrun.com/pkmnred for current world records.

AXIS 2 — COMPLETION GOAL (what you must achieve)

ANY% (CHAMPION)
Defeat the Elite Four and your Rival. Credits roll. The minimal goal.
ALL GYMS
Defeat all 8 Gym Leaders AND the Elite Four. All 8 badges must be obtained.
CATCH 'EM ALL
Register all 151 Pokémon in the Pokédex. Requires both version exclusives.
DIPLOMA
Catch all 151 AND receive the in-game diploma from the Game Freak office in Celadon.
CATEGORY MATRIX

Click any to jump to that category's details. Empty cells have no established competitive leaderboard.

GLITCHLESS
NO MAJOR SKIPS
ANY% (NO ACE)
ANY% (ACE)
CHAMPION
ALL GYMS
CATCH 'EM ALL

● = active category  ·  ○ = no established category

CATEGORY DETAILS
ANY% GLITCHLESS
Fastest fully-legitimate completion
GLITCHLESS
APPROX WORLD RECORD
~1:44

The "purest" form of the run — no unintended mechanics, no save-quit abuse, no out-of-bounds. Every second saved is raw execution skill.

Despite the name, RNG manipulation is still used heavily. The RNG advances every frame, so controlling which frame you press A determines your starter's stats, damage rolls, and encounter rates.

  • Frame-perfect RNG manipulation
  • Optimal movement routes (fewest steps)
  • Efficient menu navigation
  • Any glitch or unintended mechanic
  • Save + Quit for state manipulation
  • Out-of-bounds movement
TECHNIQUES USED
RNG Manipulation Route Optimisation
RELATIONS: The baseline — all other Any% categories are faster because they allow tricks. All Gyms (Glitchless) is slower because extra gyms must be visited.
ANY% NO MAJOR SKIPS
Minor glitches, no sequence breaks
NMS
APPROX WORLD RECORD
~1:27

NMS sits between Glitchless and full Any%. Minor glitches that don't break story progression are permitted. The key unlock is the Poké Doll trick, which skips a mandatory boss fight and the detour required to unlock it.

  • Minor glitches with no large sequence break
  • Poké Doll trick (skip Marowak ghost)
  • Save + Quit to reset RNG
  • Trainer Fly or memory corruption
  • Skipping entire gym routes
  • Brock Skip or Cooltrainer glitch
TECHNIQUES USED
Poké Doll Trick RNG Manipulation Save + Quit
RELATIONS: ~17 min faster than Glitchless Any% thanks to the Poké Doll skip. Popular middle-ground category — meaningful optimisation without the complexity of memory corruption.
ANY% (NO ACE)
All glitches except code execution
NO ACE
APPROX WORLD RECORD
~0:58

The full glitch toolkit is available — memory corruption, sequence breaks, map warps — but the runner must stop short of achieving ACE. This is the category most people mean when they say "Any%," as ACE is often tracked separately due to its extreme time impact.

The Trainer Fly glitch is the main engine of this category, enabling major sequence breaks across the map.

  • Trainer Fly / memory corruption
  • Brock Skip
  • Cooltrainer glitch
  • Ditto / species glitch
  • Super Glitch (limited)
  • Arbitrary Code Execution
TECHNIQUES USED
Trainer Fly Brock Skip Cooltrainer Glitch Ditto Glitch
RELATIONS: ~30 min faster than NMS. Often the main competitive leaderboard, since ACE eliminates meaningful optimisation decisions.
ANY% (ACE)
Arbitrary Code Execution allowed
ACE
APPROX WORLD RECORD
~0:02

The most technically extreme category. Via a chain of glitches, runners achieve ACE — making the Game Boy execute custom code they've authored by carefully arranging their Pokémon's names, item list, and party order as machine-code bytes.

The payload writes hall-of-fame data directly to RAM and fires the credits trigger. The entire game is completed in roughly two minutes. The route to ACE requires careful memory layout engineering rather than traditional gameplay.

  • Everything in Any% (No ACE)
  • Super Glitch as CPU hijack vector
  • Pokémon names used as Z80 opcodes
  • Item list as memory write primitive
TECHNIQUES USED
ACE Super Glitch Item Underflow Trainer Fly
NOTE: So dominant that it's typically on a separate leaderboard or excluded from "Any%" entirely. The run is more of an engineering puzzle than a test of in-game skill.
ALL GYMS (GLITCHLESS)
All 8 badges, no tricks
GLITCHLESS
APPROX WORLD RECORD
~2:05

All 8 Gym Leaders must be defeated before the Elite Four, with no glitches permitted. Adds roughly 20 minutes over Glitchless Any% due to mandatory extra battles and the backtracking between gyms.

GYM ORDER (OPTIMAL):
1. Brock — Pewter (Rock)
2. Misty — Cerulean (Water)
3. Lt. Surge — Vermilion (Electric)
4. Erika — Celadon (Grass)
5. Koga — Fuchsia (Poison)
6. Sabrina — Saffron (Psychic)
7. Blaine — Cinnabar Island (Fire)
8. Giovanni — Viridian (Ground)
RELATIONS: Shares all rules with Glitchless Any%, just with a stricter completion requirement. Route deviates because detours to each gym are mandatory.
ALL GYMS (NMS)
All 8 badges, minor glitches
NMS
APPROX WORLD RECORD
~1:50

NMS rules applied to the All Gyms goal. The Poké Doll trick is still valid and saves the Silph Scope detour, but all 8 gym badges must still be collected. The time saving over Glitchless All Gyms is similar to the NMS savings in Any%.

TECHNIQUES USED
Poké Doll Trick RNG Manipulation Save + Quit
ALL GYMS (ANY%)
Fastest route through all 8 badges
ANY%
APPROX WORLD RECORD
~1:05

Full glitch toolkit (minus ACE by convention on most boards), but all 8 gym badges must be shown before beating the Champion. Trainer Fly enables fast map traversal between gyms, but the badges can't be skipped — keeping the run from collapsing to 2 minutes.

The tension between "use glitches to go fast" and "must still visit all 8 gyms" makes route decisions genuinely interesting in this category.

TECHNIQUES USED
Trainer Fly Brock Skip Cooltrainer Glitch
RELATIONS: Much faster than NMS All Gyms due to sequence-breaking traversal. Slower than Any% Champion because all gyms are mandatory.
CATCH 'EM ALL (151)
Register all 151 Pokémon
151
APPROX WORLD RECORD
~3:30

The marathon event. Register all 151 Pokémon in the Pokédex. The challenge: Red and Blue each have version-exclusive Pokémon, and trade evolutions require two consoles to obtain legitimately. In speedrunning, the Ditto glitch and Old Man glitch let runners encounter any species without a second game.

  • Version exclusives (11 per version)
  • Trade evolutions (Kadabra, Machoke, Graveler, Haunter)
  • Gift Pokémon (Eevee, fossil choices, Hitmons)
  • Safari Zone catches (RNG-dependent)
  • All three starters (only one is choosable normally)
TECHNIQUES USED
MissingNo / Item Dupe Ditto Glitch Old Man Glitch RNG Manipulation
RELATIONS: The only category that necessitates glitches — a Glitchless 151 run would require a physical second Game Boy + link cable and is not competitively established. By far the longest category.
KEY TECHNIQUES & GLITCHES

These are the building blocks of Pokémon Red/Blue speedrunning. Click a technique tag on any category card to highlight the relevant entry below.

RNG MANIPULATION
GLITCHLESS NMS ANY%
The game's PRNG advances every video frame (~60 times per second). By pressing buttons on specific frames, runners control which values the RNG produces — guaranteeing max-damage rolls, a starter with ideal stats, and favourable wild encounter rates.
Impact: Used in every category. In Glitchless, it's the primary optimisation lever. A high-Attack starter roll can save 30+ seconds across the full run.
ROUTE OPTIMISATION
GLITCHLESS NMS ANY%
Every step on the overworld takes time. Runners minimise tile movement, avoid unnecessary encounters by choosing grass-free paths, and sequence-plan Pokémon evolution and move learning to avoid mid-run slowdowns. Town maps are memorised frame-perfectly.
Impact: Fundamental to all categories. A sub-optimal route in Glitchless adds minutes that can't be recovered elsewhere.
POKÉ DOLL TRICK
NMS ANY%
The ghostly Marowak blocking Pokémon Tower cannot normally be escaped or caught — it must be defeated. However, using the Poké Doll item during the battle activates the standard "flee" code path, which the ghost battle doesn't guard against. The battle ends without a fight, and critically, the game still clears the blocking flag.

This avoids the entire detour through Celadon City's Game Corner to win the Silph Scope — the item normally required to reveal and fight the ghost.
Impact: Saves ~10–15 minutes in NMS by eliminating the Celadon Game Corner detour. The single most impactful minor trick in the game.
SAVE + QUIT
NMS ANY%
Saving and soft-resetting reseeds certain game variables, including the encounter step counter and some RNG state. Used strategically to avoid a bad RNG state that would cause an unwanted random battle mid-route, or to reset the encounter timer before a long grass section.
Impact: Minor time save — typically seconds per use. Banned in Glitchless because resetting is itself an unintended state manipulation.
TRAINER FLY GLITCH
ANY%
When a trainer spots the player and initiates a battle, if the player uses a move that causes map transition (Fly, Dig, Teleport, or Escape Rope) before the battle fully starts, the game teleports the player away but doesn't clear the trainer's "currently battling" flag.

Walking near the trainer again causes the game to attempt to re-enter battle at the wrong time. The resulting desync corrupts nearby memory, which cascades into further exploitable glitch states across a large memory region.
Impact: The foundation of all memory-corruption routes. Without Trainer Fly, the more powerful glitches (Cooltrainer, Super Glitch, ACE) cannot be set up.
BROCK SKIP
ANY%
An NPC movement glitch that allows the player to bypass Brock's gym and continue past Pewter City without defeating the first gym leader. A specific trainer's movement pattern, combined with precise player positioning, creates a tile-collision state that opens the normally-locked gate north of Pewter City.

After the skip, the player loops back to defeat Brock later when convenient (or not at all in non-All-Gyms categories).
Impact: Saves the time of training up against Brock's Rock-types and the gym fight itself. More importantly, allows the runner to start the critical glitch setup earlier in the run.
OLD MAN GLITCH
ANY%
In Viridian City, an old man demonstrates how to catch Pokémon. To show the tutorial using "OLD MAN" as the trainer name, the game temporarily copies "OLD MAN" into the player's name buffer. After the tutorial, this buffer isn't fully cleared.

The same buffer doubles as part of the wild encounter table in certain map zones. Surfing on the east coast of Cinnabar Island falls into one of those zones, so the leftover "OLD MAN" characters are read as Pokémon species and level data — producing MissingNo and other glitch encounters.
Impact: The trigger for MissingNo encounters and the item-duplication side effect. Essential for Catch 'Em All strategies.
MISSINGNO & ITEM DUPLICATION
ANY%
MissingNo is a "glitch Pokémon" produced by the Old Man Glitch. Encountering it (win, lose, or flee — it doesn't matter) triggers a side effect: the quantity byte of the 6th item in the bag is written with a corrupted value, typically setting it to 128 or adding 128 to the existing count. With a Master Ball or Rare Candy in slot 6, the runner suddenly has 128+ of that item.
Impact: 128 Rare Candies = instant max-level Pokémon for any catch needed. 128 Master Balls = guaranteed capture of any Pokémon. Cornerstone of Catch 'Em All routing.
DITTO / SPECIES GLITCH
ANY%
When certain battle conditions cause a Pokémon's Special stat to be read as a species index, the game uses that value to determine what Pokémon appears in the next wild encounter. By engineering a Pokémon to have a specific Special stat value before entering a wild encounter area, runners can force any of the 251 possible species slots to appear.

The most common trigger is using a Pokémon to lower a wild Ditto's Special stat (which Ditto then copies via Transform), then fleeing — the Special value persists into the next encounter.
Impact: Lets runners encounter all 151 Pokémon on a single cartridge. Every version-exclusive, every starter, every legendary — all obtainable by setting the right Special stat.
COOLTRAINER GLITCH
ANY%
A specific variant of Trainer Fly that uses a "CoolTrainer" class trainer. The resulting memory corruption differs from the generic Trainer Fly outcome in a predictable, controlled way — making it a reliable stepping stone for ACE setup.

By engineering the player's Special stat to a specific value before triggering the glitch, the corruption lands on a known set of memory addresses, which can then be further manipulated.
Impact: More deterministic than generic Trainer Fly. Key intermediate step in ACE setups because the corruption is reproducible across runs.
SUPER GLITCH
ANY%
Caused by a Pokémon knowing a move with an internal index of 0x00 (a null / non-existent move). Using this move causes the battle engine to jump to memory address 0x0000 and execute whatever bytes live there as Z80 machine code. In an uncontrolled state this crashes the game, but with a carefully-prepared memory layout the CPU jumps into runner-controlled code.
Impact: One of the final steps in ACE setup — provides the CPU jump needed to hand control to the runner's payload. Chaotic without prior memory preparation.
ITEM COUNT UNDERFLOW
ANY%
The bag item list is stored in RAM as a sequential array: [count, item ID, count, item ID, ...]. The item count byte is unsigned — if manipulated to subtract past zero, it wraps to 255. This expands the "visible" item list far beyond the actual bag, causing item slots 20–255 to read from arbitrary game memory as item IDs and quantities.

"Dropping" one of these phantom items writes a chosen byte to a chosen memory address, giving runners a limited arbitrary write primitive.
Impact: Used in ACE setups to write specific values to specific memory locations — an important bridge between memory corruption and full code execution.
ARBITRARY CODE EXECUTION (ACE)
ANY% (ACE ONLY)
The pinnacle of Pokémon Red/Blue exploitation. After a chain of glitches place the CPU's instruction pointer into a runner-controlled memory region, the runner's payload executes. That payload is authored as Pokémon names — each character in a Pokémon's name maps to an ASCII code that doubles as a Z80 machine-code opcode.

For example, character "r" = byte 0x72 = Z80 opcode LD (HL),D. By choosing names carefully, runners write a short program that sets the game's hall-of-fame completion flag and triggers the end-credits sequence.
Impact: Reduces any% from ~58 minutes to ~2 minutes. So powerful it eliminates most conventional optimisation decisions, which is why it's typically tracked separately.
HOW THE CATEGORIES RELATE

Each stricter category is a subset of every category to its right — a Glitchless Any% run is simultaneously a valid (slow) Any% run. The completion goal adds an orthogonal constraint on top.

← MORE RESTRICTIVE                          LESS RESTRICTIVE → GLITCHLESS no unintended mechanics NO MAJOR SKIPS minor glitches OK ANY% (NO ACE) full glitches, no ACE ANY% (ACE) code execution allowed CHAMPION ALL GYMS CATCH 151 GLITCHLESS ~1:44 NMS ~1:27 NO ACE ~0:58 ACE ~0:02 GLITCHLESS ~2:05 NMS ~1:50 N / A ANY% ~1:05 N / A N / A N / A ANY% ~3:30 Active category No established category Ruleset applies to goal
READING THE DIAGRAM:
The top row is the glitch-ruleset axis (Glitchless → ACE). The rows below group categories by completion goal. Dashed vertical lines show which rulesets apply to which goals. N/A cells exist either because glitches are required for that goal (you can't catch all 151 without the Ditto glitch) or because the community simply hasn't established a competitive leaderboard for that combination.