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.
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.
Times are approximate. Check speedrun.com/pkmnred for current world records.
AXIS 2 — COMPLETION GOAL (what you must achieve)
Click any ● to jump to that category's details. Empty cells have no established competitive leaderboard.
● = active category · ○ = no established category
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
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
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
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
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.
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)
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%.
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.
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)
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.
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.
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.
After the skip, the player loops back to defeat Brock later when convenient (or not at all in non-All-Gyms categories).
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.
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.
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.
"Dropping" one of these phantom items writes a chosen byte to a chosen memory address, giving runners a limited arbitrary write primitive.
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.
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.
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.