Submission #2913: p4wn3r's GBC Pokémon Yellow in 01:36.95

Console Game Boy Color Emulator VBA
Game Version USA Frame Count 5817
ROM Filename Pokemon Yellow (U)[C][!].gbc Frame Rate 60
Branch Rerecord Count 2628
Unknown Authors p4wn3r
Game Pokémon: Yellow Version
Submitted by p4wn3r on 11/16/2010 11:31:29 PM

Submission Comments

Movie attributes

  • Aims for fastest completion of the game
  • Corrupts save data
  • Manipulates luck?
  • Heavy glitch abuse
  • Colors a dinosaur the world

Emulator

Visual Boy Advance re-recording v22

Comments

This movie is an improvement of 6.32 seconds over my previous attempt. The only time-saver, which caused other minor changes, is the discovery of a new trick regarding warps.
For those who aren't familiar with this or the previous runs, it abuses the strongest bug in Pokémon Yellow, the inventory glitch, which allows the player to become "god" in the game, since it gives the possibility of overwriting important memory addresses, causing all sorts of strange things, such as walking through walls, changing palettes and, more important, warping to the Hall of Fame to trigger the end.
I start by corrupting the save data by resetting at the earliest frame that doesn't destroy the file, this overwrites the party counter, making the game believe you have 255 pokemon, after that, the 2nd pokemon is switched with the tenth to overwrite the items counter. With this, you have permission to access with your inventory important addresses in SRAM, by switching/tossing items you are able to change their contents and completely destroy the game. Switching items is mandatory for overwriting odd addresses, while even ones can also be changed by modifying item quantity through tossing. Getting to the Hall of Fame is done by setting the warp destination to 0x76 (118 in decimals), the ID of the Hall of Fame.
The improvement to my previous run is finding another address to warp. Mat warps (those that take you out of a building) are located much closer to the inventory than stair/door warps, although abusing this trick requires walking down to the 1st floor of your house, the time wasted by scrolling through the previous glitched list of items is so big that this ended up saving a reasonable amount of time. Obviously, this new trick changed other things with the route. First, the new address is 0xD364, which is even, so there's no need to manipulate the trainer ID lower byte to be 118 to match the Hall of Fame map, throwing away 138 items will easily do the job. It'd be faster to switch an item with quantity 118 into the slot, but doing this is impossible, because the game will set the quantity back to 99. Second, the Hall of Fame is now loaded faster, because its glitched graphics are gone.
Other TAS aspects consist of alternating A/Start at the intro to save frames, switching the 2nd pokemon instead of the first because it saves 2 frames, not walking more than 3 steps after corrupting the save because it causes time-wasting poison animation, exiting the house by walking down to the mat, which gets faster screen transitions, naming the rival BLUE, which is faster despite getting slow-to-scroll items in the inventory and ending the last OAK dialog with B-A-B, this causes the box to close one frame sooner, but it only matters for in-game time, because the input has already ended when time is saved. Another interesting question is that, although the Trainer ID is now useless for warping, it still needs to be manipulated so that it generates items that can be scrolled faster. Luckily though, this can be done without wasting a single frame on the title screen, so it's doubtful if this run really manipulates luck anymore (the irony is that it was one of the first movies to be severely brute forced).

What is left

As the time approaches optimality, my imagination for tricks approaches zero. Despite menu scrolling still being slow, the address used here is one of the first that can make major difference if switched, the time it takes to go to another room and use another warp will be greater than the time saved with less scrolling. My RAM map is almost complete, I've tracked warp coordinates, that could improve the movie by setting a warp closer to ASH, but it seems they are loaded alongside the map, changing the coordinates will only make the warp disappear. There are no improvements I can think of right now, but the same was also true for the movie this run obsoletes xD

Special Thanks

I'd like to thank the whole Pokémon TASing community in general, this run is far from being the work of one person. When the first RBY run that lasted roughly 110 minutes was submitted, no one could think the games could be beat in less than 2 minutes. Thanks a lot for your help in breaking this game and making it the most contested RPG in TAS history.

Flygon: Added YouTube module.
Nach: Now that was unexpected. Nice improvement. Accepting.
Flygon: Processing.

Last Edited by Flygon on 11/21/2010 12:13 AM
Page History Latest diff List Referrers