Introduction

After the Brock through Walls glitch recently brought new life and improvements to the Gen I Pokémon games, it may also have broken some of the categories. This movie is supposed to not only contest for the fastest time in the so-called "any%" category, but also contest the categorization itself, which has shifted a considerable amount with the new findings and may need to be adjusted.

Categories

  • Aims for fastest completion of the game
  • Heavy glitch abuse
  • Heavy luck manipulation
  • Forgoes save corruption
  • Corrupts memory
Used emulator: BizHawk 1.8.0 (syncs on 1.1.0 - 1.6.1 and 1.8.0+)

About the run

Goal choice

This run tries to finish the game, contesting with what is currently the (awkwardly named) "any%" category, which forbids certain kinds of heavy exploits. It specifically disallows:
  • save corruption - separating it from the "SRAM glitch" category (see here)
  • manipulating warp locations - separating it from the "warp glitch" category (see here)
Note that this run is faster than the currently published "warp glitch" movie, which doesn't use the Brock through Walls glitch. It does not, however, compete with this publication, there is a much faster route for this category using the new glitch.

Emulator Choice

This movie uses the pre-1.7 frame timing and syncs on all pre-1.7 versions as well as 1.8 which allows to adjust the timing method.

Version Choice

Both the Red and Blue version work for the chosen route, and there are only very minor time differences between them. I chose the Red version merely for convenience, since the needed Weedle encounters are more frequent in Red, plus minor time savings in having a faster intro sequence and having a shorter default player name.

Brock through Walls

Even though this glitch has apparently been known about for a long time for the Japanese version of the game, it was not until recently that it is understood and usable in the UE version as well. It allows using the Pewter gym guy to exploit the game's cutscene mechanics in order to walk through any overworld object.
The game stores the player movement during a cutscene as a sequence of simulated joypad inputs (at $ccd3). The inputs will be played back one by one, and the cutscene ends when all movements are finished. After performing the Brock Skip glitch, it's possible to talk to the Pewter gym guy from the right, which is not supposed to be possible, so there's no cutscene path defined for it. The mapping from the player's coordinates to the path he'll walk in the cutscene is defined in d:7d06. Each entry consists of four bytes:
<y> <x> <2-byte address of the path to walk>
With no mapping defined for the right side of the NPC (coordinates (36, 16) ), the game searches on in the memory areas beyond, and will eventually reach the RAM starting at $c000. If it doesn't find the coordinates anywhere, it will loop around the game memory forever, effectively soft-locking the game. The coordinates must be aligned properly to the 4 byte blocks at d:7d06, that means the block must start at an address ending in 2, 6, a or e. If aligned properly, the two bytes after the coordinates are used as the address that points to the joypad inputs the player will execute during the cutscene. This list is terminated by an 0xff byte, and the game will continue copying bytes until it is found. If there is no 0xff byte in time, it will overwrite other memory areas, specifically $cd3b. This address is used to define joypad inputs that can override the simulated ones during a cutscene. The feature is (to my knowledge) not used in the game, and causes the cutscene to pause while overriding inputs are pressed, while still preserving all other effects of the cutscene, specifically the ability to walk through any object. Using any warp (e.g. entering a building) cancels the cutscene and the associated effects.
In this run, Charmander's DVs are used to put the coordinates at $d186. The PP for the first and second move (at $d188) are therefore used to determine the address from which to read, which will be 33 for Tackle and 34 for Growl at the time of execution. These spell out the address $2221, which sets $cd3b to 0xe0, enabling exactly the left, up and down directional buttons, which happen to be the exact directions that are necessary. Note that the required buttons don't need to be enabled in order to use them, as long as there is an enabled button you can press whilst going in the desired direction (like B, Select, or even a different directional button). Also, if the memory corruption goes further, $cd60 and $cd6b can be affected, which can influence the ability to use certain buttons or do interactions, but they stay unmodified in this run.

Route

