Overview

This is a TAS of the USA/Europe version of Pokémon Blue, finishing with a in-game clock of 1:17. The emulator used for recording was VBA 1.7.2 re-recording v19.3, and will desync on v20. Throughout the run, only four pokémon are collected: Charmander, Gyarados, Abra, and Mew.

Features

  • Aims for fastest time.
  • Takes damage to save time.
  • Uses death as a shortcut.
  • Manipulates luck.
  • Abuses programming errors in the game.
  • Ignores semi-important goals in the game.
  • No predefined saves.
  • Genre: RPG

Description

As with the previous movie, this submission is also aiming for the fastest time to become the Pokémon League Champion, and does so 82,784 frames (approximately 23 minutes) faster than the last. In general, this new time can be attributed to better manipulation throughout, and a lot of new time saving route changes and glitches.

Luck Manipulation

Nearly all the manipulation in this game occurs during battles. By varying when a button is pressed, and also its duration, one can manipulate critical hits, damage, opponent misses, etc. In my previous run, I had given myself a 10 frame window for manipulation of a specific attack. In this run, I have narrowed this window to 2 frames for common occurrences, and 5 frames for rare occurrences (such as maximum damage critical hits or 1/256 misses). The difference is noticeable. Upon entering Vermillion, at which point the runs are nearly identical, I was approximately 35 seconds ahead.
Not everything can be manipulated so easily though. One thing that had long been a problem to manipulate were random encounters. Manipulating them away is not a problem, but for the most part, which pokémon one would see at a certain frame count seemed more or less fixed; one could attempt to change a part of the run to alter the randomality, but the encounter rotation was usually unaffected, or affected only mildly. With the help of Nitrodon, and a gameboy emulator/disassembler known as no$gmb, I was able to determine not only what was causing this behavior, but also how to manipulate it. There are two memory addresses FFD3 and FFD4. These numbers are responsible for every aspect of pseudo-randomality in this game, and are updated in such a way that their sum (which I will refer to as the D-sum) remains nearly constant. In battles, it slowly rises, and in the field, it slowly decreases. If FFD3 is less than a certain value specific to the patch of grass you are in (stored at D887), you will have a random encounter. Which pokémon you encounter is determined by FFD4, and each pokémon in the area has a certain range in which it appears. Logically, this means that for a relatively long period of time, it is only possible to encounter a certain pokémon, because if FFD3 is small (usually less than 0F), then FFD4 will always be in the same range. Fortunately, by altering button presses, one can specifically manipulate this D-sum to be higher or lower to meet one's needs. Because of this, I was able to manipulate an Abra on my first step, and the trigger for Mew, a L16 Meowth (which is the area rare, with 1/256 probability) without losing any time.
Other things were manipulated as well, such as the location of the switches in Vermillion Gym, causing people to move (or not to move), etc.

Glitch Abuse

If you wish to be surprised while watching the movie, do not read this section until afterwards.
Snazzypadgett from the SDA forums (specifically in this thread) (EDIT: link removed as it no longer exists) noticed that after performing the Trainer-Fly glitch, that he (or rather, a friend of his) had managed to make Snorlax disappear. Details were vague, but after experimentation, several people were able to reproduce this. Hanzou did a lot of research on this glitch, and found that it was not only Snorlax, but the last disappearable object seen before or during the glitch, where a disappearable object can be a number of things: Snorlax, Legendary Pokémon, item balls, guards, and even Rival battles. However, alone this glitch isn't very useful. It allows for a faster route to Lavender (instead of going through Rock Tunnel, about 50-60 seconds faster), but doesn't allow one to skip the Poké Tower, where one normally gets the flute to wake Snorlax up. The reason is, that the tower needs to be done before you gain access to the Silph Co. building, and without going through there, you cannot enter Saffron Gym, or Viridian Gym.
Later, Chamale, while experimenting with the Glitch City glitch, noticed that if on the step when you get called back to the Safari Zone, you are jumping over a ledge, when you get there you will remain in mid-air. Not only that, but inside the building you can walk through walls as you please. The problem is, this effect ends when you use the door to exit the building. The solution was not to use the door, but instead to warp out via death. The only way to do this is with poison damage, and after you warp out, the effect continues and you can walk through walls as you please, but only until you enter a building. This run utilizes this glitch to skip large portions of the game towards the end of the run, and only completes the remaining Gyms necessary to get past the Badge checks. Earthbadge, obtained from the last Gym, is not checked, so this Gym is skipped as well. In order to perform this glitch, one needs to take exactly 500 steps outside of the Safari Zone. If it appears that I am biking around needlessly in a few sections, this is what I'm doing.
A problem is, that in order to black out (death, in this game), all of your pokémon need to be fainted. This means that you cannot fly anywhere afterwards unless you had a fainted flier in your party, because you cannot enter a Poké Center to withdraw one. To save time from having to faint multiple pokémon, Mew was chosen as the main battler for the second half of the run, and was taught Fly. Also, because so much of the game is skipped, Mew was caught at level 1, and leveled to 100 in a single battle via the experience-underflow glitch. Mr._Pwnage posted an excellent description of this glitch shortly after its discovery in the Pokémon R/B thread.
The run also generates a miss for an attack which was not intended to be able to miss: Lt. Surge's Raichu using Thunderbolt in Vermillion Gym. Previously, I had listed this as luck manipulation, but after examining the disassembled code, I am also convinced that this is a programming error. Each attack has a miss ratio associated with it, which is simply stored as a value between 0 and 255. Attacks which are not intended to be able to miss have a miss ratio of zero. When determining if an attack has failed, a pseudo-random number is choosen, also between 0 and 255, and this value is subtracted from the miss ratio. If there was not a carry (if this value is less than or equal to the miss ratio), the attack will fail. Obviously, the programmer had intended to have these operands switched, and to check for carry instead; in the check for non-physical attacks, this is implemented correctly. This glitch was fixed in later generations of Pokémon.

