After a while of making runs for Mega Man X games, I decided to make a Pokémon Gold run. This is due to both my interest in Pokémon, and the luck-manipulation and strategy part. For a while, Pokémon RB was a contested TAS, so I thought that it would be nice to try Pokémon Gold. Luck manipulation is never easy, but with enough determination, I am able to make the most unlikely events occur, although there aren't too many of them. The memory viewer is a big help in the making of this run.
It was Tilus' Pokémon Blue run (later obsoleted, the most recent being primorial_soup's Pokémon Red run) that inspired me to start looking at Pokémon Gold. Inspired by primorial#soup's naming convention, I use ! for the player, / and - for Pokémon, and ??? for the rival. Just remember that when looking at the game script, so if you see !! or !?, it's referring to the player character.
Note - View this text from the submission page. é should be an accented e

Desync information

The emulator used was VBA 1.7.2 v17. The movie will not work in any later version (v18+). The movie may work in earlier versions.
To make sure the movie does not desync, follow these steps:
  1. Make sure VBA is closed, and delete the .sav file.
  2. Set the system clock to May 19 (doesn't seem to matter which year). Some other dates work.
  3. Open VBA and play the movie.
If for some reason that still doesn't work, use one of the savestates. The first one is beginning.sgm
This information is repeated at the bottom.

Aims

(from highest to lowest priority)
  • Uses no predefined saves
  • Aims for fastest time (Johto+Kanto completion)
  • Uses a game restart sequence
  • Takes damage to save time
  • Manipulates luck

Programming errors abused

None. Glitches do exist, but they were not used at all.

Other notes

  • The run does use a save, but it is not predefined. It occurs after Johto is beaten.
  • After Johto is beaten and data is saved, I use soft reset (A+B+Start+Select).
  • This run does not use “death” as a shortcut. It could conceivably be faster but I have not convinced myself that it is.

About the game and the run

Pokémon Gold is a turn-based move game where stats (Level, HP, Attack, Defense, Speed, Special Attack, Special Defense), types, and type class (physical, special) are important. Unlike in Red/Blue, where emphasis was on the special class, Gold/Silver emphasizes the physical class. That's one of the reasons I chose Geodude/Graveler to be the choice Pokémon. As well, there are many items, such as TMs and HMs to teach moves, event-specific items, held items that influence battle (e.g. an item that gives you a chance to strike first even if slower), and the bike. Some of these items are necessary to complete the game.
These are the main differences of Gold/Silver compared to Red/Blue:
  • Special is split into special attack and special defense.
  • Pokémon can hold items, some of which affect battle.
  • There are new moves and new Pokémon, of course. There are also a couple new types, too.
  • Attacks that are labeled “100% accuracy under unmodified Accuracy/Evade stats” really are in GSC, unlike in RBY where they have a 1/256 chance of missing.
  • The menu system has changed somewhat, and it's quite slow now.
  • The game uses real-time clock functionality. The day of the week and the time have an effect on some of the gameplay.
As you will probably notice, the game introduces a factor called “gender”, but gender is merely a function of two variables: what the Pokémon is, and what its Attack DV[1] is. Gender is completely irrelevant in this run. Also, some Pokémon can become shiny with the right DVs. Again, it is irrelevant. Actually, it is relevant, because it wastes time to see a shiny Pokémon.
The differences between Gold and Silver are minimal. The most significant difference is the legendary that you can catch, which is ignored by this run. Crystal has a few more significant differences, but all these versions are closely related.
Unlike the corresponding run in Red/Blue, which is a comparatively “hard” game to run, Gold/Silver is a comparatively “easy” game to run. Thus, while the run in RB matches up type weaknesses and gets critical hits, this run does not do nearly as much. When things get really easy, I even try to avoid type weaknesses and critical hits since their messages waste time. With this in mind, it is clear that RB has a more interesting run although this run does not lack strategy. Most of the strategy involves luck manipulation.
Luck manipulation is a huge factor in this game. It affects damage variation, critical hits, first-turn attack, hit accuracy if not 100%, the Magnitude attack, opponents' attacks (to some degree), opposing trainers' Pokémon order (to some degree), out-of-battle encounters, random trainers' looking direction, random walking people's movement, wild Pokémon's DVs, catching wild Pokémon, and others. Some opposing strategies can be luck-manipulated but opponents will play weaknesses when they can. In an opponent's Pokémon order, the first Pokémon is always fixed.
See Pokémon Tricks for more information.

Pokémon caught and used

Geodude/Graveler is the Pokémon of choice for this run. It has high physical stats but low speed and low special stats. Its Rock/Ground typing makes it weak to the physical types Fighting, Steel, Ground, and the special types Ice, Water, Grass (the last two of which it is double-weak). These weaknesses also influence the order of Pokémon trainers send out (Grass Pokémon are annoying). All the attacks I give it are physical-typed. The sheer power of its moves makes up for its poor weakness coverage. Because it is slow, I give Geodude the Quick Claw to give it a chance to strike first, then let luck-manipulation do the rest. Geodude is also the HM Strength user.
Totodile is the starting Pokémon from the Prof's lab. It has balanced stats and gets Scratch and Rage, good moves against the first gym. Totodile is also the HM Cut, HM Surf, and HM Whirlpool user.
Pidgey is the HM Fly slave. While not necessary to beat the game, Fly can transport the player quickly between towns when out of battle.
Gyarados is the HM Waterfall slave. It is normally blue, but this one is red because it is shiny. This is the Lake of Rage Gyarados that you must encounter to beat the game. Also known as Red Gyarados.
Also obtained is a Togepi Egg. To save time, it is deposited into the Pokémon storage system, so you won't see it hatch.

Moves used in battle

A quick review of move and damage mechanics:
Each Pokémon can only possess 4 moves. New moves must replace old ones.
Each move has a limited number of PP. If PP runs out, it can't be used until PP is restored. Each use of a move costs 1 PP. Rollout is slightly different (see below).
An attack has damage variation ranging from 217/255 times max damage to max damage (in other words, R/255 times max damage, where R is a random number between 217 and 255). Since the game uses integer division, max damage occurs rarely (only if R is 255). Any move that is the same type as a Pokémon's type gets a 1.5x bonus.
If a badge is earned from a gym, moves of that gym's type get a 1.125x bonus.
Some held items give moves of a type a 1.1x bonus (I decided it's not worth it).
Type matchups:
super effective = 2x damage
not very effective = 0.5x damage
can't hit = 0 damage
If defending Pokémon has two types, match up each one separately and multiply together. Critical hit is slightly less than 2x (it's not a multiplier) if stats are not modified. If stats are modified, the modifications are ignored if it does better damage! So if an opposing Pokémon drops attacker's Attack and/or raises its own Defense, and nothing else, it will be ignored in a critical hit.
Physical-typed moves use Attack/Defense stats. Special-typed moves use SpAtk/SpDef stats.
Physical types: Normal, Fighting, Flying, Poison, Ground, Rock, Bug, Ghost, Steel Special types: Fire, Water, Grass, Electric, Psychic, Ice, Dragon, Dark.
Damage formula: { [ ( 0.4 * L + 2 ) * A * P / ( 50 * D ) ] + 2 } * X
where L is Level, A is Attack/SpAtk, P is attack power, D is Defense/SpDef, and X is a combination of all relevant multipliers. In a critical hit, L is doubled. All division and fractional multiplication operate on integers (hence, truncation). The multipliers in X operate one-by-one on the number inside the brackets, not themselves.
Here is a review of the moves used:
Scratch is Totodile's first move. 40 power, Normal type.
Rage is Totodile's second move, learned at L7. 20 power, Normal type, with a multiplier attached. First use of the move is 1x and each time Totodile is hit, multiplier increases by 1.
Tackle is Geodude's first move. 35 power, Normal type.
Mud-Slap is Geodude's second move, learned by TM. 20 power, Ground type, ability to lower (opponent's) accuracy. Used only to dispatch fellow Geodudes.
Rock Throw is Geodude's third move, learned at L11. 50 power, Rock type. Useful for the second gym, and the most powerful Rock move that Geodude can learn (it can't learn Rock Slide without breeding or trading).
Magnitude is Geodude's fourth move, learned at L16. A random magnitude number between 4 and 10 is selected (the farther from 7 the number is, the less chance of getting it). Magnitude 8 is 90 power, Magnitude 9 is 110 power, and Magnitude 10 is 150 power. Magnitude is a Ground-typed move. This is the lucky powerhouse move that drew me to Geodude's use. Except for Bug, Grass, and Flying Pokémon, Magnitude could knock out just about every Pokémon, especially with critical hit (which is extremely difficult to get with a high magnitude number). The drawback to Magnitude is that Bug and Grass are resistant to Ground and Flying is immune. Magnitude also takes 1 second more than other moves to state the magnitude number.
Rollout is Geodude's fifth move, learned by TM. 30 power, Rock type, with a multiplier attached. First use of the move is 1x and every successive use, up to 5 consecutive uses, doubles the multiplier. Missing, fainting, being unable to attack, or using Rollout 5 times ends the streak. The are two strange things. First, Geodude is forced to keep attacking during the streak; you don't gain control until it's over. On the up-side, the battle menu is skipped, saving about 20 frames per use. Second, a whole streak counts only 1 PP of Rollout. Geodude/Graveler can learn Rollout naturally at L34, but doesn't in this run because it learns by TM.
Strength is Geodude's sixth move, learned by HM. 80 power, Normal type. Important since it is normal-effective against most Pokémon.
Earthquake is Geodude's seventh move, learned at L41. 100 power, Ground type. I replace Magnitude with this because it's easier to get 100-power critical hits with Earthquake, and it doesn't take 1 second more per use.
There are other moves but I don't learn or use them.
Yes, I only use Physical-typed moves in this run. Note that Rock and Ground fit together nicely. Bug and Flying, which are resistant and immune (respectively) to Ground, are weak to Rock. Only Grass remains the problem.
Note that Geodude's Rock/Ground typing and low specials makes it OHKO bait to Water, Grass, and Ice Pokémon with 100%-accuracy moves such as Water Gun (Water), Surf (Water), Petal Dance (Grass), and Aurora Beam (Ice). Getting the jump on these Pokémon is critical to survival.

Items used

  • Berry is already held by Totodile. It restores some health when low on it. Although it would seem compelling to take it off to save time, it fits nicely with my plan, so I keep it on.
  • Quick Claw is given to Geodude. This gives Geodude the chance to go first even when slower, and I luck-manipulate. Without this item, Geodude wouldn't stand a chance.
  • Bike makes player go twice as fast out of battle (not in buildings). The select button can be set to ride the bike.
  • Escape Rope is used to allow the player to escape quickly from some areas (underground areas, caves, and the lighthouse).
  • A Max Ether is used to restore some Strength PP. The PP-restoring items are Ether, Max Ether, Elixir, and Max Elixir. The game spells it “Elixer”, although I don't know why. There aren't that many, because you can always refill all your move PP by going to a Pokécenter. There are some refresh points in the game that refill all your move PP as well.
All other items are either event-specific, or don't matter.

Overworld strategy

  • I avoid trainers if at all possible. Trainers have a certain range in front which they can see.
  • The ! pops up over a trainer's head if I walk in front, so I go off my path for up to two steps to engage a trainer from the side or from behind if possible (and only if I can't avoid the trainer). With the bike, the maximum number of steps off the path increases to four.
  • It is faster to engage an event from head-on rather than from turning to it. This includes exiting a building/area. It is also faster to go forward first after entering a new area.
  • Some trainers look around randomly; these ones can be luck-manipulated. Some trainers rotate clockwise steadily . Occasionally, I have to stop briefly until they look away just before I cross in front of them.
  • I use HMs, TMs, and items prior to engaging an event that I can engage from the menu as well (such as using Cut on a tree, Surf on water, or Squirtbottle on Sudowoodo).

