TASVideos

Tool-assisted game movies
When human skills are just not enough

Submission #6982: CasualPokePlayer's GBC Pokémon: Gold Version in 2:52:57.88

Console: Game Boy Color
Game name: Pokémon: Gold Version
Game version: USA/Europe
ROM filename: Pokemon - Gold Version (UE) [C][!].gbc
Branch:
Emulator: Bizhawk 2.5.1
Movie length: 2:52:57.88
FrameCount: 620512
Re-record count: 173200
Author's real name: Wesley B.
Author's nickname: CasualPokePlayer
Submitter: CasualPokePlayer
Submitted at: 2020-12-28 21:32:10
Text last edited at: 2020-12-31 23:09:39
Text last edited by: Spikestuff
Download: Download (89274 bytes)
Status: published
Click to view the actual publication
Submission instructions
Discuss this submission (also rating / voting)
List all submissions by this submitter
List pages on this site that refer to this submission
View submission text history
Back to the submission list
Author's comments and explanations:

(Link to video)

Introduction

Emulator used: Bizhawk 2.5.1

  • CGB in GBA mode is enabled for console verification.
  • Also for console verification, the RTC Offset is set to -69, to match Tikevin’s Gold cart.

Game objectives

  • Beat the game without using glitches.
    • “Beating the game” is defined as defeating Red on Mt. Silver.
  • Gold is used over Silver; there aren’t really any differences between the two, but Gold is still faster by a few frames due to the title screen and some minor text differences. Also Silver was used for glitched so Gold gets some love with glitchless now :3

Categories

  • Very heavy luck manipulation
  • Aims for fastest completion of the game
  • Uses a game restart sequence

General Strategy

Pokemon used

The main battler for the game is Totodile, the water starter. Totodile and Cyndaquil are the only two good options, but for a full run of the game, Totodile trumps over Cyndaquil, due to its better attack and better moveset.

The Togepi egg is forced to be obtained, but it is immediately deposited in the PC to skip the hatching animation, along with Togepi being just useless overall.

Since Toto wants to be used as the main battler throughout the game, a Pokemon is caught for the move Cut. Sentret is the best option among all the cutters, mostly due to its really short cry.

Abra is also caught, due to its move Teleport. This is very beneficial at two points.

  • After getting the Squirtbottle, Teleport is used to go to Violet City. Going through the north end of Goldenrod requires fighting through at least 3 trainers, who can be skipped by simply teleporting, since Sudowoodo can be encountered on the Violet side too.
  • Rock Tunnel has to be gone through to reach the Power Plant (Route 9 would be faster if trainers weren’t there). We can mark a Teleport point at the Rock Tunnel Pokemon Center, skipping the need to go through Rock Tunnel twice for the Power Plant sidequest.

A Spearow named Kenya is also obtained for the move Fly. This is a gift Pokemon, which takes much less time to obtain than to catch a Pokemon (~15 seconds vs ~30 seconds). Its moveset also has empty slots, adding to its worth even further.

The red Gyarados is caught for the moves Whirlpool and Waterfall. This is pretty much the only option for us, as every other option is too out of the way, and the red Gyarados is a forced encounter anyways, so it’s only ~7 second time loss to catch it over KOing.

Overworld movement

The general rule is to take the least amount of steps. Tall grass and spinners are non-factor, as they can all be manipulated. The bike is also obtained, as the player goes twices as fast on it. The bike can also be binded to Select for use, which makes it worth using the bike whenever the player needs to take more than 8 steps (which is nearly every time).

There are some movement quirks I learned of when making this TAS. Unlike Gen 1, A presses do not lag the game (most of the time, they can sometimes cause a single frame of lag with large amounts of NPCs). A presses also do not affect RNG in most cases, with the exception being that they can be used to offset a subframe random call when loading in a random NPC. This is used occasionally, as it usually results in no frame cost, and even if it causes a frame of lag, it’s still only 1 frame, which is overall minor in the scope of manipulating no encounters. However, if there are no NPCs around, then another trick can be used. On the frame that the game actually checks input for movement, we can simply not give it an input, delaying movement by 2 frames. If we are also beside a wall, we could also give it an input to “bonk” on the wall, then resume normal input, which again results in a 2 frame delay. These sort of delays are sometimes used in places where there are no NPCs around, and different movement through the place will not affect RNG. Another quirk is a “turnframe.” Simply, if the player is in a “motionless” state, turning will take 8 frames. Whenever possible, this is avoided. Of course, extra steps to just avoid a turn frame is not a good idea, as 1 step takes 16 frames (or 8 frames with the bike).

