TASVideos

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

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

Console: Game Boy Color
Game name: Pokémon Yellow
Game version: USA
ROM filename: Pokemon Yellow (U)[C][!].gbc
Branch:
Emulator: (unknown)
Movie length: 01:36.95
FrameCount: 5817
Re-record count: 2628
Author's real name: Felipe Lopes de Freitas
Author's nickname: p4wn3r
Submitter: p4wn3r
Submitted at: 2010-11-16 23:31:29
Text last edited at: 2010-11-21 00:13:08
Text last edited by: Flygon
Download: Download (543 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)

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.


Similar submissions (by title and categories where applicable):