Submission #1489: FractalFusion's GBC Pokémon Yellow in 1:35:10.73

Game Boy Color
(Submitted: Pokémon Yellow)
0215 - Pokémon Yellow (U)(RSAT).gbc
Submitted by FractalFusion on 3/19/2007 11:24 PM
Submission Comments
Pokemon Yellow in 1:35:11 by FractalFusion. It was inspired by the discovery of a L100 Pokemon glitch as well as the discovery of a trainer-fly glitch opportunity near the beginning that does not exist in Red/Blue. It only took a week to do.
This run uses VBA rerecording 19.2. No real-time clock is required.


  • Uses no predefined saves
  • Aims for fastest time
  • No damage
  • Abuses programming errors in the game
  • Manipulates luck

No damage

Not only does the player not suffer any damage, no enemy move is ever permitted. Not one, thanks to Pikachu's Thundershock as well as its speed stat, and this glitch to send Nidoking to L100.
  • Nidoking suffers confusion once after using Thrash. This does not count as damage.
  • Nidoking has less than max health in the last 5 battles. This is because of the box trick and has nothing to do with damage.

Programming errors abused

  • The well-known "trainer/fly glitch", which is a misnomer since Escape Rope can also be used. Recently, it has been discovered that influencing the Attack stat modifier of the trigger Pokémon affects the level of the target Pokémon, which sets up the next glitch.
  • Experience underflow on L1 fading-experience Pokémon (such as Nidoking), known a long time ago but not applicable until now. This leads to L100 Pokémon. Level 1 Pokémon can only be obtained through glitches.
  • Pokédoll on ghost Marowak in Pokétower. Avoids having to get Silph Scope.
  • Using Escape Rope while standing on a teleporter in Sabrina's gym. The exit-screen animation is the faster teleport animation rather than the normal animation.
  • The box trick to raise L100 Nidoking's stats without leveling up. Stat experience is supposed to count only on a level-up. This also means Nidoking has less than max health during the last few battles, yet has taken no damage.
  • Not really a glitch, but rather a design exploit. There is a limit to how many items you can hold. Jamming the inventory prevents gym leaders from giving me useless TMs and saying how good they are. So I pick up seemingly unnecessary items and overspend on other items.
If it isn't clear already, I don't use the 1/256 miss glitch. The programmers also fixed the Cinnabar Island glitch (useless in this run) and Escape Rope usage in a couple buildings.
See also Pokémon Tricks for more information.

About the game and the run

Pokémon Red/Blue/Yellow is a turn-based move game where stats (Level, HP, Attack, Defense, Speed, Special), types, and type class (physical, special) are important. Red and Blue are clones of each other except for wild Pokémon differences, which are few and far between. Yellow differs from Red and Blue in the following ways:
  • Yellow is a GBC game and Red and Blue are SGB games.
  • In Yellow, the starter is a Pikachu.
  • Many trainers use different Pokémon with different levels.
  • There are a couple extra trainers in Viridian Forest, including one which can be used for trainer-fly.
  • There are places to pick up RB starters from some people. I get Charmander as a Cut slave.
  • Some Rockets have been replaced with special Rocket battles.
  • It is no longer possible to Escape Rope from Bill's house and the Pokémon Fan Club.
  • Having Pikachu causes extra cutscenes (so I deposit Pikachu before those scenes).
  • There are two extra cutscenes which involve catching a Pokémon.
  • The quiz machines in Blaine's gym don't repeat their instructions over and over. Also, the trainers there refuse to fight you before you use the machines (not that fighting them first is faster).
Pokémon Yellow models the anime show up to starting Pokémon, gym leader Pokémon, and special Rocket battles.
Although Red/Blue is inherently a "hard" Pokémon game to run and Yellow even more so, a single glitch (or two) instantly destroys the difficulty of this game. It's almost like link-trade, but without the unruly Pokémon issue! So the run is really about avoiding critical hits and super effective/not very effective messages (SE/NVE messages) except for the first few and last few battles.
Though there is little luck manipulation, it still exists, mainly in the form of controlling critical hits (either getting them or avoiding them when necessary). Luck manipulation affects damage variation, critical hits, wild Pokémon DVs and out-of-battle wild Pokémon encounters.
See Pokémon Tricks for more information.

Pokémon used

Nidoking is the L100 Pokémon (initially caught at L1 via trainer-fly, then experience underflow glitch used to go from L1 to L100). It is so powerful that it can destroy almost all Pokémon even with weak attacks. Given the right types of attacks, it can destroy anything in this game, but, in this run, I attempt to sweep with reasonable though non-optimal attacks. Nidoking is also home to HM Strength and HM Surf.
Pikachu is the starter. Its Thundershock can cause paralysis, and is the factor that led to my enemy-moveless run (paralyzed Pokémon have a chance of being unable to attack on a turn).
Pidgey is the HM Fly slave. While not necessary to beat the game, Fly transports the player quickly to towns already visited.
Charmander is the HM Cut slave. This RB starter is obtained directly from another person.