Possible Improvements

Towards the end, I use a trick a few times which saves a little time; if your health bar is red, the delay from battle cries and from fainting is suppressed. When you do this, however, there is an annoying alarm in the background, and I only do this in places where I needed to take damage anyway. Were this trick to be done throughout the entire run, it's possible that it could save time, but I think having to listen to the alarm for the entire run would detract from the entertainment value significantly.
I use Gyarados for the first half of the run, because even with the extra glitching time involved, it is still faster than playing Charmander up to the earliest point to catch a Mew. An alternative to this might be to glitch a L100 Gengar in Mt. Moon instead, which could possibly be faster. The downside to this, is that for the entire run one would be using a L100 pokémon, which I think also takes away from entertainment.
New glitches? In the Badge check, Boulderbadge is also no longer checked. If a way could be found to leave Pewter without doing this Gym, this could save a lot of time, especially when using Charmander.

Special Thanks

Firstly, I would like to thank hanzou, not just for his work on the Snorlax skip glitch, but also for suggesting several route improvements, and stopping me when I was about to redo half the run unnecessarily. Without him, the run would be significantly longer, and wouldn't be even close to done yet. I'd also like to thank Chamale, for his awesome discovery which lead to the WTW glitch, and also for active participation in the pokémon thread, and helpful suggestions. Thomaz also deserves a thank you for his real-time speedrun. The new route was more or less being pioneered as we went along, and it was good to be able to swap ideas. A thanks to Nitrodon for his help picking apart the disassembled rom, and to Mr._Pwnage for his description of the experience underflow glitch and other good advice. Also, to Snazzypadgett and all those at the SDA forums who worked on figuring out the Snorlax skip mechanics. Bag_Of_Magic_Food: 90 minute blitz? And lastly, all those who actively gave feedback and suggestions in the pokémon thread.

Bisqwit: Accepting and taking for encoding. I'm glad you also had mind on entertainment and didn't just singlemindedly go for the absolutely fastest time.

NesVideoAgent: Hi! I am a robot. I took a few screenshots of this movie and placed them here. Oh! I also replaced the ROM name.
  • You indicated Pokemon Blue (UE) [S][!].gb
  • I updated it to Pokemon - Blue Version (UE) [S][!].sgb