There is also an even newer quirk used for RNG manipulation… well, can’t say newer since its idea has been used in RTA Trainer ID manips for a long while, only now has it been really applied extensively in a TAS. This quirk revolves around the joypad interrupt and LCD disables. For some reason, Gold/Silver enable ALL interrupts, even completely unused interrupts like the joypad interrupt. And it so happens if you press buttons 1-2 (sometimes 3) frames before the LCD is disabled (ie, the screen turns “white” and there are lag frames), you will offset RNG a tiny amount. This is extensively throughout this movie for even less delay for RNG manipulation.

Battle Strategy

Overall, the strategy for battles is to simply reduce the amount of turns needed. Next in priority is reducing super effective hits and critical hits. They cause another textbox to appear, which does cost a bit of time. Of course, another turn usually takes longer. Although, even then, PP must be a consideration. When a move runs out of PP, the move cannot be used until it is replenished. There are some forced heals, along with a house that quickly heals your party, but aside from them, it is very slow to restore PP, mostly due to how laggy Gen 2 menus are and the amount of time it takes to heal at a Pokemon Center. However, even still, 1 Max Ether is used during the Rocket Radio Tower takeover, due to simply not having enough PP to make it to the Heal House.

For enemy moves, there is a general chain for speed, it is fastest if the enemy does not move, then if the enemy flinched, then if the enemy misses an attack, then if the enemy hits a status move, then if the enemy hits an attack, then if the enemy misses a status move. Of course, there are caveats to this, which will be noted later.

There is a bit of randomness involved with the overall damage, called a “damage roll.” Simply, every attack will have 85%-100% damage overall. This is done by rolling a number between 217 and 255, then dividing that number by 255, then multiplying the result to the damage value. Due to rounding, max damage is only obtained with a 255 roll (1/39 chance). Unfortunately, this will need to be done often throughout the game, even into the late game.

In some fights, X Attacks are used. An X Attack simply raises the “stage” of the attack stat by 1. The default stage, stage 0, has a 1.0 multiplier, then stage 1 has a 1.5 multiplier, stage 2 has a 2.0 multiplier, stage 3 has a 2.5 multiplier, etc etc. The stages max out at +6, but this is never needed.

Route

Intro

The options are set with the “fast options” trick, shifting all options (except frame type), to the left, which sets all the applicable options for speed.

Time is set to 10:00 AM. A certain time isn’t needed and default time is the fastest.

The player is named “B”. The player’s name appears a lot throughout the game, so it saves a lot of time to give him a 1 character name. To note, A/B/J/I all cost the same amount of time to input in, so naming the character B over A does not actually cost any time.

All other options are irrelevant, so they are all set to their default values, as they are the fastest.

Elm’s Lab

Toto’s DVs are manipulated to be FFFF (15/15/15/15, in order of ATK/DEF/SPE/SPC). The minimum DVs needed were 15 attack, 7 defense, 15 speed, and 15 special. Higher defense was preferable, and I was able to find perfect defense to boot for this Toto, so it works nicely. It is also nicknamed, due its name appearing often. J is chosen for the nickname just because. An interesting note when manipulating Totodile's DVs: to obtain the DVs F7FF-FFFF, the second random call needs to have rDIV equal 0xF7-0x00. The only way to change this is to add delays, especially around disabling the LCD. Overall 3 frames of delay were used to get the second random call to have rDIV equal 0x00, allowing for perfect DVs.

Movement is done to reduce Elm’s aide movement. Reducing NPC movement saves time overall, and it will be done often throughout the run.

Rival 1

Chikorita has Tackle and Growl. Tackle can miss, so Chikorita missing Tackle is the fastest.

Route 29

Sentret is caught for Cut. Its name doesn’t appear enough for nicknaming it to save time, so no nickname is given.

Route 31

Mom will call you entering the route, although it could be avoided by calling mom yourself. However, it’s slower anyways unless you have to use the menu (we don’t).

Violet Gym

Abe's Spearow is faster, and his AI will always choose Peck, which will always hit. Spam Rage with Toto seems to be the fastest against Abe. Ron's Pidgeys simply go down with two crits each.