Run Info

Pre-game

I switch text speed to fast, turn battle animation off, and change battle style to set (so game doesn't ask whether to switch Pokémon after KOing opponent). There is a sound mono/stereo option but I don't think it matters.

Start - Adventure (getting the Pokéballs)

  • The time and date influence some events in the game, but I am sastified with the default (Sunday, 10:00 AM). No DST because less text.
  • It looks like a bad route walking to the Prof, but only until you realize that I cannot control my character when I enter. (Hint: Turn on input display).
  • I get L5 Totodile and manipulate to get DVs E5FB. It's not FxFx but it works so I'm not complaining.
  • First Rival meet, 3HKO on Chikorita.

Adventure - Violet (Falkner's gym)

  • I catch a L3 Geodude with DVs FCFF. Why all the wandering around in the grass? At the point where I enter the grass, moving around a fixed number of steps will trigger a L3 Geodude (in this case, 5), but with different DVs depending on how I moved in the grass.
  • I don't allow “Mom” to save money. Otherwise, it wastes time after every battle sending money, and I get annoying phone calls.
  • The Berry helps Totodile through the Spearow battle. Spearow has Peck and it doesn't miss.
  • Against Falkner, I use Rage. My aim is to get a critical Rage 4 on L9 Pidgeotto doing 30 or 31 damage out of 32 HP. It worked so well I actually had to manipulate to avoid OHKOing it. I let Pidgeotto knock Totodile out, then put Geodude in. It eats a Mud-Slap, then knocks out the bird with 2-damage Tackle, gaining 4 levels. Note that Mud-Slap on Geodude accounts for 8 out of only 13 damage that it takes throughout the whole run.

Violet - Azalea (Bugsy's gym)

  • I get an egg, then get rid of it. I teach Geodude Mud-Slap in the process.
  • No problems through to Azalea. I knock out the fellow Geodudes with Mud-Slap. The L8 requires two max non-critical hits. Geodude learns Rock Throw here.
  • I buy 4 Escape Ropes. I should have bought 5.
  • First encounter with Team Rocket. Everyone receives OHKO except for L14 Koffing which falls to 2HKO. The Ekans requires a max critical hit. The Zubats only have Leech Life and don't miss. The next time you see me take damage is in Kanto. Refresh point (all moves' PP restored) after chasing Team Rocket. I don't need to go to any Pokécenters in this run.
  • Everything in Bugsy's gym is weak or double-weak to Rock Throw. No criticals needed either. Geodude learns Magnitude here. It's a lucky attack, and overpowering in the hands of a TASer.

Azalea - Goldenrod (Whitney's gym)

  • Second Rival encounter. Rock Throw wins. It's fortunate that Bayleef's Razor Leaf can miss. Note that after Bayleef, I go on a very long OHKO streak.
  • Totodile gets HM Cut in Ilex Forest.
  • I don't get Fire Punch for Geodude. Fire is a special type and Geodude lives on physical. Besides, it takes too long.
  • I get the bike here.
  • In Whitney's gym, Magnitude rules all. Against the mighty Miltank, I OHKO (!) it with a near-max critical Magnitude 10. Naïvely speaking, that's 1/20 for Magnitude 10, 1/16 for critical, and 1/10 for near-max, for a multiplication total of 1/3200, which isn't very high, to say the least. Of course, there are luck-manipulation footholds to partially circumvent this. However there doesn't seem to be any circumventing high-magnitude criticals, which appear to be synced together.

Goldenrod - Ecruteak (Morty's gym)

  • Geodude gets the jump on Vulpix even though it (Geodude) is slower and has no Quick Claw. Know why? Because I made it use Roar, a move that always goes second against almost all other moves.
  • I allow the Digletts to miss Growl even though it's slower to miss. I do this to avoid having to use critical hits. (Maybe it was better the other way...)
  • Here's where I get the Quick Claw! No more waiting second to attack (except for a few cases, most of which don't waste time). I also get Rollout here. I don't arm Quick Claw until the Sudowoodo tree. Geodude is faster than Venonat here anyway.
  • I get L13 Pidgey here. It is not good to catch L15 Pidgey because it has a full moveset and L13 doesn't. Replacing a move takes a long time.
  • Against the Kimono Girls, I Magnitude the Eevee evolutions that aren't weak to Ground, and Rock Throw the others. HM Surf obtained.
  • Rollout flattens Morty's gym. I stuck in a Rock Throw for a single Haunter. Recall the previous WIP where I used “super-effective” time-wasting Magnitude on every single ghost. Now watch this run. Much better. Geodude evolves to Graveler here.

Ecruteak - Olivine - Cianwood (Chuck's gym)

  • If I had any Rock Throw left, I would have saved a critical hit on Noctowl.
  • I get and teach the Strength HM and teach the Surf HM before heading over to Cianwood.
  • Magnitude/Strength in Cianwood's gym. Graveler needs first attack and critical Magnitude 9/10 to OHKO Poliwrath; otherwise, it gets Surfed away in return.

Cianwood - Mahogany (Pryce's gym)

  • I get and teach the Fly HM and get the medicine.
  • East of Ecruteak, the Mt. Mortar route is faster than surfing across the water. Here's the route through Mt. Mortar[2]:
4 up, 2 right, 5 up, 3 right, 2 up, 3 right, 1 up (new area)
1 up, 14 right, 1 down, 4 right, 1 down (new area)
4 down, 5 right, 4 down, 3 right, 4 down
  • At Lake of Rage, I catch Red Gyarados, then talk to Lance and Fly back to Mahogany.
  • The Team Rocket hideout is way too easy. So are the Electrodes in the machine. Hitting the Electrodes with Strength is faster than letting them Self-destruct on Graveler. There is a refresh point somewhere in this hideout. I get the Whirlpool HM.
  • Pryce is easy to beat at this point.

Cianwood - Olivine (Jasmine's gym)

  • Jasmine's Magnemites are knocked out by Ground. It's Steelix for which Graveler needs the high-magnitude critical to OHKO. By the way, Steelix is the Steel version of Onix with insane physical stats, and not-so-good special stats. Surf would be best against Steelix but Graveler doesn't learn Water moves. It wouldn't use them well anyway.

Olivine - Goldenrod (Team Rocket takeover)

  • Again, Team Rocket with loads of bad Pokémon. And by bad I mean low-leveled and no match for Graveler. To make matters worse (you thought it was a good thing?), they tend to use the same Pokémon over and over. I have to keep telling myself not to use Ground on Poison and not to use Rock on Flying, but inevitably I must use Rollout to preserve PP of all moves, and hit Flying as a result. Magnemite is another story; before getting Earthquake, the fastest way to take down Magnemite is to critical Strength it, and it's not very effective, yet it is faster than the “super effective” Magnitude. That's just sad. None of Graveler's moves are normal-effective against Magnemite. In fact, nothing is normal-effective against Magnemite except for Water.
  • On the way up, it is possible to skip the Scientist with three Magnemites and fight the Rocket with one Weezing instead. However, there is no way to avoid the Scientist on the way down unless you faint out of the tower.
  • Against the Rocket Executive, I deliberately 2HKO the second Koffing to set up Rollout. It's surprisingly faster than 6 straight OHKOs, since “super effective” Magnitude would be required for Weezing. On the other hand, my OHKO streak comes to an end.
  • After the couple lurkers near the underground tunnel comes the Rival. He leads with a flyer. Rollout wins. Note that I need two Rollouts against Meganium.
  • Graveler learns Earthquake, which replaces Magnitude. I grab the Max Ether to refill Strength after this mission (I should have gotten the Ether in the Lighthouse instead).
  • This is the place where I missed the Escape Rope escape. I didn't get enough Escape Ropes.
  • Everything else is ridiculously easy, even the executives.

Goldenrod - Blackthorne (Clair's gym)

  • In the rock-falls-down-the-hole part of Ice Path, only one boulder needs to be pushed down.
  • Everything in the gym is beaten with Earthquake or Strength.

Blackthorne - Indigo Plateau (before Elite 4)

  • I teach Whirlpool and Waterfall on the way to getting the last badge.
  • There is a refresh point somewhere on the route before Victory Road.
  • Rival comes, rival is beaten, rival goes. No more rival. Again, I need two Rollouts against Meganium.

Elite 4 and Champion

  • Will goes down in a Rollout and a bit. Bug attacks would have been helpful against Exeggutor (double-weak) but Graveler doesn't learn any Bug moves except with Hidden Power. It takes too long to get and this Graveler could only get a Hidden Power of Psychic. Hidden Power Physical-type (let alone Bug) requires the attack DV to be 0 or 1 (mod 4), which means it can only be at most 13. About Exeggutor's Reflect, it was the fastest move I could get it to do but it cost an extra critical against Slowbro (and it's a Rollout 4 too).
  • Koga has a lot of Bugs, most of which are weak to Rock. Forretress is double-weak to Fire and normal or better to everything else, but Fire Punch wouldn't have done much more than Earthquake. After Forretress, it's just Rollout.
  • Bruno's Pokémon go down rather easily. For fun, Hitmontop can be Earthquaked while digging, but it's slower.
  • Karen uses the Dark type, a type designed to counter Psychic and Ghost. It doesn't counter Earthquake and Rollout, though.
  • As I approach the platform where Lance stands, the game takes over. So I can't engage Lance from the front.
  • Here is the final battle of Johto against Lance. All his Pokémon are Flying so Earthquake is useless (not that I have any left). Of course all of them are weak to Rock. Gyarados has Surf so I must OHKO it right away with critical Rock Throw. Blizzard Dragonite gets the same treatment. By the way, Gyarados is double-weak to Electric and Dragonite is double-weak to Ice but Rock does enough damage anyway. Lance's next four Pokémon come out at random, so I point at Charizard to come third. Makes Lance look stupid. Charizard is double-weak to Rock so non-critical Rollout 1 drops it. Rollout 2 drops Aerodactyl, and Rollout 3 and 4 OHKO Dragonite and Dragonite (no critical Rollouts required), making the player Johto champion.
  • After the game saves, I reset. For the record, if you watch the hall of fame, the time comes up as 2:11. Johto can be completed faster, but it would make Johto+Kanto completion slower.

New Bark Town - S.S. Anne - Kanto

  • Refresh point. Board the S.S. Anne from Olivine City. There isn't much to do on this boat, other than to battle once. There is a refresh point somewhere on this boat. Too bad it's the last one in this game (barring Pokécenters).

Vermilion - Power Plant - Celadon (Erika's gym)

  • After getting off the boat, you're in Vermilion. So why not fly to the Pokécenter instead of walking through the dockyard?
  • I go north through Saffron, east to Lavender, and north through Rock Tunnel to Power Plant. There are less trainers than on the Cerulean-Power Plant route. After flying back to Saffron, I head west to Celadon. By the way, here's the route through Rock Tunnel:
6 up, 16 right, 6 up (new area)
5 down, 14 right, 1 down (new area)
1 down, 8 left, 7 up, 2 left (new area)
3 right, 12 down, 7 left, 4 down, 3 left, 5 down, 9 right, 1 up (new area)
3 down, 8 left, 3 up, 4 left, 1 down
  • This gym has the annoying Grass Pokémon. Fortunately, they are weak enough and I can OHKO them all. Some Pokémon have Petal Dance but I get rid of them before they can use it.

Celadon - Fuchsia (Janine's gym)

  • Start with three flying types? Rollout. Actually, make that Strength, then Rollout.

Fuchsia - Saffron (Sabrina's gym)

  • I believe the warp panel route I take here is fastest. Sabrina can be reached in less warp panels but involve two diagonal warp panel crossings and one close warp (6+6+2 steps) compared to three close warps and one ortho-distant warp (2+2+2+4 steps) in this run. Sabrina's Pokémon fall to critical Rock Throw.

Saffron - Cerulean (Misty's gym)

  • After the Rocket meeting in Cerulean gym, I don't grab the Machine Part right away. I grab it later when Misty is home.
  • The infamous Nugget Bridge trainers are back again, but this time they are further north. Now there are seven forced battles. Fortunately they chased away all other trainers that would have been here. Even at L33, Tangela forces a critical from Graveler.
  • In the gym, the route I take to Misty (double-Surf while grabbing Machine Part) is faster than Surfing from the side, and grabbing it on the way down (the Surf I am talking about is Surfing out of battle). In battle, all of Misty's Pokémon know Surf, so I must dispatch them all quickly.

Cerulean - Power Plant - Vermilion (Lt. Surge's gym)

  • Go to the Power Plant again through Rock Tunnel, give the Machine Part, go to Lavender, and get the Kanto Radio Card. It has the Pokéflute channel which is necessary to beat the game.
  • Here's where the no-damage streak ends: “Raichu used Quick Attack”. Quick Attack always attacks first against almost all moves (Quick Claw doesn't help) and it doesn't miss (and Raichu won't use anything else). Raichu does have Electric attacks (including one which can miss) but it is smart enough not to use them because Electric does nothing against Ground Pokémon. The only way to avoid taking damage is to lead with a non-Ground Pokémon (maybe Red Gyarados, which is double-weak to Electric!). Anyway, Rollout barely knocks out the electric rat, and the rest of the team follows suit.

Vermilion - Pewter (Brock's gym)

  • You wouldn't think a radio channel is a must for beating a game, right? It is. Pokéflute wakes up Snorlax.
  • Brock's apprentice in the gym is now a forced battle. Believe it or not, it's the last trainer which is not a Gym Leader or Champion.
  • Brock's Pokémon fall to Earthquake. I critical Rock Throw Kabutops because I can (it's faster, and saves an Earthquake).

Pewter - Cinnabar (Blaine's gym)

  • It's faster to go through Viridian Forest rather than the side route even though it's more steps. Cutting down trees takes too long.
  • Blaine's Pokémon are easy since I have the type advantage. I fit in a Rock Throw with the Rollout.

Cinnabar - Viridian (Blue's gym)

  • Blue (aka. Gary) has the same lineup as the final battle of RB, except that the RB starter is now replaced with its type alternative. Guess where the RB starters went. This is the second-strongest trainer to battle so I'll go through the Pokémon:
    • Pidgeot: Critical Rock Throw OHKOs it. It's smart enough not to use Mirror Move first so I can't get it to fail. It will only use Wing Attack and Whirlwind, neither which I want it to use.
    • Exeggutor: Critical Rollout 1 & 2 get rid of Exeggutor while it's charging the Solarbeam. Good thing it doesn't learn Petal Dance.
    • Alakazam: Rollout 3.
    • Rhydon: Critical Rollout 4. Why waste Earthquake? (I can't control Graveler anyway).
    • Gyarados: Rollout 5.
    • Arcanine: Critical Rock Throw.

Viridian - Mt. Silver (Red)

  • Go back to Prof. Oak, and get permission to head to Mt. Silver. “Look for Pokémon in grassy areas!”. I spent enough time in grass and caves trying to avoid them.
  • This route (flying to Indigo Plateau and going through Victory Road) is faster than from Viridian, by maybe 5 frames! I never expected it to be so close.
  • Here's the route through the first part of Mt. Silver:
6 up, 3 right, 7 up, 8 left, 4 up, 4 right, 2 down, 7 right, 4 up, 1 left, 6 up, 6 left, 4 up, 4 right, 2 down, 3 right, 5 up
  • Here it is. The final battle of the game (although it doesn't look like it at first), and it's against Red (aka. Ash). Every single one of his Pokémon is more than 10 levels over Graveler, although the highest-leveled one is junk. Let's go through the Pokémon:
    • Pikachu: You would think that Pikachu would know Surf, and I thought so too. But it doesn't, and Pikachu loses to Rock/Ground. It cannot stand a critical Strength (if I had one), a critical Rock Throw, or even a non-critical Charmed Earthquake. And it's L81 too. I even tried to let Pikachu KO Graveler, and failed. Why would Red want Pikachu on his team? Even though I can OHKO it, I don't, simply because otherwise I won't be able to knock out Red's other Pokémon before they knock me out. Instead, I 2HKO it with Rollout 1 & 2.
      • What makes this hard to TAS is that Pikachu will only use Charm and Quick Attack (it won't use Electric for the same reason Lt. Surge's Raichu won't). Charm can fail (I thought it always hit), but for manipulating its second turn, I found out that it would use Quick Attack almost all the time, and Charm very rarely (about the same chance as getting a max hit). To attack first on the second round of moves, I would have to get Pikachu to use Charm, and have Quick Claw work simultaneously. So I feel fortunate that I got it to work without much delay.
    • Espeon: It has enough Defense to withstand the weaker moves but critical Earthquake would OHKO it. Rollout 3 is stronger than Earthquake so critical Rollout 3 OHKOs it. As for why Red would put Espeon ahead of Venusaur and Blastoise, it's because Graveler is low-leveled and has such low Special Defense that Espeon's Psychic has a good chance of delivering an OHKO, although Graveler may luck out with a few HP remaining. Indeed, Psychic is the only thing Espeon will use here.
    • Venusaur: This Pokémon can withstand a critical Earthquake, which would seem to make Rollout imperative. However, Venusaur uses Solarbeam, which requires a charge-up move first. No matter since I OHKO it with Rollout 4.
    • Blastoise: This Pokémon can withstand a critical Earthquake, and this time Rollout is imperative. If I don't, Surf comes. I OHKO it with Rollout 5.
    • Snorlax: Too bad Rollout has ended, because it would be useful for Snorlax. I couldn't make it happen, though. Its call is very short (imagine if Graveler had Snorlax's cry), but its HP bar takes so long to decrease (after all, it has over 300 HP). It can withstand a critical Earthquake, but not an additional non-critical Earthquake. Guess why I saved two of Graveler's Earthquakes for Red. I critical Earthquake Snorlax, it uses Amnesia to raise the wrong defensive stat, and I Earthquake it for the 2HKO.
      • Speaking of saving two Earthquakes, I came to Red before with only one Earthquake. Then I fixed another mistake where I accidentally got a critical hit in Lt. Surge's gym. I found it before, but decided not to fix it until I found out about the Earthquake shortage.
    • Charizard: Even its Flamethrower will take you down in two hits if you're not careful. I have no such worries and end it all with Rock Throw. That's it. That's the end of the game. Too bad Red is mute.
  • The ending was rather cheesy but that's what I get for running Johto+Kanto.
  • Running through the credits with B and accessing the save will yield an in-game time of 2:53. I do not use it for this submission.

Possible improvements

  • Be more determined in luck-manipulation. Find a better method of manipulating luck.
  • Use moves better. There were a few instances where critical hit normal-effective would be faster than a super-effective.
  • Get a fifth Escape Rope and use it in the Underground Tunnel.
  • Get an Ether instead of a Max Ether.
  • Consider having the opposing Pokémon self-destruct.
  • Consider fainting to save time.
  • Consider a different route or order of battling.
  • Consider a totally different strategy:
    • Would different Pokémon save more time?
    • Would Togepi's Metronome be useful? Metronome can hit Transform. Are there any Transform glitches?
    • Is it possible to make use of the Present glitch in GS?

Things that look like mistakes, but aren't mistakes

  • Wandering around in the grass before catching Geodude. I am using a luck-manipulation foothold and I don't want to spend forever trying to get L3 FxFx Geodude on first entry into the grass.
  • Delays before selecting attacks or clearing some dialogs. This is luck manipulation.
  • Text slowing down. This is luck manipulation.
  • Letting Zubats hit with Leech Life and Raichu hit with Quick Attack. There is no way to avoid it (short of wasting time).
  • Fighting the middle Kimono Girl last. It doesn't waste time since I have to go back horizontally anyway. I was going to fight Umbreon third but I didn't have enough for a non-critical Magnitude 10.
  • Getting 2HKO on a Koffing rather than OHKO. This sets up Rollout and saves time.

Closing Notes

Making a Pokémon TAS was a different experience when compared to making a TAS for an action game like Mega Man X2. Though RPGs do not score nearly as much in the entertainment column as action games (for the purposes of a TAS), they hold their place in terms of luck-manipulation. Since RPGs are often very long and have many different strategies, they are some of the most improvable games. Regardless of what the game is, let's hope competition remains healthy.
Thanks goes to the following people who helped me:
- primorial#soup for the Pokémon Red runs, luck-manipulation strategy, memory locations, and tips.
- nitsuja, for helping me while trying to figure out the desync problem.
- Brown Bomber, for the Pokémon Gold speedrun which helped me plan out the route.
- everybody in the Pokémon GSC thread who encouraged me and gave me some tips during the making of this TAS.
I also credit the following FAQs: FAQ/Walkthrough by Donald, and Strategy Guide by RJones.
Enjoy the run. Put it to 200% speed if you feel like it.

[1] You will probably wonder what I mean when I say “DV”. Quote pirate_sephiroth's description:
DV (traditionally standing for “Deter Value” also known as “Diversification Value” or “Individual Value”... it doesn't seem to have an official name). It is a 4-bit number (from 0-15) that corresponds to the Pokémon “genes” and affect how strong each stat can become.
The higher the DV, the better the stat is. When I say, for example, a “Pokémon has DVs F0E1” or “a L5 F0E1 Pokémon”, it means the Attack DV is F (15), Defense DV is 0, Speed DV is E (14), and Special DV (both SpAtk and SpDef) is 1.
Keep in mind that although DVs are important, they don't bring a huge change in actual stats. A Geodude with a Special DV of F doesn't change the fact that its special stats are poor.
[2] I used Pokémon Silver with SRAM and HM Flash to map out this tunnel and other dark tunnels.

Desync information

The emulator used was VBA 1.7.2 v17 The movie will not work in any later version (v18+). The movie may work in earlier versions.
To make sure the movie does not desync, follow these steps:
  1. Make sure VBA is closed, and delete the .sav file.
  2. Set the system clock to May 19 (doesn't seem to matter which year). Some other dates work.
  3. Open VBA and play the movie.
If for some reason that still doesn't work, use one of the savestates. The first one is beginning.sgm
Savestate and movie repository (edit: dead link removed)
This information is repeated near the top.


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15558
Location: 127.0.0.1
This topic is for the purpose of discussing #1123: FractalFusion's GBC Pokémon: Gold Version in 2:54:27.15
Former player
Joined: 6/6/2005
Posts: 384
Why in the seven goblin hells should I have to reset my PC's clock to watch a TAS? Try again.
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
KaitouKid wrote:
Why in the seven goblin hells should I have to reset my PC's clock to watch a TAS?
Please direct your complaints to the authors of Visual Boy Advance, instead of the author of this movie. Pokémon Gold is a game that uses the realtime clock of the CGB to see if it's a night or a day. Several beings appear at night only and several others at daytime only. VBA uses the computer's realtime clock to provide the time for the emulated CGB.
Editor, Expert player (2072)
Joined: 6/15/2005
Posts: 3282
I'm currently trying to see if the problem (being unable to play in v19.2) can be rectified. By the way, the desyncs aren't because of events in the game that are triggered by real-time clock functionality (e.g. Pokémon appearing at different times of the day). The desyncs occur because of the v17 emulator's faulty handling of real-time clock games (the emulator reacts differently to some clock dates, and whether a .sav is present or not, none of which is supposed to happen).
Emulator Coder, Skilled player (1310)
Joined: 12/21/2004
Posts: 2687
I'll also see if I can get the movie to play in v19.2 of VBA (which doesn't let the system clock affect the game).
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Can you please provide savestates from the beginning of the movie, earlier than beginning.sgm is. I'm trying to debug this issue. From right after reset, right before the first menu appears, and right before setting the clock, would be useful.
Former player
Joined: 5/29/2006
Posts: 200
Well, for the time being, can;t we just have somebody verify that the movie does indeed play back correctly if so set your computer's clock as such, and then for voting purposes just watch from savestate?
Joined: 5/13/2006
Posts: 283
I set my clock to May 19th and it played back just fine on the emulator he linked. I am currently in Ecruteak just after getting the Fog Badge and haven't seen any issues.
<Zurreco> if so called professional players cant adapt to every playing field, theyre obviously not that great
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
cheetah 7071 wrote:
Well, for the time being, can;t we just have somebody verify that the movie does indeed play back correctly if so set your computer's clock as such, and then for voting purposes just watch from savestate?
It's not about verifying the correctness of the savestate. I want to make the AVI from the real reset, not from the savestate. And the clock-adjust thing doesn't work for me. And I can't find vba-rerecording-17-src anywhere.
Emulator Coder, Skilled player (1310)
Joined: 12/21/2004
Posts: 2687
Bisqwit wrote:
And I can't find vba-rerecording-17-src anywhere.
In case it helps, here is a link to it: http://www.savefile.com/files/6536622 If I remember correctly, the file of most interest is gb/gbMemory.cpp.
Bisqwit wrote:
I want to make the AVI from the real reset, not from the savestate.
Would a savestate on frame 0 of the movie not work for some reason? EDIT: Never mind, I didn't see one of your posts above.
Editor, Expert player (2072)
Joined: 6/15/2005
Posts: 3282
Here are some savestates from the movie that works. Feel free to ask for more if you wish: http://www.savefile.com/files/5621245 - There are 4 savestates: One right when the movie is loaded, one one frame after that, one just before the menu appears, and one just before the time appears. I don't think it has anything to do with the in-game day of the week and time, though I'm not sure. nitsuja says it is relative to the GB's clock. I think it (the v19.2 desyncing) has something do with the real-time clock fix implemented in v18.
FractalFusion (PM to nitsuja) wrote:
OK, I tested it out for real, testing about a dozen different dates [in v19.2]. Not a single date/time change I made affected the desync at all. Even May 21, which causes the game to run into a Sentret in v17, didn't, and played like the others (desyncing at the Totodile naming screen). I was deeply afraid that something like this would happen. On my Silver run, I made the movie depend on having the .sav there. On my Gold run, I did the opposite because I didn't want to hassle others about making a .sav. It appears that the Gold run I did recorded off a bad sync (when the .sav is missing). The fix in v18 fixed the bad sync, making the movie unplayable.
Edit: Just for reference, I will post the four outcomes in v17: May 19, no .sav: Works May 19, .sav: Desyncs at the Totodile naming screen May 21, no .sav: Desyncs at "What day is it?" May 21, .sav: Desyncs after encountering a Sentret The only outcome so far in v19.2 is that it desyncs at the Totodile naming screen.
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Okay, I'm baffled. The movie plays without problem when I load the "debugstartup.sgm" provided by FractalFusion. But whatever it does to the clock, I am unable to simulate by setting the clock to some specific value at emulator boot by tampering the contents of gbDataMBC3. I also tried to tamper the function of memoryUpdateMBC3Clock and the function of mapperMBC3RAM, to no avail. It appears as if it's something that is completely unrelated to the clock. Such as the contents of the RAM, or the contents of some hardware register that is not in the struct gbDataMBC3, i.e. not clock-related.
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
The colour palette of VBA in CGB mode is very bright. The real CGB is nothing like that! For that reason, I am considering encoding CGB movies with a reduced contrast and saturation setting, to better simulate the performance of the LCD screen of CGB. Here is a sample. https://files.tasvideos.org/bisqwit/vba-colors.avi For comparison, here's the same sample without color tuning. https://files.tasvideos.org/bisqwit/vba-COLORS.avi Seek to ~45 seconds to compare. What do you think, what should be used for the AVI?
Player (206)
Joined: 5/29/2004
Posts: 5712
You mean you decided to pick Gameboy->Gameboy Colors off the Options menu rather than Gameboy->Real Colors?
put yourself in my rocketpack if that poochie is one outrageous dude
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Bag of Magic Food wrote:
You mean you decided to pick Gameboy->Gameboy Colors off the Options menu rather than Gameboy->Real Colors?
There is no such menu in my VBA.
Player (206)
Joined: 5/29/2004
Posts: 5712
Man, your VBA must really stink!
put yourself in my rocketpack if that poochie is one outrageous dude
Active player (312)
Joined: 2/28/2006
Posts: 2275
Location: Milky Way -> Earth -> Brazil
The colors are the same as if it was played in Pokémon Stadium 2 or in a GameBoy Player. The colors are shown weaker in the LCD screen.
"Genuine self-esteem, however, consists not of causeless feelings, but of certain knowledge about yourself. It rests on the conviction that you — by your choices, effort and actions — have made yourself into the kind of person able to deal with reality. It is the conviction — based on the evidence of your own volitional functioning — that you are fundamentally able to succeed in life and, therefore, are deserving of that success." - Onkar Ghate
Bisqwit wrote:
Drama, too long, didn't read, lol.
Emulator Coder, Skilled player (1310)
Joined: 12/21/2004
Posts: 2687
Bisqwit wrote:
Okay, I'm baffled. The movie plays without problem when I load the "debugstartup.sgm" provided by FractalFusion. But whatever it does to the clock, I am unable to simulate by setting the clock to some specific value at emulator boot by tampering the contents of gbDataMBC3. I also tried to tamper the function of memoryUpdateMBC3Clock and the function of mapperMBC3RAM, to no avail.
I haven't had any luck either, at least not with changing the initial time to play the movie, but... Have you looked at the gbReadBatteryFile function of gb/GB.cpp? That also does something with the clock. In v17, it sets gbDataMBC3.mapperLastTime to the system time unless a battery save file is found. (The memoryUpdateMBC3Clock function would then calculate an enormous time difference between that and the frame time.)
Senior Moderator
Joined: 8/4/2005
Posts: 5777
Location: Away
The colour-reduced version seems too dull, the colourful — too bright. Something inbetween would do, IMO.
Warp wrote:
Edit: I think I understand now: It's my avatar, isn't it? It makes me look angry.
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
nitsuja wrote:
Have you looked at the gbReadBatteryFile function of gb/GB.cpp? That also does something with the clock.
Yes, I tried that too. In fact, that's the function where I assigned the "initial contents" of the struct. Btw, here's a in-between form colourwise. https://files.tasvideos.org/bisqwit/vba-Colors.avi
Senior Moderator
Joined: 8/4/2005
Posts: 5777
Location: Away
Bisqwit wrote:
Btw, here's a in-between form colourwise. https://files.tasvideos.org/bisqwit/vba-Colors.avi
I think it's the best there is.
Warp wrote:
Edit: I think I understand now: It's my avatar, isn't it? It makes me look angry.
Joined: 6/14/2004
Posts: 646
moozooh wrote:
I think it's the best there is.
Perhaps even the very best that no one ever was?
I like my "thank you"s in monetary form.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15558
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. ---- [564] GBC Pokémon: Gold Version by FractalFusion in 2:54:27.15
P.JBoy
Any
Editor
Joined: 3/25/2006
Posts: 850
Location: stuck in Pandora's box HELLPP!!!
Congratulations FractalFusion
Editor, Expert player (2072)
Joined: 6/15/2005
Posts: 3282
Wow, that was fast! I expected the submission to be in the queue for at least 2 weeks, and it was published faster than my Mega Man X2/X3 submissions! I wonder who encoded the .avi. Anyway, thanks to everyone for helping out. Edit: OK, it's Bisqwit who encoded the .avi.