Moves used in battle

A quick review of move and damage mechanics:
Each Pokémon can only possess 4 moves. New moves must replace old ones.
Each move has a limited number of PP. If PP runs out, it can't be used until PP is restored. Each use of a move costs 1 PP. Thrash is slightly different (see below).
An attack has damage variation ranging from 217/255 times max damage to max damage (in other words, R/255 times max damage, where R is a random number between 217 and 255). Since the game uses integer division, max damage occurs rarely (only if R is 255).
Any move that is the same type as a Pokémon's type gets a 1.5x bonus.
Type matchups:
super effective = 2x damage
not very effective = 0.5x damage5
can't hit = 0 damage
If defending Pokémon has two types, match up each one separately and multiply together. Critical hit is slightly less than 2x (it's not a multiplier) if stats are not modified. If stats are modified, the modifications are ignored in a critical hit, always.
Physical-typed moves use Attack/Defense stats. Special-typed moves use one Special stat for both Special Attack and Special Defense.
Physical types: Normal, Fighting, Flying, Poison, Ground, Rock, Bug, Ghost.
Special types: Fire, Water, Grass, Electric, Psychic, Ice, Dragon.
Type Chart: fixme
Damage formula: { [ ( 0.4 * L + 2 ) * A * P / ( 50 * D ) ] + 2 } * X where L is Level, A is Attack/SpAtk, P is attack power, D is Defense/SpDef, and X is a combination of all relevant multipliers. In a critical hit, L is doubled. All division and fractional multiplication operate on integers (hence, truncation). The multipliers in X operate one-by-one on the number inside the brackets, not themselves first.
Note about weapon delays:
There are basically two types of weapon delay: short delay, and long delay.
  • Short-delay attacks: Poison Sting, Bubble, Bubblebeam, Ember, Thundershock, Thunderbolt, Ice Beam, etc.
    • Thrash is a special short-delay multiple-turn attack that has a long first-move delay.
  • Long-delay attacks: Tackle, Scratch, Water Gun, Mega Punch, Strength, Surf, etc.
On L100 Nidoking, I use short-delay attacks whenever possible. Short-delay attacks are about 50 frames faster than long-delay attacks, and the first move of Thrash is about 70 frames longer. The guideline I use is to use Thrash over 2 Pokémon if it saves 2 SE/NVE messages, and over 3 or 4 Pokémon if it saves 1 or more SE/NVE messages.
Note that SE/NVE messages occur even if the type matchups cancel (one is SE and the other is NVE). This is only true in RBY, not in later-generation games.
Here is a review of the moves used:
Thundershock is one of Pikachu's first moves. 40 power, Electric type. Can cause paralysis.
Growl is another of Pikachu's first moves. Non-damaging move. Can lower opponent's Attack stat modifier. Used only with trainer-fly glitch to glitch a L1 Nidoking.
Poison Sting is one of Nidoking's first moves. 15 power, Poison type. It is a short-delay attack, unlike Tackle and Horn Attack, and that makes all the difference. Unfortunately, Poison moves create a lot of SE/NVE messages.
Thrash is one of Nidoking's first moves. 90 power, Normal type, attacks 3 or 4 times and user is confused at the end. It is a short-delay attack with a long first-move delay. Although the menu is skipped during the multiple attacks, the first-move delay unfortunately makes Thrash less useful than it should be, but it is still useful nonetheless, especially since it rarely creates SE/NVE messages, and an entire set of attacks counts just 1 PP.
Bubblebeam is Nidoking's third useful move. 60 power, Water type, 30% chance to drop opponent's Speed. Another short-delay attack, and useful to avoid SE/NVE messages which Poison Sting can't avoid.
Strength is Nidoking's fourth useful move. 80 power, Normal type. A long-delay attack which only comes into play near the end of the game as a last-resort power move when Bubblebeam fails and Thrash is inconvenient.
Surf is Nidoking's fifth useful move. 95 power, Water type. Same role as Strength.
There are other moves but I don't use them.

Items used

In this run, I intentionally pick up items that I never use, and I overspend on stuff. The reason is that your inventory has a limit of 20 items. That means that if your inventory has 20 items when you beat a gym leader, that gym leader won't give you the TM, which saves a bit of time.
List of items I pick up:
  1. Potion
  2. Pokéball x3 (1 extra)
  3. Escape Rope x4, later 5 more (1 extra)
  4. Bide TM
  5. Helix Fossil
    1. Bubblebeam TM (used right away)
  6. Nugget
  7. SS Ticket
  8. Dig TM
  9. Cut HM
  10. Thunderbolt TM
  11. Bike Voucher/Bike
  12. Max Ether
  13. Pokédoll x2 (1 extra)
    1. Fresh Water (used up later)
  14. Fly HM
  15. Elixir (spelled "Elixer" by the game)
  16. Rare Candy
  17. Pokéflute
  18. Gold Teeth/Strength HM
  19. Surf HM
  20. Cardkey
Later, Elixir is used up to make room for Secret Key.
Items used:
  • Escape Ropes are used to escape from places which would take too long to exit. I use this 8 times.
  • Bike makes player go twice as fast outdoors, and allows access to Cycling Road.
  • An Elixir is used to restore some move PP.
  • A Pokédoll is used to chase the ghost Marowak in Pokétower without needing Silph Scope.

Overworld strategy

  • I avoid trainers if at all possible (unless using trainer-fly glitch). Trainers have a certain range in front which they can see.
  • The ! pops up over a trainer's head if I walk in front, so I go off my path for up to two steps to engage a trainer from the side or from behind if possible (and only if I can't avoid the trainer). With the bike, the maximum number of steps off the path increases to four.
  • I use HMs, TMs, and items prior to engaging an event that I can engage from the menu as well.