Falkner’s Pidgey will always go for Tackle. 3 Rages are used against it, then a 1/39 crit OHKOs Falkner’s Pidgeotto. Once Falkner is defeated, we get his badge, which like Gen 1, has a badge boost, boosting attack specifically.

Violet Pokemon Center

Speaking to the Aide on a turnframe happens to be faster than talking to him head on, due to reduced NPC movement. The egg is deposited immediately, as there isn’t really a better place to deposit it.

Union Cave

Russel is garbage for Totodile. Totodile won’t know Water Gun until the next level up, so Rage needs to be used against Russel.

Azalea Town

Slowpoke Well is just a bunch of low leveled Rockets, they’re easily defeated by Totodile.

Annoyingly, we only have Totodile for Bugsy, so more Rage spam is needed. Toto evolves into Croconaw right after the fight, which is good for Rival 2.

Rival 2 is simple. Gastly is OHKO’d by Water Gun, Bayleef goes down with 3 Scratch crits, and Zubat goes down with a Water Gun 1/39 crit.

Ilex Forest

Taking the longer way to catch the Farfetch’d is fastest. This isn’t exactly obvious, but it’s still faster due to less interactions with the Farfetch’d.

Sentret is taught Cut in front of the tree, so as to use Cut within the menu to save some time. The Potion is also tossed in this menu to reduce later menuing and reduce some lag within the bag (heh, nice rhyme).

Headbutt is also obtained, as it’s one of the strongest moves Croc can learn this far in the game, and its ability to flinch opponents is quite useful in a few spots.

Route 34

Abra is caught here, no nickname is given due to its name never appearing.

Goldenrod City

The bike shop is done first, as it will speed up movement. It is binded to Select for faster use later, and used within the menu to save some time.

Two trainers in Goldenrod Underground eventually need to be fought, and Croc really needs the exp, so they are fought early on. I also use this opportunity to manipulate for Pokerus, as the boost it gives Croc/Gatr is really useful, from letting me outspeed/speed tie some things to saving a turn on Red.

To note on manipulating Pokerus, it wasn't actually that hard to manipulate. Since Pokerus uses both hRandomAdd and hRandomSub, and happens to need 0000, 0001, or 0002 rolled, this means that Pokerus is only obtainable if the DSUM is 0-2. You might recall DSUM for its consequences on Gen 1 manipulation, and how for Gen 1 it could tick upwards or downwards (for Gen 2, the DSUM nearly always ticks downwards). Thus it's quite easy to control, and with this knowledge, only a total of 4 frames of delay were used to obtain Pokerus.

For Whitney, Rage is once again used. This is actually slightly slower (1.5 seconds) than spamming Headbutt, but using Headbutt would need 5 Headbutt PP, PP which I really need later on.

Once Whitney is defeated, I get the Squirtbottle, then teleport back to the Violet Pokemon Center, to avoid trainers north of Goldenrod.

Violet Mart

Violet Mart has 3 items I need, Escape Ropes, X Attacks, and X Speeds. When shopping, the game let’s me input in Right to increase the quantity by 10, and due to the amount of money I have, I can abuse this and buy 11 X Attacks, although I still only buy 5 Escape Ropes to reduce menuing. This actually ends up leading to a slight error in my part. I originally planned to use 5 X Attacks, but I realized that no X Attacks were needed on Blue, and Red only needed 2 X Attacks, so only 3 X Attacks were used. Thus some menuing (i.e. 6 frames) could have been saved in menuing if I bought 3 X Attacks instead (if 5 were used, 4 frames would have been saved by buying 11 X Attacks, so you could see why I did this). I realized this quite late into the TAS, and to fix this would require redoing the entire TAS past this point (which I can’t even guarantee RNG will still let me save these 6 frames). Oh well.

Ecruteak City

Kimono Girls are done in the order Flareon -> Umbreon -> Espeon -> Vaporeon -> Jolteon. Umbreon is done before Espeon so Croc can have another level for Espeon, letting it outspeed it (instead of being outsped). Nicely, Pokerus happens to spread to Croc once Espeon is defeated. Surf is taught once outside of the house, and the Bike is used within the bag to save some time.

Pokerus starts becoming useful in Morty’s gym. Sage Jeffrey’s Haunter would outspeed Croc usually, but with the boost from Pokerus, Croc now speed-ties Haunter.

Route 38