Intro

  • The enemy is named "B", since displaying shorter names is faster.
  • The player is given the default name, it's not shown often enough for a shorter name to make up for the time lost in renaming it.

Pallet town

  • The options are changed to fast text speed, no battle animations and a set battle style, which speeds up all upcoming battles. Changing the options in-game is faster than doing it in the main menu.
  • Charmander is chosen as the starter, since it knows Growl and can be poisoned. Bulbasaur would be faster in the rival fight, but it can't be poisoned which would lose more time later.
  • Charmander's DVs are manipulated to be 1/0/2/4, which is needed for the Brock through Walls glitch later on.
  • Losing to the rival is faster than winning, and we won't need the experience.
  • Note that Charmander's Growl misses exploit the fact that all moves (except for Swift or when using X-Accuracy) have at least 1/256 chance of failing, even if they are supposed to always hit.
  • When delivering Oak's package, it's faster to stand next to or above Oak instead of in front of him. This will cause the rival to walk less steps, and NPCs walk at only half of your speed.

Viridian City

  • The Pokecenter is used to set the warp location for the upcoming death-warp.
  • Buying a Pokeball in the mart is faster than picking up the one in Viridian Forest.

Viridian Forest

  • Charmander is poisoned by a wild Weedle to drain its HP and faint to an encounter right in front of the Bug Catcher. This sets up a Trainer-Fly.
  • A wild Rattata with a Spc stat of 7 is growled 6 times to set up a L1 Nidoking encounter.
  • Nidoking's Atk DV is manipulated to be 15, as it will do all upcoming trainer fights.
  • Using the Experience Underflow glitch, Nidoking is raised to L100 on a L3 Weedle.

Pewter city

  • The selected start menu item is set to "save" in preparation of the Brock Skip glitch.
  • The north-east house is entered to manipulate Route 23 later on.
  • After performing the Brock skip glitch, we turn around and talk to the guy again to trigger the Brock Through Walls glitch, allowing us to ignore any obstacles in our path and go directly to the Indigo Plateau.

Route 23

  • All overworld maps (cities and routes) are connected at their edges, so you can traverse the world without loading zones. The connection between Route 22 and Route 23 is special though, since it is the only one that can't be used legitimately (you need to go through the gate house), even though it works and is defined in a perfectly valid way. This allowed the current publication to skip two of the badge checks, and allows this run to skip all eight badges. The tileset used in the two routes is different, which not only creates visual glitches when crossing maps, it also confuses the game about where to place the player in the map, putting it at the coordinates of the warp with the ID of the last used warp. By entering and exiting the house in Pewter city, this ID is set to 4, which allows us to skip all guards checking for badges.

Indigo Plateau

  • Depositing Charmander seems tempting, but ends up costing more time than can be saved in the Hall of Fame.
  • When using Thrash, you are bound to use it for 3-4 turns. This saves time by skipping the move selection, but causes confusion after it finishes, so it's only used to end a fight.
  • Agatha is the most painful fight, her Gengars and Haunter can only be damaged with Poison Sting, which is doubly non-effective and has only 15 base power. Even being at L100 with optimal DVs and having the STAB bonus, it takes 7 hits to kill the L60 Gengar.

Noxxa: Judging.
Regarding primorial#soup's run, it does much of the same things this run does: use underflow to glitch a Pokémon to level 100 instantly, skip badges and skip badge checks by walking through walls. There isn't really much that primo's run does that this run doesn't, except show off more of the game because the walk through walls glitch comes much later in that run. Primo's run has no real limitation that would make it a different category from this run, so this run will obsolete it.
The "warp glitch" run by MrWint is pretty much any% (sans save corruption), and this run beats the game faster under at the same restrictions (and more, in fact), so that will be obsoleted as well. While there may be an improvement incoming that uses a glitched warp, it will have to be seen when that is submitted whether that would obsolete this run, or whether this run would remain as "no warp glitch", like primo's current run is now.
Spikestuff: Publishing....

