Merry Christmas and Happy Holidays!
After I saw Wersterlobe’s AGDQ 2013 Pokemon Gold run, I became very interested in the bad clone and map distortion route. I played around with it and did a few real time runs, but that was it. Lately I’ve taken greater interest and wanted to try making a well optimized run of the current real time route. I started a run in Bizhawk, but stuff went wrong so I restarted on Lsnes which worked much better for this game.
This run is heavily based off the real time route. Because of this I am no expert on a lot of the tricks used in this run. I have done my best to explain what’s going on as I understand it.
  • Emulator used: Lsnes - rr1-Δ18ε2[libgambatte SVN364]
  • Aims for fastest time
  • Abuses glitches
  • Manipulates luck
  • Resets the game
  • Takes damage to save time

Tricks used

Luck manipulation

This is probably the biggest part of Pokemon TASes, as luck influences Pokemon starting stats, criticals, what Pokémon goes first if speed is tied, the damage range of a hit, if they hit or not, wild encounters, etc.. For the most part luck can be manipulated by delaying input for a few frames at very specific times. Wild encounters can sometimes be manipulated based on your movement patterns.

Pokemon cloning and bad clone

If you save, deposit some Pokémon, then reset while changing boxes, you can clone Pokémon and the items they hold. If you reset on the first lag frame when the game saves, it is possible to have their name be deleted and their level set to zero creating what can become a “bad clone.” Once getting a bad clone a series of other glitches can begin.

Glitching with the bad clone

The bad clone at level zero is useless, so putting it into the daycare and taking it out causes it to become a glitched Pokémon. With this glitched Pokémon in your party it is possible to move a 7 th Pokémon from a box into your party. Afterwards, you can withdraw a large number of Pokémon (this has a total of 27 Pokémon at once). Upon withdrawing your 30th Pokémon, the game will crash and distort the colors. After reloading your file you have a bunch of random pokemon in your party (not seen in this TAS, but if you scroll through then it’s quite a list), the amount of Pokemon you’ve caught/seen changes, and your team is poisoned with pokerus. There are likely some other affects I’m blanking on right now.

Map distortion

If you bring up your Pokémon menu during this glitched state, it is possible to change tiles around you into garbage looking tiles that are sometimes possible to walk on. From a little trial and error I did, the names of your Pokémon and the amount of Pokémon you have influences what random tiles you get. For this run having 27 Pokémon, most of which are Abras named “GEODUDE” causes distortion patterns that are very favorable and allow one to get places they normally shouldn’t.

Instant victory

You can only do this during the glitched out state. First you have to KO your first 6 Pokémon. Then at some point you need to switch your seventh Pokémon with the Pokémon above your first Pokémon. Then by depositing certain Pokémon you can get a team of all koed Pokémon. This glitches all battles to end when you try to send out a Pokémon, and for the case of trainers the game assumes you have defeated them!

Useful memory addresses

1A3F – hex, first party Pokémon’s attack/defense DVs. Say you get a Pokémon with a value of “D1.” Its attack DV would be D and its defense DV would be 1
1A40 – hex, first party Pokémon’s speed/special DV
1100 - byte, opponents current HP
1102 – byte, opponents maximum HP
1AAF – byte, 3rd party Pokémon’s max HP – useful when getting Abra
1ADF – byte, 4th party Pokémon’s max HP – same

Run details

Getting the starter

- To cut down battle time, I needed a starter with high a high attack, special, and speed DV. After a bunch of trial and error and around 10 frames of manipulation I was able to get a Totodile with DV’s E0-FD which was great for this run

Rival fight up to first gym

- For the rival fight, three 7 damage critical hits kos his Pokémon perfectly. We have the same speed stat so that allows me to manipulate who goes first.
-Crit Mikey’s Pidgey but sadly needed a crit and a standard attack to ko Rattata.
-In the spearow fight it is possible to ko it in 3 turns using rage (the third needs to be a crit). This is slightly more dialog then just three crit scratches though.
-Nothing special about the next three Pidgeys. All need 2 crits to be taken out. For Falkner’s pidgeotto I found that 2 crit scratches and a normal one koed it great.

