Overview

This is a TAS of the Japanese version of Pokémon Green, one of the original games before they were translated into other languages. This game is significantly different than the later releases, in that it contains many glitches which are absent in the newer versions. This run uses one of these glitches, the so-called "Doko Kashira Door" glitch, which allows a player to warp to arbitrary points in the game by carefully planning the number of steps they take. This run was recorded using VBA 1.7.2 re-recording v20.0, and will not play on older versions. This run is 236 frames (3.93s) faster than LagDotCom's submission.

Features

  • Aims for fastest time.
  • Manipulates luck.
  • Abuses programming errors in the game.
  • Takes damage to save time.
  • No predefined saves.
  • Genre: RPG.

Description

Approximately 10 months ago, a video appeared on youtube demonstrating a glitch which allows one to warp to various points in the game early on. The number of posible warp points is nearly limitless, although some are more useful than others. Although gocha made the TAS community aware of this some time ago, until recently it did not work on VBA due to an emulation error which has been fixed in version 20. There exist several routes which lead to the end very quickly; this run utilizes the currently fastest known.

The Doko Kashira Door

The glitch is activated by attempting to switch the second item in your inventory with your first pokémon. The ability to switch pokémon by using the select button was removed from later versions; this is how the glitch was "fixed". Afterwards, your pokémon can still battle, but it's total experience is reduced to zero. If it gains experience, an odd visual glitch will occur; the health bar will extend beyond the edge of the screen and wrap around to the next side. This is because it has more hit points than the assumed maximum.
More interesting than the effects on the pokémon are the effects that it has on the game map. Within an area, several squares (usually a block of four) may become jumbled, losing or gaining wall status and/or changing appearance. These four squares in Pallet Town can be seen outside the eastern wall as I walk by, and of the four near Snorlax, I walk through two of them, which is fortunate, because there would be no other way out otherwise.
The doors to various buildings also change their destinations, although it seems to be limited to one per area. In Pallet Town, this is the Rival's House, which serves as a good starting point. Through some sort of anomaly, the destinations change according to how many steps you've taken, and switch every four steps. This allows one to control where they warp to. In certain other instances, when the door was not actually visible (on the side or back of a building), the actual location of the door may change as well. This run warps to the secret house north of the cycling road, enters a door which should be about 20 tiles to the right, and walks to Celedon before teleporting directly to the hall of fame.
Other things become glitched as well, such as the location and movements of NPCs.

Luck Manipulation

Given the current route, I claim this run to be within 13 frames of optimal. This is the total amount of time I waited for manipulation purposes, plus one frame lost to a frame rule. The majority of the manipulation occurs during the Rival battle, and I've done my best to ensure that wait frames were minimized as much as possible. Below is a table of where and what was manipulated.
FrameWaitedManipulates what?
5326 2 frames Starting stats
6645 2 frames First max critical
7017 2 frames First max critical + tackle miss
7286 1 frame Second max critical
7520 1 frame Tackle miss (lag frame)
7604 2 frames Max normal
8208 1 frame Random encounter avoidance
Total 12 frames

Special Thanks

  • gocha for informing the community about this glitch
  • nitsuja for keeping VBA up to date
  • Hanzou and FractalFusion for their test runs and experimentation
  • AKA and LagDotCom for their previous submissions
  • zigumario and 0xwas for their videos

Bisqwit: Author sent an updated submission file; updating submission.

adelikat: Good viewer response, and seems tightly optimized. Accepting for publication.

TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14873
Location: 127.0.0.1
This topic is for the purpose of discussing #1647: primorial_soup's SGB Pocket Monsters: Green in 04:24.53
Editor, Skilled player (1938)
Joined: 6/15/2005
Posts: 3246
Good job, Primo. The luck-manipulation in the run displays your mastery over the game. Voting yes.
Chamale
He/Him
Player (178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
Very good run, Primo. No offense, but, I thought you didn't have time to work on the Pokémon Blue run. Now you TAS Green? I suppose it is simpler, but progress has been pretty slow on Pokémon Blue. I presume you'll be working on Pokémon Blue after this? Yes vote.
Joined: 5/2/2006
Posts: 1020
Location: Boulder, CO
At least it was short. Tasing the other pokemon games is about as intresting as those wonderful runs of monopoly. Probably the only yes vote I will ever give to a pokemon run. What is entertaining for 5 minutes is often not the same as what is entertaining for an hour and a half.
Has never colored a dinosaur.
Chamale
He/Him
Player (178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
Hell, I love the Monopoly runs. And I think the Pokémon Blue run, which will involve walking through walls and glitching level 100 pokémon, will be one of the best on the site.
Joined: 5/2/2006
Posts: 1020
Location: Boulder, CO
Unless the glitching is so severe that there are only a few battles, there is just no way. The way combat is structured in these games is just miserable for a tas. Painfully slow paced, and just plain takes forever, even if you win in just a few turns. Level 100 pokemon will let you win in only 1 turn (one should hope) but battles will still totally detract from how much fun it is to watch. As with most RPGs, it would seem that the only people who like the runs, even a little bit, are the people who are in love with the game more then they are the TAS. You would have to love that stupid game to want to sit through another hour of that mindless shit.
Has never colored a dinosaur.
upthorn
He/Him
Emulator Coder, Active player (388)
Joined: 3/24/2006
Posts: 1802
Chamale wrote:
No offense, but ... Pokémon Blue ... Pokémon Blue ... Pokémon Blue...
I hope I don't need to explain to you why that comment is both offensive and annoying.
How fleeting are all human passions compared with the massive continuity of ducks.
Skilled player (1670)
Joined: 6/11/2006
Posts: 818
Location: Arboga, Sweden
In Lag's submission, Cardboard wrote:
Finally a Pokémon-run of bearable length. Voting a lot of yes.
Honestly Pokémon-runs suck a whole lot, as Twelvepack already explained, but if we MUST have a Pokémon-run, then this is the one, so I am once again voting yes. Also Chamale, how about working on it (Blue 20 hour run) yourself if you are desperate for it to finish? Seriously, let the man work on the runs he like to work on. Nothing can bring you down like people whining about how they are not making progress when you "should" have.
Warp wrote:
omg lol this is so fake!!!1 the nes cant produce music like this!
Joined: 3/7/2006
Posts: 720
Location: UK
Well, you got there first, so well done. :) One thing though - I was often able to manipulate random encounters away just by holding A while moving; was this impossible for yours?
Voted NO for NO reason
Player (87)
Joined: 1/15/2006
Posts: 333
Location: Bangkok, Thailand
LagDotCom wrote:
One thing though - I was often able to manipulate random encounters away just by holding A while moving; was this impossible for yours?
Yes, this works, and the reason why is because it slows you down by two frames per tile whenever you do this. The best way to manipulate away random encounters is to change your route slightly, entering the patch of grass at different times or different locations. However, when the route is invariable, this can't be done. One needs to wait two frames because movement input is only accepted every other frame. Typically, a better alternative is to go back to the last dialog button press and wait one frame (thereby saving a frame), but in this instance, it also caused a random encounter in the same location, so I was forced to wait two frames.
print reduce(lambda x,p:p/2*x/p+2*10**1000,range(6643,1,-2))
Player (87)
Joined: 1/15/2006
Posts: 333
Location: Bangkok, Thailand
It turns out that I was wrong about the optimality of this run. I've since managed to improve it by 18 frames (Updated Version). LagDotCom had noticed that by pressing Start at the intro screen instead of A, the next button press comes one frame earlier. With a little experimentation, I found that by pressing Start, A, Start (or also A, Start, A) for the first three screens, one could save two frames instead of just one. This game has very few frame rules: a two frame rule for using A to pick up or access something (such as the PC or starting pokémon), a three (?) frame rule for the last button press of a dialog, and a two frame rule whenever the game forces your character to move (such as following Prof. Oak, and in the Poké Mart retrieving Oak's Parcel). Being two frames ahead seems to have put me in a much better position for these frame rules, and I saved another 6 frames from this alone. The other ten frames come from better manipulation. The current manipulation now looks like this:
5326  | 2 frames | Starting stats
6645  | 2 frames | First max critical
7017  | 2 frames | First max critical + tackle miss
7286  | 1 frame  | Second max critical
7520  | 1 frame  | Tackle miss (lag frame)
7604  | 2 frames | Max normal
8208  | 1 frame  | Random encounter avoidance
Total |12 frames |
This looks like it should only be nine frames faster, but a manipulation technique that I had been using which I thought to be frameless was actually causing one lag frame. The runs looks nearly identical (other than attack order, and a graphical glitch I included in the new one), so I wonder if I should cancel and resubmit, or would it be better for an operator to replace the movie file?
print reduce(lambda x,p:p/2*x/p+2*10**1000,range(6643,1,-2))
Chamale
He/Him
Player (178)
Joined: 10/20/2006
Posts: 1352
Location: Canada
There's not nearly enough of a difference to create a new submission. Just modify the current one.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14873
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. ---- [941] SGB Pocket Monsters: Green "warp glitch" by primorial_soup in 04:24.53
Banned User, Former player
Joined: 12/23/2004
Posts: 1850
I enjoyed the run. From "Okay, walking around normally, doot de duwhat the hell" in the battle to "wandering around the Rival house nowhat in the okay that's not right" and then seeing the Hall of 9797779797997♀... I'm voting no :) And by no I of course mean yes.
Perma-banned