The spinner here goes in a constant pattern, so a 2 frame delay is needed to pass him.

Olivine City

Bite is used against Preston’s Growlithes to conserve Headbutt PP.

Cianwood City

Strength is taught to Croc in the gym. Strength is useful in battle and I need it to get past the boulders in the gym and later on. Strength is used in the menu to save a bit of time (and to have Croc’s shorter cry for this Strength use rather than Gatr’s).

After Chuck is defeated, Fly is obtained. The Fly HM will be highlighted immediately when we go to the TM/HM pocket, since we obtained another TM at Chuck’s Gym. Fly isn’t strictly required, but it allows for quick movement when backtracking to another town.

This is a minor point to make about Fly. After the Elite 4, I realized I could use Fly a bit faster by combining the Up/Down inputs with Left/Right to prevent consecutive input lag. This is done for all Fly points past the Elite 4, but not for any before (due to fixing it requiring redoing the TAS from there).

Olivine Gym

haha Surf go brr

Mahogany

The Red Gyarados is a forced encounter, and cannot be fled. It is caught for the moves Whirlpool and Waterfall. Gyarados’ name will appear only 10 times throughout the run, so giving a nickname is not worth it (by 1 frame).

The Lance heal replenishes PP. There will be a lot of fights before being able to replenish Gatr’s PP, although even still, there isn’t enough PP to last all the way to the Heal House. So eventually a Max Ether will be obtained to restore PP.

Ice Path

Strength puzzles lol

Radio Tower

Iron Tail is taught to Gatr right before some grunt with a Muk is fought, replacing Headbutt. Bite is far more useful than Headbutt, and I’ve expended Headbutt’s use now. Whirlpool and Waterfall are also taught here to save a menu.

The Radio Card must be obtained for later; it’s on our way now so this is the best time to get it.

The Max Ether is obtained and used during the Escape Rope menu, restoring Strength’s PP.

Route 27 & 28

Heal House lol

Elite Four

Koga's Crobat would typically outspeed Gatr, but with the boost from Pokerus, Gatr speedties Crobat.

Lance's Gyarados and L50 Dragonite cannot be OHKO’d, so an X Attack is used. Again, Aerodactyl would typically outspeed Gatr, but as you can guess, the boost from Pokerus lets Gatr outspeed Aerodactyl.

Kanto

Kanto is done completely without any heals, and PP is planned out so all but 5 Bite PP are left after Red is defeated. Some Bites crits are done for PP conservation.

After landing in Kanto, it's faster to fly to Vermilion rather than biking from the pier.

Kanto does have a lot of options, but overall it is best to do Kanto gyms along the way of restoring the Power Plant, whilst minimizing trainer battles.

Route 9 is the fastest route movement wise to get to the Power Plant, but there are multiple trainers in the way, so it cannot be used. Instead, Rock Tunnel is taken to get to the Power Plant. I go into the Pokemon Center once I’m through to set a Teleport point, which avoids going through Rock Tunnel again.

After Misty is done, I teleport then finish the Power Plant fetch quest.

Erika is done right after Misty, the exp is needed later on and doing it here keeps Fly inputs to a minimum, and doing it right after Misty allows me to save 1 crit in the gym.

Surge is done on the second Vermilion visit, as it’s more on the way than the first visit.

Brock is a small detour, but it’s still faster to go to the gym once you visit Pewter City.

Red

2 X Attacks and all of Red’s Pokemon are OHKO’d. An X Speed is also used due to 3 of his mons outspeeding me. Interesting to note, without Pokerus, 3 X Attacks would be needed to OHKO all of Red's Pokemon. But the boost from Pokerus just barely lets me OHKO all his Pokemon with just 2 X Attacks.

RouteTwo

In this TAS, I used a program called RouteTwo. The program was designed for RTA routing, but it works quite well for TAS routing. You can find my final route files here: https://github.com/CasualPokePlayer/pokemon-routetwo/tree/tas/tas_examples


ThunderAxe31: Judging.

ThunderAxe31: Very cool improvements! I really like how the author did think out of the box and introduced new strategies to save time, beside the usual optimization quality in general.

Since Pokémon Silver is almost the same game, accepting for obsoleting [4256] GBC Pokémon: Silver Version (USA/Europe) by CasualPokePlayer & EZGames69 in 2:54:21.2.

Spikestuff: Publishing.


Similar submissions (by title and categories where applicable):