Editor
Joined: 11/3/2013
Posts: 506
MUGG wrote:
The previous run used a memory corruption glitch to warp to the end. Can this walk through walls trick not be used to reach a place where you can perform that memory corruption glitch in order to reach the end earlier?
Yes it can, in fact RTAs already exist of this route that are faster than this TAS: https://www.youtube.com/watch?v=TGeQCOVd7T8&list=PLPm3JpvqIqB94uW8W58-NO2aQmM8Cpgdk However, MrWint has specifically designed this as an "any%" run, which specifically forbids glitch warps achieved via memory corruption. Basically this new glitch is forcing us to rethink what categories are appropriate for this game. EDIT: wow, (gre-)ninja'd by Zowayix.
Editor
Joined: 11/3/2013
Posts: 506
Yay, double post! Some small queries: 1) Why aren't you getting critted in the rival battle to lose faster? 2) Why are you so concerned with Charmander's DVs? I have been following real-time speedrunners recently and none of them have mentioned it being needed for Brock Through Walls. Please don't tell me those nineteen million rerecords were for nothing... 3) Couldn't Nidoking level underflow faster by doing a fight by himself? I'm pretty sure a couple of Critical Hit Thrashes would be sufficient to down a level 3 Weedle.
Editor, Skilled player (1938)
Joined: 6/15/2005
Posts: 3246
MrWint, I'd like to test something. Could you generate a BKM version of your movie file? I tried to generate it from your BK2, but I was unable to get a movie that syncs. (If not able to, then "syncs on 1.1.0 - 1.6.1" is not an accurate statement. Besides, BK2 files don't work in 1.1.0-1.6.1)
Former player
Joined: 6/30/2010
Posts: 1093
Location: Zurich, Switzerland
To the experts here: How fast can Gen I be beaten without any memory corruption? Because that would make much more sense to me as a category than "no glitched warps".
Current project: Gex 3 any% Paused: Gex 64 any% There are no N64 emulators. Just SM64 emulators with hacky support for all the other games.
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Is the safari zone noclip glitch fixed in Yellow? Although thinking about it, there might be different exploits there that aren't in here, so not sure
Chamale
He/Him
Player (178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
thatguy wrote:
Some small queries: 1) Why aren't you getting critted in the rival battle to lose faster? 2) Why are you so concerned with Charmander's DVs? I have been following real-time speedrunners recently and none of them have mentioned it being needed for Brock Through Walls. Please don't tell me those nineteen million rerecords were for nothing...
1) It wouldn't be any faster, because at low levels critical hits don't deal double damage. Squirtle would still need four attacks to win the fight, but they'd take more time because of the critical hit dialogue box. 2) There are many ways to achieve Brock Through Walls, all of them involve getting the game to load 1024 (in hexadecimal) in certain parts of the memory. This can be done by having a Pokemon with the correct Special stat of 16 in party slot 1, followed by a Pokemon with 8, 10, 13, 15, or 17 health remaining in party slot 2. It can also be done by having the first Pokemon have 16 PP remaining for move #2 and 36 PP remaining for move #3. Lastly, it can be done by manipulating Charmander to have exactly the DVs 1/0/2/4, which is what MrWint did. The chances of manipulating the right DVs are 1 in 65536, so it's impractical for human speedrunners. MrWint, the first 6000 frames of this run are identical to the optimal route for the glitch warp run, and you perfected the most difficult luck manipulation of the run. Would it be alright if I used your input for that part of my run, and gave you coauthor credit for the upcoming any% TAS?
Joined: 9/26/2004
Posts: 18
Location: Australia
I was waiting to see a new fastest non memory corruption run I definitely enjoyed this run. The only part of the run I disliked was the Agatha battle other than that it kept me amused.
Chamale
He/Him
Player (178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
andypanther wrote:
To the experts here: How fast can Gen I be beaten without any memory corruption? Because that would make much more sense to me as a category than "no glitched warps".
Technically I don't think this route uses memory corruption, but it heavily abuses the game's strange behaviour when it loads an unexpected value from the memory. A run that never got the game to load an unexpected value would avoid glitched warps, trainer-fly encounters, and Missingno, although the Safari Zone walk-through-walls would arguably be acceptable since it only involves triggering an event at an abnormal time. It's very tricky to define what level of glitching is allowed in a Pokemon run R/B/Y because there are so many glitches that break the game in different ways.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4016
How is 'This list is terminated by an 0xff byte, and the game will continue copying bytes until it is found. If there is no 0xff byte in time, it will overwrite other memory areas, specifically $cd3b. This address is used to define joypad inputs that can override the simulated ones during a cutscene. The feature is (to my knowledge) not used in the game, and causes the cutscene to pause while overriding inputs are pressed, while still preserving all other effects of the cutscene, specifically the ability to walk through any object. Using any warp (e.g. entering a building) cancels the cutscene and the associated effects.' not memory corruption?
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Spikestuff
They/Them
Editor, Publisher, Expert player (2292)
Joined: 10/12/2011
Posts: 6337
Location: The land down under.
yes. Serious note: So tell me how do I get to Brock is it through here?
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
mklip2001
He/Him
Editor
Joined: 6/23/2009
Posts: 2224
Location: Georgia, USA
I really liked the route in this run. It's quite refreshing, if that makes any sense. At this point, I'd say that we get rid of the 1hr20min run by primorial_soup. I know it was really influential in the history of Pokemon runs, but it's a pretty arbitrary category at this point. If people want a run that keeps the gameplay mostly intact, we have the FireRed run.
Used to be a frequent submissions commenter. My new computer has had some issues running emulators, so I've been here more sporadically. Still haven't gotten around to actually TASing yet... I was going to improve Kid Dracula for GB. It seems I was beaten to it, though, with a recent awesome run by Hetfield90 and StarvinStruthers. (http://tasvideos.org/2928M.html.) Thanks to goofydylan8 for running Gargoyle's Quest 2 because I mentioned the game! (http://tasvideos.org/2001M.html) Thanks to feos and MESHUGGAH for taking up runs of Duck Tales 2 because of my old signature! Thanks also to Samsara for finishing a Treasure Master run. From the submission comments:
Shoutouts and thanks to mklip2001 for arguably being the nicest and most supportive person on the forums.
Eszik
He/Him
Joined: 2/9/2014
Posts: 163
I hope we'll see a TAS of the "glitchless" RTA category. Having only this run and the 151 Pokemon one sounds bad to me (even though this should obsolete primorial_soup's run)
I problably made mistakes, sorry for my bad English, I'm French :v
Skilled player (1019)
Joined: 7/24/2013
Posts: 175
thatguy wrote:
Yay, double post! Some small queries: 1) Why aren't you getting critted in the rival battle to lose faster? 2) Why are you so concerned with Charmander's DVs? I have been following real-time speedrunners recently and none of them have mentioned it being needed for Brock Through Walls. Please don't tell me those nineteen million rerecords were for nothing... 3) Couldn't Nidoking level underflow faster by doing a fight by himself? I'm pretty sure a couple of Critical Hit Thrashes would be sufficient to down a level 3 Weedle.
ad 1) Crits don't do more damage in this case, they just cost time with their additional text (Gen I crit mechanics are weird) ad 2) This run is using Charmander's DVs to set up the glitch, while RTA run use a different setup (like Pidgey), which is slower but way more doable. ad 3) 3 crits would suffice, so it's the same amount of turns, but Charmander is faster than Weedle, while Nidoking would be slower, so I save half a turn. Also, I need the Charmanders PPs to be these values for the BtW to work.
FractalFusion wrote:
MrWint, I'd like to test something. Could you generate a BKM version of your movie file? I tried to generate it from your BK2, but I was unable to get a movie that syncs. (If not able to, then "syncs on 1.1.0 - 1.6.1" is not an accurate statement. Besides, BK2 files don't work in 1.1.0-1.6.1)
Sure, here your go: User movie #17114579571944002
FractalFusion wrote:
Even though this is a run meant to show off the "Brock-through-walls" glitch (and it even fights the Elite 4), something bugs me about this run where it just seems like there is a much faster way to do this, even while staying consistent with the goal choices given.
Do you have something specific in mind to make this faster?
Patashu wrote:
How is [this] not memory corruption?
It is, I even specified it in the categories.
Chamale wrote:
MrWint, the first 6000 frames of this run are identical to the optimal route for the glitch warp run, and you perfected the most difficult luck manipulation of the run. Would it be alright if I used your input for that part of my run, and gave you coauthor credit for the upcoming any% TAS?
Sure, go ahead.
Editor, Skilled player (1938)
Joined: 6/15/2005
Posts: 3246
MrWint wrote:
FractalFusion wrote:
Even though this is a run meant to show off the "Brock-through-walls" glitch (and it even fights the Elite 4), something bugs me about this run where it just seems like there is a much faster way to do this, even while staying consistent with the goal choices given.
Do you have something specific in mind to make this faster?
I was thinking of catching a Pokemon in Victory Road and using that (I think Graveler), as opposed to glitching L100 Nidoking. Oh, and thanks for the BKM. Apparently BK2 has Start and Select reversed compared to BKM.
Skilled player (1019)
Joined: 7/24/2013
Posts: 175
I considered it, but I deemed it slower in the end (without exact testing to be fair). It's mostly about the moveset: Graveler has an awful moveset (Selfdestruct, Harden, Earthquake, Explosion), as have most of the other wild encounters. Onix has probably the best moves (Rock Throw, Rage and Slam), but you are way lower level and you will run out of PP and need to use Rage way too often, so I'm not entirely convinced you can hold the time advantage you have through the Elite Four. I may be totally off here though.
Editor
Joined: 11/3/2013
Posts: 506
mklip2001 wrote:
I really liked the route in this run. It's quite refreshing, if that makes any sense. At this point, I'd say that we get rid of the 1hr20min run by primorial_soup. I know it was really influential in the history of Pokemon runs, but it's a pretty arbitrary category at this point. If people want a run that keeps the gameplay mostly intact, we have the FireRed run.
What, so are you saying reject this run too? Because despite the large time difference this run and Primorial Soup's are in the same category!
Editor, Skilled player (1938)
Joined: 6/15/2005
Posts: 3246
MrWint wrote:
I considered it, but I deemed it slower in the end (without exact testing to be fair). It's mostly about the moveset: Graveler has an awful moveset (Selfdestruct, Harden, Earthquake, Explosion), as have most of the other wild encounters. Onix has probably the best moves (Rock Throw, Rage and Slam), but you are way lower level and you will run out of PP and need to use Rage way too often, so I'm not entirely convinced you can hold the time advantage you have through the Elite Four. I may be totally off here though.
Oh, I see. I forgot that 1F in Victory Road is not accessible (L42 Graveler doesn't have Explosion, but Rock Throw instead). Also I forgot that the original does not have a PP-restoring move hidden between the end of Victory Road and Indigo Plateau, unlike in FRLG.
Editor, Expert player (2313)
Joined: 5/15/2007
Posts: 3855
Location: Germany
I hope we'll see a TAS of the "glitchless" RTA category.
Good call. As one of many who like to tune in to werster's and others' Red/Blue speedrun attempts, I can say it's a good and important category. I would love to see a TAS of it.
ALAKTORN
He/Him
Player (99)
Joined: 10/19/2009
Posts: 2527
Location: Italy
MrWint wrote:
I considered it, but I deemed it slower in the end (without exact testing to be fair). It's mostly about the moveset: Graveler has an awful moveset (Selfdestruct, Harden, Earthquake, Explosion), as have most of the other wild encounters. Onix has probably the best moves (Rock Throw, Rage and Slam), but you are way lower level and you will run out of PP and need to use Rage way too often, so I'm not entirely convinced you can hold the time advantage you have through the Elite Four. I may be totally off here though.
I thought he meant getting Graveler just to use for the Agatha fights, then switch back to Nidoking. Would that be slower? Is there really no better Pokémon than Nidoking?
mklip2001
He/Him
Editor
Joined: 6/23/2009
Posts: 2224
Location: Georgia, USA
thatguy wrote:
mklip2001 wrote:
I really liked the route in this run. It's quite refreshing, if that makes any sense. At this point, I'd say that we get rid of the 1hr20min run by primorial_soup. I know it was really influential in the history of Pokemon runs, but it's a pretty arbitrary category at this point. If people want a run that keeps the gameplay mostly intact, we have the FireRed run.
What, so are you saying reject this run too? Because despite the large time difference this run and Primorial Soup's are in the same category!
Not at all. I'm saying that because this run and primorial_soup's run are the same category, this should get accepted, and it should obsolete primorial_soup's run! This is not a run that keeps the gameplay intact.
Used to be a frequent submissions commenter. My new computer has had some issues running emulators, so I've been here more sporadically. Still haven't gotten around to actually TASing yet... I was going to improve Kid Dracula for GB. It seems I was beaten to it, though, with a recent awesome run by Hetfield90 and StarvinStruthers. (http://tasvideos.org/2928M.html.) Thanks to goofydylan8 for running Gargoyle's Quest 2 because I mentioned the game! (http://tasvideos.org/2001M.html) Thanks to feos and MESHUGGAH for taking up runs of Duck Tales 2 because of my old signature! Thanks also to Samsara for finishing a Treasure Master run. From the submission comments:
Shoutouts and thanks to mklip2001 for arguably being the nicest and most supportive person on the forums.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4016
Oh, I think I understand now :) it's any% NO save corruption YES memory corruption NO game end glitch If it was NO/YES/YES then you would brock through walls then do cooltrainer or inventory underflow and bring the credits up.
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Glitcher
He/Him
Joined: 3/24/2007
Posts: 216
Location: London, U.K.
I think Charmander was too much in awe of Nidoking to help out at the end. :p Yes vote!
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
MUGG wrote:
I hope we'll see a TAS of the "glitchless" RTA category.
Good call. As one of many who like to tune in to werster's and others' Red/Blue speedrun attempts, I can say it's a good and important category. I would love to see a TAS of it.
For those who are unaware, can you please elaborate what counts as "glitchless" in RTA runs?
Patashu
He/Him
Joined: 10/2/2005
Posts: 4016
jlun2 wrote:
MUGG wrote:
I hope we'll see a TAS of the "glitchless" RTA category.
Good call. As one of many who like to tune in to werster's and others' Red/Blue speedrun attempts, I can say it's a good and important category. I would love to see a TAS of it.
For those who are unaware, can you please elaborate what counts as "glitchless" in RTA runs?
http://wiki.pokemonspeedruns.com/index.php/Pok%C3%A9mon_Red/Blue/Any%25_Glitchless In addition to it I would add: Redbar is ok. Jingle skip is ok. (Also any other sound/music glitch, of which there are tons.) 1/256 miss is ok. Items/moves that are buggily implemented (e.g. just using them in the intended way has a bug in it, like focus energy is bugged to not give you more critical hits and so on) is ok. The 'bug' that some patches of grass don't give encounters in viridian forest (they forgot to assign one of the tiles as having encounters) is ok.
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Joined: 1/17/2008
Posts: 133
count me in the crowd for removing the 1h18m and the 28m and having this obsolete them both (shortly followed by a yet-to-be-made run obsoleting this one) having a unique 'warp glitch' category at this point is like showcasing a bowl of lucky charms with one of the dozen marshmallow types removed