Joined: 10/20/2006
Posts: 1248
There's two things I didn't get. 1) Why the Tentacool? 2) Why isn't it faster to got to the Safari Zone the second time before getting the Secret Key? Edit: I guess I've found the answer to the first question myself. It's done to skip the second Snorlax. Stupid me..
Player (88)
Joined: 1/15/2006
Posts: 333
Location: Bangkok, Thailand
Kuwaga wrote:
There's two things I didn't get. 1) Why the Tentacruel? [...] Edit: I guess I've found the answer to the first question myself. It's done to skip the second Relaxo.
That's it exactly.
Kuwaga wrote:
2) Why isn't it faster to got to the Safari Zone the second time before getting the Secret Key?
It would be, except that using Escape Rope (or Dig) cancels the Safari Zone step counter. For this reason, one would have to walk back out of the Cinnibar Mansion, and there just aren't enough steps to do this, and to complete the Cinnibar Gym afterwards. Another option would be to do the WTW glitch three times (once for Sabrina, once for Blaine, and once for Victory Road), but this would be quite a bit slower.
Zowayix wrote:
How else does this glitch affect the game. I didn't know it could spawn items or badges.
This glitch also changes the number of items the game thinks you have in your inventory, to something very large. This means that the game is pulling items from locations in memory which do not actually contain items, which can result in several useful glitch items (such as the item which grants all badges, for example).
print reduce(lambda x,p:p/2*x/p+2*10**1000,range(6643,1,-2))
Joined: 12/29/2007
Posts: 489
How exactly do you make Snorlax dissappear? It's kind of confusing how you did it in the movie and the description under the submission thingy is also kind of unclear... [merged post] Not sure if you know about this already, but the method shown on GCL about skipping the 1st gym isn't the fastest. I tried it on my red version (cartridge) and I found that after reseting the game after saving, when the boy walks in from the left, you can hold the right button and you'll walk onto route 3 without having to have the boy repeat his dialogue and walk you to the gym in a funny way.
Post subject: Re: Snorlax?
Player (21)
Joined: 10/14/2005
Posts: 317
Zowayix wrote:
How exactly do you make Snorlax dissappear?
Here are instructions with screenshots that might help.
Not sure if you know about this already, but the method shown on GCL about skipping the 1st gym isn't the fastest. I tried it on my red version (cartridge) and I found that after reseting the game after saving, when the boy walks in from the left, you can hold the right button and you'll walk onto route 3 without having to have the boy repeat his dialogue and walk you to the gym in a funny way.
Thomaz recently found the faster technique on Netherlands Youtube. This video is dated June 2007, so it turns out TASvideos wasn't the first to find the trick either. I'll edit my page accordingly, and someone may update this brief section of the Pokemon Tricks wiki.
Joined: 12/29/2007
Posts: 489
Thanks for the Snorlax glitch. I found out why it didn't work on my Red version...I passed thru Cerulean City while doing it. -_- Could someone please tell me what pokemon (in blue version) on route 6 have a special of 21? Someone earlier said that there are others besides the lv16 meowth but meowth was the fastest. [merged post] The ZZAZZ glitch can get you all the badges at once?? O_o I wonder...is there already a discussion forum for this new TAS? If so, where? If not, how come no one has started one? Also, would a ZZAZZ glitch run "count"? After all, the glitch does erase your save file if you save after it...
BigBoct
He/Him
Editor, Former player
Joined: 8/9/2007
Posts: 1692
Location: Tiffin/Republic, OH
With the implementation of the three-tier system and the relaxing of restrictions on goals, I'd like to argue in favor of this run being returned to active publication alongside the presently published Pokemon Red run, which is currently an obsoletion of this one, since even the description in the publication for the Red run indicates that the two runs do things completely differently. I would also argue that there's enough awesome/hilarious content in this run to qualify it for the Star tier, although I could also see the argument that there's a bit too much build-up/standard battling before getting to the insanity.
Previous Name: boct1584
Active player (304)
Joined: 8/8/2005
Posts: 296
Location: NSW, Australia
Making it more complicated is the fact that the Red run (ZZAZZ) was proven not to work on an actual cart...
Joined: 12/29/2007
Posts: 489
Really? Since when? I know the ZZAZZ glitch alone works on an actual cart; at what point afterward does it stop working?
Editor, Expert player (2330)
Joined: 5/15/2007
Posts: 3933
Location: Germany
Wait what? Do you mean this movie has become invalid?
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11478
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
This movie really got a chance for unobsoletion. Imagine it was submitted today. Will it present enough unique content to be published alongside with the current any% branch? What branch would it be itself? Post #355723
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
BigBoct
He/Him
Editor, Former player
Joined: 8/9/2007
Posts: 1692
Location: Tiffin/Republic, OH
Let's go over the differences between this run and the currently published run again, for the benefit of people who might not want to read the other topic. What does the currently published run do?
  • Trainer-Fly to skip the mandatory Super Nerd fight in Mt. Moon
  • Trainer-Fly to catch Mew
  • Mew uses Transform plus move reorganizing to enable glitch moves.
  • Glitch move is used as a means to the end of arbitrary code execution, which is then used to skip to the Hall of Fame scene, ending input after 27 minutes.