Run notes

Just because of the L100 Pokémon glitch, I can keep this short.
  • I luck-manipulate to get a Pikachu with DVs 32CC. Its Attack doesn't matter.
  • Eevee can be KOed with a max critical hit and two max non-critical hits, but I didn't pursue it because of the luck involved (the fact that the first couple worked out so easily was sheer luck).
  • Similarly, Caterpie can be KOed with 3 max critical hits.
  • Here's where I do the glitch. After performing the trainer-fly, I let the guy at Pewter's exit take me to Brock's gym (as part of activating the target Pokémon), then get in a fight with a wild Rattata with a Special of 7 (Nidoking's ID number). I tried a wild Pidgey but it cannot withstand a Thundershock, and it only knows Gust, meaning that I would have to manipulate 6 straight 1/256 misses while using Growl on it (and I prefer an enemy-moveless run).
  • After that, I luck-manipulate to get a L1 Nidoking with DVs FBEF. To raise it to L100, I need it to gain anywhere between 1 and 53 experience, inclusive, which is why I fight a wild L6 Pidgey. Pikachu's Thundershock takes Pidgey down to 1 HP and Nidoking finishes off after switching in. L100 Nidoking.
  • Poison Sting is fastest against Brock, even though I need a critical hit for the Onix (Poison Sting is weak, and Onix is double-resistant to Poison).
  • I deposit Pikachu in Cerulean; otherwise it causes extra scenes in Bill's house and the Pokémon Fan Club.
  • It is no longer possible to Escape Rope from Bill's house and the Pokémon Fan Club in Pokémon Yellow.
  • In Lt. Surge's gym, the second switch can be luck-manipulated by varying the time used to access the first switch.
  • I use Thrash against Cubone and Slowpoke in Rock Tunnel because I need to save a Bubblebeam.
  • In Silph Co., after reaching the 3rd floor, it's faster to head to the far teleporter than to go to the 5th floor through the stairs.
  • I Thrash Giovanni's Pokémon in Silph Co., including Rhyhorn!
  • In Sabrina's gym, it is faster to stand on a teleport square and use Escape Rope, due to the exit-screen animation being the faster teleport animation rather than the normal animation.
  • Against Giovanni in Viridian gym, I use Thrash first, then Bubblebeam on Rhydon. Self-confusion is not damage.
  • The box trick raises Nidoking's stats by about 10%. Useful for the Elite 4. I also deposit the other Pokémon to save time at the ending.
  • I see Cloyster a lot. Its Defense is high but I can cope.
  • A combination of Surf, Strength, Bubblebeam, and Thrash takes down the Elite 4. Lance's Aerodactyl has a Defense problem, so critical Thrash takes it down even though it's a Rock type.
  • In the final battle against Rival, animations are automatically turned on, so I use Strength and Thrash. The first two go down easily to Strength, and the rest go down to Thrash, with Cloyster going down just barely to a critical Thrash.
  • The run has an in-game time of 1:33.

Possible improvements

Simply put, better management of route and item collection. Remember that every item I take makes using items after that longer. I also didn't use a Max Ether although I thought I needed it.

Closing Notes

I know users have been under fire recently for voting no on popular runs, and I know this run is not deserving of 100% yes votes, so I will say this: regardless of whether you vote yes or no, please explain objectively why you voted yes or no. If you can't explain, don't vote. Thanks.
Thanks to the following who helped:
  • dfhuiwefhdasasasas, for bringing up the experience underflow glitch and link between attack stat modifier and target Pokémon level, and Mr. Pwnage for explaining the glitch.

Cancelled. A level-100 Pokemon run is not too impressive due to high expectations, and not entertaining to a casual viewer. Plus, this run was made too fast, without regard to planning. Which is too bad, since its goal really was to demonstrate an impressive glitch.
Last Edited by adelikat on 9/9/2023 9:28 PM
Page History Latest diff List referrers