Up to the second gym

- The nice part about trainer battles is it is possible to manipulate what attack they will use by delaying frames after certain dialog and they will stick with this move (unlike wild Pokémon). This allows me to skip using the Pokémon center since Pokémon like zubat can be manipulated into using status moves like supersonic and such. This is seen in the youngster fight.
-Additionally talking to the youngster from the side proved to be 72 frames faster than having him see you.
-I needed a little extra HP in order to get water gun to speed up later fights, so I fought goldeen. This fight was tricky; I needed to get a crit that hit 13, a normal attack that hit 9 (which is rare) and an attack to hit 8. Since I had a maxed out speed DV I was able to tie goldeen’s speed a save some time. I’m not sure what the minimum DV you would need to tie goldeen.
-Easily possible to manipulate the spinners by movement patterns or delaying frames. I was lucky enough to not have to delay any frames for these spinners. Water gun is obtained while fighting Geodude which speeds up the rest of the fight as well as later ones.
-As with the youngster, talking to the rockets is faster than having them see you. You need a pretty decent special DV to 1 hit the Zubat the second rocket sends out.
-Sadly for the Koffing fight I needed 2 crits to ko it. 1 crit and 1 standard attack was just out of range.
-Fighting the trainers on the left side of the gym means a few less steps and a few less Pokémon to fight.
-Similarly to Koffing, Paras needed 2 crits.
- The gym battle was tricky. It is possible to defeat him in 8 turns with all critical scratches, but rage took 7 turns. It is possible to leave metapod with 1-2 hp allowing him to add to rage, but I could never get a rage to 1 hit Scyther so just koing it was the way to go. I found that while fighting scythe it was just barely possible to hit 25 damage with my current rate (half of its total hp) meaning I could let its second fury cutter miss. Was a pain trying to manipulate 25 damage.

Up to the coin case

-The next (and final) rival fight also needed good manipulation. Bayleef could be koed with two 17 damage criticals and one 16 critical. 17 Damage criticals were also tricky to come by. Zubat was a pain. With either a critical water gun or a critical scratch I was never able to 1 hit zubat (I tried for a long time, it might be possible with a maxed special DV, but that’s only 2 values higher and might not have changed anything). 2 scratches proved to be fastest.
-I needed to stop moving for 1 frame to manipulate wild Pokémon a few times in the forest since there wasn’t as many possibilities to vary movement.
-Getting the bike greatly speeds up movement (for example getting on the bike after exiting the Pokémon center and biking to the train station was over 100 frames faster than walking)
-Getting the coincase by entering where I did means you only have to fight 2 battle

Up to the bad clone

-Since I had over 12000 pokedollars, I was able to buy the 500 coins saving time over buying 50 4 times. Additionally this allowed me to pick up an additional Abra. Both Abras were manipulated to have 25 HP (so they could be koed quicker later on) and were named “GEODUDE” (for whatever reason, this nickname gives very favorable map distortion patterns).
-I tried getting 3 or 4 abras by earning a few coins from the card flip. Getting a 3rd abra and then starting the cloning was sadly 1690 frames slower than just getting 2 abras and 4 abras was even slower than that.
-I entered the daycare to start duplicating since it is next to the day care lady who’s needed later. I needed to duplicate the exact amount of Pokémon that I duplicated in order to achieve later glitches.

Defeating the Elite 4