What does THIS run do? I'll rewatch it when I get home from work so I can make a more comprehensive list, but off the top of my head, I remember...
  • Enters the Safari Zone to perform the Glitch City glitch.
  • "Aimlessly" bikes around for a while in spots, to run down the Safari Zone step counter, which continues to run after executing the Glitch City glitch.
  • Jumps over a ledge for the final step on the Safari Zone counter, enabling a "walk over and through obstacles" glitch when the player is warped back to the Safari Zone entrance.
  • Warps out of the Safari Zone entrance via death by poison damage to preserve this glitched state.
  • Uses the glitched state for various purposes, including: entering Saffron City without giving one of the guards a drink, entering Silph Co. (EDIT: or was it the Saffron City Gym?) while a Rocket is still blocking the entrance, going to Cinnabar Island without Surf, and passing through the Pokemon League Gates without the Earthbadge.
  • Defeats 7 Gym Leaders, the Elite Four, and the Rival, showing off a significantly larger amount of Pokemon battling.
  • Uses Trainer-Fly to make Snorlax west of Celadon City disappear.
  • Uses Trainer-Fly to catch Mew to use as a battler instead of as a tool to enable the arbitrary code execution exploit.
  • Levels Mew to 100 in one battle via EXP underflow.
I will be the first to admit the battles in this one may be a little boring because Mew is level 100 basically the whole time it's battling, but I think the execution of the glitches in this one sufficiently different to warrant separation from the currently published movie, and I think it stands up very well even by today's standards. My opinion on branches is the same as it was in the other topic, and which jlun2 and Patashu shared as well. This branch would be "any%, no memory corruption." The currently published movie would be "any% glitched" with an "executes arbitrary code" tag (I swear we had that at one point.) I have some opinions on [2434] GB Pokémon: Blue Version "warp glitch" by MrWint in 37:10.53 as well, but I need to rewatch it too before I say anything.
Previous Name: boct1584
Site Admin, Skilled player (1254)
Joined: 4/17/2010
Posts: 11478
Location: Lake Char­gogg­a­gogg­man­chaugg­a­gogg­chau­bun­a­gung­a­maugg
I guess now I see the borderline for a glitched branch. If it heavily corrupts memory and the result is heavily different from any%, it is glitched. Breaking something here and there may still be heavy glitch abuse, but remain gameplay-based and look like such. While heavy memory corruption usually results in soft-hacking the game to break gameplay flaw completely.
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
BigBoct
He/Him
Editor, Former player
Joined: 8/9/2007
Posts: 1692
Location: Tiffin/Republic, OH
I think that's a really good way to put it.
Previous Name: boct1584
Joined: 12/29/2007
Posts: 489
I'd make an argument that the "Catch 'em all" run already shows off pretty much all of the glitches that this 1:18 run does. It ends the run by beating the game through the Pokemon League, like this run, and it deliberately avoids heavy memory corruption like ZZAZZ/etc., like this would do if it were published.
Skilled player (1741)
Joined: 9/17/2009
Posts: 4981
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Zowayix wrote:
I'd make an argument that the "Catch 'em all" run already shows off pretty much all of the glitches that this 1:18 run does. It ends the run by beating the game through the Pokemon League, like this run, and it deliberately avoids heavy memory corruption like ZZAZZ/etc., like this would do if it were published.
Also, I think I mentioned that a glitchless Kanto run is better off suited using the GBA remakes, but people keep wanting this version for some reason. Nostalgia, perhaps?
BigBoct
He/Him
Editor, Former player
Joined: 8/9/2007
Posts: 1692
Location: Tiffin/Republic, OH
Zowayix wrote:
I'd make an argument that the "Catch 'em all" run already shows off pretty much all of the glitches that this 1:18 run does. It ends the run by beating the game through the Pokemon League, like this run, and it deliberately avoids heavy memory corruption like ZZAZZ/etc., like this would do if it were published.
I don't think "already" shows it off is the right term, since this run that I'm arguing in favor of came first, but was obsoleted by movies that did things differently. I think there's room for both to be current publications. 78 minutes of "light glitching" (as p4wn3r and Mukki put it for the 151 run) compared to 200 minutes of light glitching is a significant difference.
Previous Name: boct1584
Joined: 12/29/2007
Posts: 489
Something I'd like to point out: This branch should arguably be renamed "warpless", as Trainer-Fly is a subtle form of memory corruption - the game reads the encountered Pokemon's species and level off unintended memory locations. By the same token, the Old Man glitch and Missingno. item duplication is a subtle form of memory corruption as well. What this run does that none of the shorter RBY runs do is warp to the Hall of Fame. And as far as I know, this is about the fastest way to reach the Hall of Fame without warping.
Editor, Expert player (2073)
Joined: 6/15/2005
Posts: 3282
I think that the effects of Trainer-Fly (and Old Man glitch/Missingno.) are rather minimal to be referred to as memory corruption. Also, "warpless" by itself is ambiguous. Something like "no warping to Hall of Fame" would be better.