Part 18: TAS part 1
If mystery person is willing to take the free account offered him a bit back we can get the post back and have the best of all worlds.
Good idea. Here I am, with an account generously donated by Not Operator. I'm sorry I made a stupid mistake earlier, but hopefully my TAS is an enjoyable addition to the update.
I've created a 96-minute input file which, when replayed in VisualBoy Advance 19.4 with a Pokemon Blue 1.0 (UE) [!].gb ROM will produce a video demonstrating the various bugs in Pokemon Blue. Unlike Metroixer's version, the input achieves this without any GameShark codes or RAM modification of any kind — everything you see could theoretically be produced on a real Super GameBoy, with an unmodified Pokemon Blue cartridge.
The primary goal of this video is to show off virtually every glitch I know. A secondary goal is to beat the Gym Leaders in reverse order, a goal which I almost accomplished. A tertiary goal was to achieve a total time below 102 minutes, the fastest Pokemon Red TAS ever. Of course, faster TASes exist for Pokemon Blue (88 minutes), Pokemon Green (4 minutes, 24 seconds), and Pokemon Yellow (2 minutes, 6 seconds).
To anyone with a good computer: Feel free to encode this video as a .avi file and post it to the internet, as long as you include a disclaimer stating that this is a tool-assisted superplay, and a link to this long explanation of the various glitches used.
For the benefit of those watching the video, and those on non-Windows operating systems who can't watch it, and those who can't find the right Pokemon Blue ROM, I've documented this TAS with about 250 screenshots. So, without further ado, behold the screenshots and the long explanations of what's going on.
This is a tool-assisted speedrun (TAS), so speed is of the essence. This input file took months to make, with a total of 44839 savestates reloaded so gameplay could be rerecorded. Most of what you see was played in frame-by-frame mode, to ensure maximal precision. The end result is a series of button presses that can be fed into the emulator to produce exactly the same results every time.
A challenger approaches!
The first glitch is this: It's possible to skip the opening battle with Professor Oak by pressing A quickly, to scroll through his dialogue before he can challenge you to a battle. We'll fight Oak later anyway, and from a TASing standpoint this is faster than trying to beat Oak's Lugia.
From this point on, I promise to tell the truth about glitches. To be clear: Yes, you can fight Oak. No, you don't fight him by waiting around in the opening screen. Yes, you can catch Lugia in Red/Blue. No, you can't do it on an emulator, as the trick requires trading. The Lugia trick will be one among many bugs, to be shown off in their full glory throughout this run.
Awww yeah. Normally a speedrun would go with the name I, to save time and be able to read "I received the CASCADEBADGE". This isn't a very serious speedrun, so we go with this name.
We don't see this guy enough to make it worth the 2 seconds it would take to name him "A".
FractalFusion discovered that you can make the next area load 1 frame (1/60th of a second) sooner by approaching doorways and stairs in a straight line for at least 1 step. To the mind of a TASer, this is an important speed difference.
Charmander can burn all of the Bug-types between Viridian city and where we get Gyarados, so he's the best choice.
Rival fight. Thanks to luck-manipulation, it goes very well.
The random number generator in Pokemon is partially based on user input. By taking savestates, it's possible to get precisely the results you want.
As a result, most fights can be won with a long series of critical hits. I hardly ever take damage in this run, unless it's deliberate.
"But, it failed" takes less time to display than "Enemy SQUIRTLE's attack missed", so I luck-manipulated to make Squirtle use Tail Whip.
Attacks can do variable damage, as the random number generator applies a multiplier between .85 and 1.00 to the maximum damage. I tend to maximize this variable damage, as many Pokemon need to be hit with high-damage criticals.
By taking savestates, I can avoid wild Pokemon. I simply wait for 1/60th of a second before walking into a patch of grass that would normally trigger an encounter.
The first Pokedex was actually a book, not an electronic device. The Anime and later games completely forgot about this detail.
Just an ordinary guy here.
This is the first battle I fight, other than the one with RED. Charmander is still at level 6.
Charmander heroically scratches Weedle for the flawless victory.
I buy some Poke Balls and Escape Rope, leaving me with almost no money.
Normally, this guy forces you to fight Brock. However, the objective of this run is to beat the Gyms in reverse order.
It's possible to press START and go to the menu while this guy is between dialogue boxes. If you moved the cursor over to SAVE in advance, it's possible to save and reset.
This lets you walk past Pewter City without fighting Brock.
Charmander can use Ember to burn through every Bug Type in this area.
(You'll notice that this screenshot is slightly modified, because I thought it was funnier this way. This is one of only 3 screenshots that will be modified, and I promise to point out the other 2.)
This trainer has 2 Pokemon, while the guy just below Sexxy mn has 4. Normally, fighting this trainer traps you, forcing you to fight the guy with 4 Pokemon.
Going back to the edge of the Pewter City loading zone and reloading this Route resets the trainer's positions, allowing me to pass.
I heal at Mt. Moon's Pokemon Center, then I go perform the TrainerFly glitch. This glitch can be performed with anything that moves the player back to the Pokemon Center, such as an Escape Rope. As you know, while in this glitched status, you can't use the Start or A buttons and trainers in the area where you first used Trainer-Fly won't fight you. To remedy this, you must be challenged by a trainer in a different area with at least 1 empty space separating the trainer from you. When you return to the area you started the glitch, you encounter a Pokemon based on the Special stat of the last Pokemon you encountered.
This lass' Bellsprout has a special stat of 22.
When we get to the lowest level of Mount Moon, we see a level 7 Gyarados. Gyarados is amazingly overpowered at this level, as it already knows Bite, Dragon Rage, Leer, and Hydro Pump.
RNG note: Any Poke Ball, under any circumstance, always has at least a 1/256 chance of catching its target. In a TAS, it's possible (though mind-numbingly repetitive) to repeatedly load a savestate until you figure out what frame has the RNG over this fortuitous number. It's like trying to get 256 on a giant roulette wheel by spinning it over and over, slightly increasing the force each time.
Gyarados destroys everything at this early point of the game, as Dragon Rage does 40 guaranteed damage to the opponent's hit points. Only a few opponent's Pokemon have more than 40 HP, and Hydro Pump takes care of any that do.
I go through Mount Moon, heal at the Pokemon Center, and defeat the Rival in Cerulean normally.
Here's the Rocket at the end of Nugget Bridge.
Just north of Nugget Bridge, I catch an Abra. The part where I walk around to catch it looks sloppy, but running into Abra on the first try is very hard, and the RNG was against me. Since I won't be getting Fly for a while, I use Abra to easily warp to the last Pokemon Center I healed at.
This isn't a glitch, this is what Teleport looks like in mid-warp. After talking to Bill, I warp back to the Cerulean Pokemon Center.
Another ordinary plot-mandatory battle. Dig is almost worthless in a TAS, because it takes 2 turns to do any damage.
Bike voucher, teleport to Cerulean, get a bike. I then heal in Vermillion to act as a checkpoint for Teleport. It's faster than walking to Cerulean and then teleporting back to Vermillion once I have the bike, for obvious reasons.
Another uneventful quest, and the S.S. Anne departs.
By going to this exact spot, the game loads the Snorlax blocking the way to Fuchsia City. This Snorlax is classed as a "disappearable object" - the game can remove it from the map after a certain event happens.
It's possible to fool this event flag by triggering the trainer-fly glitch. The last disappearable object encountered when you perform the trainer-fly trick disappears.
I fight this Bug Catcher to fix the trainer-fly glitch status. His Butterfree's Special stat causes a Chansey encounter, which isn't worth catching or fighting.
Snorlax is now gone. When you fight a Snorlax, it disappears from the map in the same way. Perhaps something about the confusing battle, and the Snorlax, made the game somehow think I had fought Snorlax. In any case, it goes away, obviating the sidequests that involve getting the Poke Flute.
The fastest way to defeat this Rocker's Electrode is to let it use Selfdestruct, and Gyarados needs to take some damage anyway.
Here's the next interesting glitch, the Safari Glitch. By entering the Safari Zone and trying to leave, this action somehow confuses the game as to whether or not you're in the Safari Zone.
By saving and resetting, it's possible to make the game think that you're not in the Safari Zone at all, and the gatekeeper greets you accordingly. By saying you don't want to go on safari, you're allowed to exit the building.
At this point, the clock is still ticking on your 500 allotted steps, though the Start menu doesn't show the count.
I use these steps to cycle around randomly, and then deposit Abra and Charmander in Bill's PC.
I then get Gyarados poisoned by a wild Bellsprout.
When you jump over a ledge, the game temporarily gives you the ability to walk through walls while it displays a hopping sprite. I discovered by chance a few years ago that if you get called back to the Safari Zone while hopping over a ledge, it becomes possible to walk through walls in the Safari Building. Unfortunately, trying to exit the door causes you to walk into the black void outside the building, crashing the game because it has nothing to load.
Hanzou had the clever idea of fainting through poison while in the Safari Building, which lets you transfer the walk-through-walls ability to the outside world. Because I last healed in Vermillion City, I warp to that city now.
I now have the ability to walk through obstacles and over water. I'll lose this ability as soon as I enter the door of a building or fight any trainer, which can mean getting trapped in the ocean if I'm not careful. I grab this Max Ether, as I'll need it to beat Giovanni's gym. Unfortunately, from this point, I can't simply bike west to Viridian City. Heading into an unmapped area causes the game to crash, on an emulator or a GameBoy.
Instead, I bike up along Saffron City, then to the lower edge of Cerulean so I can bike along the edge of the game's map.
The edge of the game's map sometimes looks like endless repetition of the same tile. After a few seconds of repeating mountaintop texture, I reach the Mount Moon area. From here, it's west a bit further until I can bike down to Viridian Gym.
If you walk in front of this door, the game kicks you 1 step down so you can't enter. Entering the door from above, however, is always possible.
This is one of 2 unavoidable underling battles in Giovanni's gym, one of only 3 gyms to have truly unavoidable underlings. You simply can't get around the Karate King without fighting this Cooltrainer.
Luckily, his 1 Pokemon goes down to a Super-Effective Hydro Pump.
The Karate King poses a slightly bigger obstacle, as there's no type advantage when attacking his Fighting-types. Machoke can't be taken down by a single critical Hydro Pump.
After fighting the Karate King, I need to use that Max Ether to restore Hydro Pump's PP. Regular Ether or Elixer would work, but I'm pretty sure the Max Ether in Vermillion can be found faster than either of those options.
Giovanni acts as though he's met Sexxy mn before, but of course this is their first battle.
Some of Giovanni's Pokemon are faster than Gyarados, but all of them can be taken down by one Hydro Pump.
I let Dugtrio Slash Gyarados, but Dugtrio's pathetic Attack stat isn't enough to knock out my level 25 with a critical hit.
I then let Nidoking poison Gyarados with a Poison Sting. Because Abra is deposited and I can't use Escape Rope in here, this is the fastest way to get back to Vermillion City.
Giovanni's level 50 Rhydon gets knocked out by a non-critical Hydro Pump, which speaks volumes about Rhydon's terrible Special.
I warp back to Vermillion, then immediately go to the Safari Zone.
I set up this glitch again.
After that, I heal in Fuschia City, which puts me in a location closer to some gyms that I want to visit. I don't have Fly yet, so I carefully plan every single visit to the Pokemon Center.
I let a wild Venonat poison and critical-Tackle Gyarados, lowering Gyarados to precisely the right amount of health.
This time, Gyarados has precisely 1 HP when I arrive in the Safari Building.
I warp back to Fuchsia City this time, and immediately cycle through walls on the way to Cinnabar.
I bike along the ocean for a while. Taking 1 step upwards here would crash the game.
Again, this gym boots you out if you approach the door from the front, but it's possible to enter the door from other directions.
All of Blaine's underlings can be avoided by correctly answering these trivia questions. Answering the questions takes so long, in some cases it would be only a few seconds slower to fight the underling guarding the door. Politely answering all of the questions is the fastest way through, but only slightly.
Fire-type Blaine is another easy mark for Gyarados. I let Gyarados take some damage again, so I can go use the walk-through-walls trick without hearing that annoying poison sound dozens of times.
For some reason, it's possible to use an escape rope in this Gym, unlike most.
Without healing Gyarados, I go do the standard setup at the Safari Zone.
Another standard poisoning, with the third poison-type dwelling east of Fuchsia.
Once again, I get walk-through-walls and Gyarados has precisely 1 HP when I'm sent to the Safari Building.
Here, for some reason, character sprites are changed when you walk through walls to enter the area without going through the guard post. Girls become birds, guys become seals, and bikers gain 200 pounds.
I continue on the long route to Saffron City. This trip would be quicker if I hadn't healed in Fuchsia earlier, but warping to Vermillion City every time would be slower overall. For one thing, it's possible to cut through the maze while going from Fuchsia to Vermillion, but on a Vermillion-Fuchsia route I'd have to navigate the maze again.
Entering directly over this Rocket is risky, because it traps you in the building. Without an Escape Rope to leave the building, trying to walk out the front door will leave you trapped between the Rocket and doorway, unable to walk back in. Of course, Teleport or Fly could get you out of this trap.
There's no type advantage against Sabrina, but her Pokemon tend to have laughable Defense.
I'm happy to let Alakazam waste a turn boosting its low defense. Why?
Critical hits ignore armour, that's why.
Using the Escape Rope while standing on a warp panel will send you to the Pokemon Center with a warp panel animation, rather than the Escape Rope animation. The Escape Rope animation is so slow, it's faster to go use a warp panel and then Escape Rope away.