-I reset for a bad clone after putting the 19th abra into box 2. This created a bad clone which was moved to the party. If it was moved to the party by using the “withdraw” option, it would become a level 1 abra which we don’t want. Giving the level 0 abra to the day care lady levels it up and changes it into a glitched Pokémon. This allows us to withdraw more than 6 Pokémon (in this case a party of 27 is used), the game crashes after withdrawing 30.
-The Pokémon are glitched out after the crash. To fix some of this you need to visit a Pokémon center (this lets your Pokémon at least battle). Pokerus is obtained because of the bad clone, no way around it that anyone knows of.
-By map distorting in front of the guy that lets you on the train, you are able to walk past him and get on it, instantly arriving in Saffron. Likewise, distorting near the blocked off Diglett’s cave allows you to get behind Snorlax. And again, distorting next to the person blocking off Victory Road allows you past him. The game is saved and soft reset because after distorting the entry way to victory road gets blocked by garbage.
-I encounter a Golbat and let it ko my first 6 Pokémon. Manipulating it into using wing attack (and critical hits when needed) was odd since wild Pokémon use moves differently than trainer ones (their move is decided on the frame you select your attack).
-I map distort near the exit to skip the rival fight. I also switch my 7th Pokémon with the Pokémon above my first Pokémon (needed to get a team of koed Pokémon).
-I put away certain Pokémon until I only have koed Pokémon making the elite 4 pretty simple.

Defeating red

-Thankfully abra has teleport which puts me back at the Elite 4. All the abras need to be re withdrawn to allow map distortion again. I map distort to skip the rival fight again. I need to save and reset in order to have the hole you fall into load correctly
-In order to get to mount silver you need to map distort but change some Pokémon around to get the desired affects. By switching the 3rd Pokémon above your first Pokémon and the Pokémon 2 above that you can create a distortion that works. Again a reset is needed to actually exit.
-Out here I re-ko my first 6 to allow the instant victory glitch, depositing all the non koed Pokémon. Opening the Pokemon menu created a lot of garbage that made it so I couldn’t leave the center, but the depositing Pokemon menu was enough to make it go away.
-It’s a simple matter of talking to Red, and bam, its over!
Total frames: 195008 or 54:24.96
Possible improvements include better luck manipulation. I have no idea how to use Lua or stuff like that so the manipulation was done manually. There is always a chance I missed a combination that would have had the desired affect with fewer frames. Additionally time might be savable with better map distortion patterns, but that would take a LOT of trial and error. I am also certain that having a much higher defense DV would save some time early on (less damage during the first gym), but might loose time while koing the team. Either way, I was not able to manipulate a good defense DV and great other DVs.
Hopefully I haven’t forgot anything. Enjoy and happy holidays!

Nach: Nice run. First glitched run I saw that seemed like it was decently optimized (even though it can be further improved). The audience seemed to have been entertained, so it can be accepted as moon tier.
Regarding this run's relationship to the fuller run, I've considered this as an obsoletion for it. However, that other run seems to actually play through the whole game instead of skipping most of it via various glitches. Therefore I do not think this should obsolete it. We'll need to come up with some name for that run to reflect its full state, and I'm currently accepting this run as the standard any% run.


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15561
Location: 127.0.0.1
Joined: 3/26/2012
Posts: 102
Location: Not Japan
I'm happy someone TAS'd the (more entertaining) glitchy world route. Yes vote.
Fortranm
He/Him
Editor, Experienced player (878)
Joined: 10/19/2013
Posts: 1121
A nice Christmas gift. Waiting for a comparison with FractalFusion's coin case route run.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4042
This is probably the biggest part of Pokemon TASes, as luck influences Pokemon starting stats, criticals, what Pokémon goes first if speed is tied, the damage range of a hit, if they hit or not, wild encounters, etc.. For the most part luck can be manipulated by delaying input for a few frames at very specific times. Wild encounters can sometimes be manipulated based on your movement patterns.
I thought that gen 2 used the same RNG as gen 1. That is, every single thing related to input influences the RNG unpredictably (pressing buttons, releasing buttons, timing, etc) which is how MrWint could make a bot to optimally TAS pokemon blue by trying different input until it got the luck it wanted.
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
Editor, Experienced player (570)
Joined: 11/8/2010
Posts: 4036
I loved seeing the game broken so hard. Yes vote!
Editor, Expert player (2072)
Joined: 6/15/2005
Posts: 3282
Interesting run. But I have a big question: Is it possible to use Pidgey instead of Abra? Considering Pidgey has a much shorter cry... Other than that, I have a couple comments: - 8:09: It is faster to have Rattata's Tail Whip hit instead of miss. - 15:46: It is faster to walk in front of the Hiker only after going as far right as possible on the row above. (In this case, the Hiker only walks one step.) This run is pretty well-done. There is also the luck-manipulation issue, but I'll let it pass. (I didn't do much better in my really old Pokemon Gold TAS either.) By the way, the memory addresses given in the submission text are based on offset from C000 (main RAM/whatever it is called); e.g. 1A3F is treated in GB as well as VBA as DA3F.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4042
Another comment:
This glitches all battles to end when you try to send out a Pokémon, and for the case of trainers the game assumes you have defeated them!
This is not a glitch - it is deliberately programmed into the game to end the battle if it notices you have no alive pokemon. GETTING to this state is a glitch, but what happens is not. (There's also a similar failsafe where if you haven't gotten any pokemon yet, the battle won't even start. This was used in the last submission by TheZZAZZGlitch.) Finished watching - yes vote. Thanks a lot for making this! Having a TASed example of the RTA route pushed to perfection should make it easier for glitchcity guys like MrWint and TheZZAZZGlitch to study and maybe find improvements on the map distortion techniques used :) And of course this will be great to show to people and see their reactions :D Lovely disco colours after the elite four. Too bad they couldn't go on even longer :) (Is anyone planning on uploading this to nicovideo?)
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
Editor, Expert player (2072)
Joined: 6/15/2005
Posts: 3282
Patashu wrote:
(Is anyone planning on uploading this to nicovideo?)
I plan to, but it won't be ready for a couple days at least. (If anyone uploads it before I do, then I will abort the plan.)
Patashu
He/Him
Joined: 10/2/2005
Posts: 4042
FractalFusion wrote:
Patashu wrote:
(Is anyone planning on uploading this to nicovideo?)
I plan to, but it won't be ready for a couple days at least. (If anyone uploads it before I do, then I will abort the plan.)
Link to video ABORT! ABORT!
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
Emulator Coder, Skilled player (1113)
Joined: 5/1/2010
Posts: 1217
FractalFusion wrote:
By the way, the memory addresses given in the submission text are based on offset from C000 (main RAM/whatever it is called); e.g. 1A3F is treated in GB as well as VBA as DA3F.
AFAIK, bus-DA3F corresponds to wram-1A3F only if WRAM window 1 is set WRAM page 1 (Gameboy Color). Otherwise, bus-DA3F corresponds to some WRAM address of form wram-xA3F (where the x is the page number set to WRAM window 1). IIRC, WRAM window 0 is fixed to page 0, which means bus-C000-CFFF does correspond to wram-0000-0FFF.
Spikestuff
They/Them
Editor, Publisher, Expert player (2632)
Joined: 10/12/2011
Posts: 6437
Location: The land down under.
Ow, my eyes? For screwing the color palette and not fixing it and for having the run much more entertaining, I'm giving this a YES. Also I love you for keep fighting on and used lsnes to do the TAS due to the Bizhawk issues.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4042
Spikestuff wrote:
For screwing the color palette and not fixing it and for having the run much more entertaining, I'm giving this a YES.
FWIW, the colour palette has to be messed up for the glitch to work correctly.
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
Editor
Joined: 11/3/2013
Posts: 506
Hell yeah :) I'll watch this later when Christmas family visits are over but, having told you to submit this, it would be somewhat hypocritical to vote "no". I'm sure I'll be entertained anyway - watching your childhood wrecked is always special :) Somewhat amusing that, even though it doesn't use the Coin Case glitch, this run picks up the Coin Case anyway.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4042
Fun fact - the TAS for this game was uploaded to nicovideo about a day later than the one for OoT, but it passed 100k views before the OoT TAS did (though not by a huge margin) :D
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
Experienced player (583)
Joined: 2/23/2008
Posts: 266
Location: CA, USA
FractalFusion wrote:
Interesting run. But I have a big question: Is it possible to use Pidgey instead of Abra? Considering Pidgey has a much shorter cry... Other than that, I have a couple comments: - 8:09: It is faster to have Rattata's Tail Whip hit instead of miss. - 15:46: It is faster to walk in front of the Hiker only after going as far right as possible on the row above. (In this case, the Hiker only walks one step.)
Yeah, Pidgey's cry would save a lot of time while moving pokemon through boxes. The one thing that would need to be tested is if the map distortion works properly (couldn't say I'm sure) and whether not having teleport would loose time since you would have to use an escape rope I believe. Both of the other comments sound like they could save a little time.
Fortranm
He/Him
Editor, Experienced player (878)
Joined: 10/19/2013
Posts: 1121
Might it be quicker to distort the map in Route 2 instead of using Cut and walk through the forest?
Experienced player (583)
Joined: 2/23/2008
Posts: 266
Location: CA, USA
Fortranm wrote:
Might it be quicker to distort the map in Route 2 instead of using Cut and walk through the forest?
It would be faster, however I played around with map distortion there using the pokemon I had and could never get a good distortion that let me bypass the wall (tried switching pokemon, distortion at different spots).
Joined: 12/29/2007
Posts: 489
Bobmario511 wrote:
whether not having teleport would loose time since you would have to use an escape rope I believe.
How would an Escape Rope work? Only in Gen I does it return you to the previous Pokemon Center; in Gen II+ it only returns you to the entrance of the cave it was used in.
Experienced player (583)
Joined: 2/23/2008
Posts: 266
Location: CA, USA
Zowayix wrote:
Bobmario511 wrote:
whether not having teleport would loose time since you would have to use an escape rope I believe.
How would an Escape Rope work? Only in Gen I does it return you to the previous Pokemon Center; in Gen II+ it only returns you to the entrance of the cave it was used in.
Guess escape rope is out of the question then. Not sure how you would get back teleportless besides redoing all the map distortions to get to Victory Road. The only other way would be with fly, but you would need a pokemon that can fly (would probably use some of the "weird" pokemon created with having more than six pokemon), the HM and a badge which is just a time loss in this run. I've tried distorting over the water East of New Bark Town but never made it anywhere (would also be a walk, possibly a few mandatory battles, I forget) so Abra seems the best way to go.
Joined: 12/29/2007
Posts: 489
Do you have to use only Abra the whole way, or is there some way to use mostly Pidgey and then 1 Abra or something? Or would that end up costing more time than the time saved by the shorter cries?
Editor
Joined: 11/3/2013
Posts: 506
Finally got round to watching this and got exactly what I expected. That is, I really enjoyed it. I have a feeling there are improvements to come but it's crazy to expect the first run of a totally new route like this to be thoroughly optimal. Yes vote.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15561
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [2504] GBC Pokémon: Gold Version "save glitch" by Bobmario511 in 54:24.96
Patashu
He/Him
Joined: 10/2/2005
Posts: 4042
Congrats on publication! I hope this leads to a clever future improvement by the pokemon glitch hunters/disassemblers :D
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
Skilled player (1738)
Joined: 9/17/2009
Posts: 4980
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Patashu wrote:
Congrats on publication! I hope this leads to a clever future improvement by the pokemon glitch hunters/disassemblers :D
And I hope there would eventually be a movie that can obsolete both this and the "All gyms" run. :P
Patashu
He/Him
Joined: 10/2/2005
Posts: 4042
jlun2 wrote:
Patashu wrote:
Congrats on publication! I hope this leads to a clever future improvement by the pokemon glitch hunters/disassemblers :D
And I hope there would eventually be a movie that can obsolete both this and the "All gyms" run. :P
It's best described as glitchless, not all gyms. I'm pretty sure all gyms would get instant victory glitch and bulldoze through the game.
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