Game Information

Earthbound is a game where the hero, Ness, is just an average 13 year old kid from the suburbs... until the night a meteor lands in his backyard. The local wildlife starts attacking him, he begins to realize psychic powers, and a mysterious messenger from the future tells him that he must save the world, but before he faces any of that Ness has to change out of his pajamas. With a baseball bat as his weapon, Ness begins a quest to stop an evil alien presence from destroying the world. He will later meet with Paula, a girl with strong psychic abilities, Jeff, a young genius with the ability to repair broken things, and Poo, a prince from far, far away who also happens to have strong psychic abilities.

About the run

  • Uses death to save time
  • Uses warps
  • Manipulates luck
  • Abuses programming errors in the game
  • Genre: RPG
Used emulator: Snes9x rerecording 1.51 v6
The following comments are written by mugg: I know many game series only because I played Super Smash Bros. Melee on the Nintendo Gamecube, a beat 'em up featuring many Nintendo characters and the prequel for SSBB. I got to know F-zero, Starfox, Kirby, and of course I got to know Earthbound. I always wanted to play through this game at some point and after I did so I felt the need to TAS this game. I simply loved the graphics, the comic-style and the music in this game. But a full run seemed to be very long and the glitched category was already well optimized. I wasn't very knowledgeable with the game either. Always with an eye for possible improvements for popular Nintendo games, I watched many Youtube videos until I saw the Tent glitch in Earthbound. It was said that when you check a certain place in the tent in Threed, the game would behave very strangely and sometimes it would even glitch up. People had written comments stating that it also triggered the debug menu #1 in this game so I thought this was my lucky day. I began researching the glitch, checking places in the out-of-bounds area and making a map for it, telling people like Nitrodon and Halamantariel about it and getting things started. However, I wasn't able to record this glitch in snes9x 1.43 (because playback behaved differently than recording mode), so this stopped progress for a while until I was said that it worked properly in snes9x 1.51. I tried it with the Japanese version, Mother 2, and it seemed to be more glitch-friendly and more likely to trigger the debug menu so this version was used. Pirohiko teamed up with me and I want to thank him for his work. When I TASed a section of this game, he would often improve it by a few frames and he is also much better at manipulating luck and did basicly all the battles. He wrote a very useful lua script regarding RNG behavior. When we reached the debug menu, things got a bit difficult since we couldn't directly go to the credits with it. More details on this below...
The debug menu glitch worked differently when using different versions of the game on different versions of snes9x. But pirohiko [dead link removed] recorded himself testing the tent glitch on the Japanese version on a real SNES and it behaves like snes9x 1.51 with the Japanese ROM.

Tricks

Optimizing positioning

This game has subpixel carry-over. This means that approaching a door a bit differently can be done in order to optimize the subpixels.

Luck-manipulation

The game uses a flow of 14592 sequent RNG values which it will run through during playing the game. Those values determine the appearance of enemies, item drops, SMAAAASH!! attacks, NPC behavior and other things. Having text being written onscreen will cause the flow of RNG to move with each character written. When the game loads new enemies onto the map, it will shift the flow of RNG too.

Overworld

In order to skip enemies or to have specific enemies appear or to have NPCs not move into one's path, one can pause the game by pressing "B" or "select". The RNG will be called each frame during pausing. The game uses barriers to determine if enemies should appear. Once you walk across such a barrier, enemies may appear and it will shift the RNG a bit. This is very useful in Giant Step since we can shift the RNG very efficiently here by walking across barriers repeatedly. This trick is even more useful when walking on an intersection of barriers. We needed to do this in Giant Step in order to get 6 speed and 24 offense from the Gigantic Ant boss battle so we could knock out every police officer with one SMAAAASH!! only. We needed to shift the RNG for an entire 700 steps which explains the random walking in Giant Steps...

Battle

Changing the selection during a battle will change the RNG. This can be used to manipulate SMAAAASH!! attacks. Since you can change the selection only every other frame it is better to manipulate the first SMAAAAASH!! before the battle, by pausing the game.

Skipping a trigger spot (Stutter walk)

It is possible to skip spots which trigger an event by moving through it every other frame. This was used in order to skip the Starman Jr. battle and the Soundstone from Buzz Buzz.

Walk through cliffs

You can walk through certain types of cliffs with proper subpixel positioning. See this section for more detail. It was used in order to skip Twoson.

Tent glitch (Debug menu)

In the circus tent in Threed, position yourself into the wall on the right, below the door. If you are in the correct spot, try to check the area and the dialoge should be delayed. You might end up warping to some place, freezing your game, causing graphical glitches, seeing garbage dialogue or triggering the debug menu. The latter is interesting from a speedrunning point of view since you can use the debug menu in order to complete the game very quickly with it. The debug menu occurs more likely on the Japanese version of the game (Mother 2). I wasn't able to trigger it even once on the US version, however, people made comments stating in English language that they triggered the debug menu so I'm assuming that it may work on the US version.
When you check the glitch area in the tent, there are two primary glitch messages that are very likely to appear eventually. One message would prevent you from proceeding and eventually freezes your game, with the graphics glitched up and the Arcade BGM. The other will change the music to the game-over BGM often and it will produce many invisible text boxes. Depending on the timing and on how long and how often you press "L", "A" or "R" the 'next' invisible text box may or may not appear. If it doesn't appear you basicly failed the glitch. During the first two invisible text boxes, there is a tiny chance of glitching up the game (in that it gives you a bicycle and plays the bicycle BGM or warping you somewhere while freezing the game and similar things). Once you reach the third invisible text box, the debug menu will eventually come after ~10.000 frames of auto-firing "L" and "A" alternatedly. I tested this glitch thoroughly and it would either get me to the debug menu on frame ~77000, ~72000 or ~68000. I was able to change a 77000 outcome to 68000 by random input, but I wasn't able to get an even better outcome. The assumption was that the text would be read from some point of memory until it reaches the debug menu, but the text pointer (0x7e9979) didn't seem to affect anything. We went on as we couldn't reduce more time. The next problem was to get to the staff credits fast! We could go to different events throughout the games so we chose to go to event 70 (69 goes to Ness' house after the Staff credits, but playing the Staff credits instead of skipping them was prefered). It sends us to Saturn Valley with the game beaten, with Paula in the party, and all left to do was to talk to Ness' mother. But the game still seems to be glitched after using the debug menu. It may randomly crash, freeze but most likely it would warp us to Fourside's café with a lot of invisible dialogue to click away before we could proceed. After a lot of trying different strategies we used this strategy:
  1. Add Paula as a character
  2. Make Ness' HP run out
  3. Give him the 'diamondized' status ailment
    This makes the game behave like Ness has no HP but is still alive.
    This is needed to make a game-over sequence work later on.
  4. Make Paula's HP run out
  5. Give Paula the 'diamondized' status ailment
    The same for Paula...
  6. Give each party member as much Skip Sandwich DX as they can carry
    This is a special feature of the debug menu. After going to event 70, Ness loses his inventory items but we can still use a Skip Sandwich DX from Paula's inventory.
  7. Go to event '70'
  8. Game-Over (very rare and we tried to reduce lag as much as we could, but it always forced us to go back to the center of Saturn Valley...)
    We used death as a shortcut here, otherwise we would have had to walk home from Saturn Valley or Fourside.
  9. Walk home and finish the game
This page explains the features of the debug menu.

Possible improvements?

We wouldn't know of a confident way to improve this movie. However, it may be possible to set up a better randomness in the long run for Giant Step so we wouldn't need to spend much time towards manipulating the RNG there. But it is very hard since you can't predict how things are going to turn out. Seeing how random the tent glitch can act, it may be possible to abuse it further. Maybe someday we will be able to access the Staff credits a whole lot faster without the need of the debug menu at all? Maybe the waiting time for the debug menu can be shortened, but we tried our best to reduce it as much as we could already.

Closing words

Thanks to Nitrodon, Halamantariel, Scepheo, and others! Maybe more information will be added later.
Please feel free to ask questions since my complicated explanations may not be clear sometimes.

Flygon: Added YouTube module.

FractalFusion: Judging.
FractalFusion: This run uses a glitch which passes through a debug menu which cannot otherwise (as to our knowledge) be accessed by means apart from external codes. If the debug menu was easily accessed by an internal code, that would be a different story. As it stands, it can only be assumed as part of the glitch process, and it will be allowed.
In the apparently non-existent event that such an internal code is found later, the published run will be placed in the impure category and any further runs going through the debug menu will likely be rejected.
This run will be accepted for publication alongside the existing publication.


Joined: 5/11/2006
Posts: 71
Freaking amazing! I'd love to see an updated full "non instant-win glitch" run, but this is still great. YES VOTE!
Samus taught us that a girl doesn't need brains to be successful. Brains are giant, evil, and vulnerable to missiles.
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Mister Epic wrote:
SD encode here. Archive page Video file (MKV, 37.7 MB)
Is the file broken somehow?
bisqwit@hariyu:~$ mplayer earthbound-tas-pirohikomugg.mkv            
MPlayer SVN-r31235-4.4.4 (C) 2000-2010 MPlayer Team

Playing earthbound-tas-pirohikomugg.mkv.
[mkv] Track 1 has been compressed with an unknown/unsupported compression
[mkv] algorithm (3). Skipping track.
[mkv] Track ID 1: video (V_MPEG4/ISO/AVC), -vid 0
[mkv] Track ID 2: audio (A_VORBIS), -aid 0, -alang und
[mkv] Will play video track 1.
Matroska file format detected.
VIDEO:  [avc1]  256x224  24bpp  60.000 fps    0.0 kbps ( 0.0 kbyte/s)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 48000 Hz, 2 ch, s16le, 0.0 kbit/0.00% (ratio: 0->192000)
Selected audio codec: [ffvorbis] afm: ffmpeg (FFmpeg Vorbis)
==========================================================================
AO: [oss] 48000Hz 2ch s16le (2 bytes per sample)
Starting playback...
[h264 @ 0x89ecc80]AVC: nal size 2115429
[h264 @ 0x89ecc80]no frame!
Error while decoding frame!
[h264 @ 0x89ecc80]AVC: nal size 4673
[h264 @ 0x89ecc80]no frame!
Error while decoding frame!
[h264 @ 0x89ecc80]AVC: nal size 5185
[h264 @ 0x89ecc80]no frame!
Error while decoding frame!
[h264 @ 0x89ecc80]AVC: nal size 4417
[h264 @ 0x89ecc80]no frame!
Error while decoding frame!
[h264 @ 0x89ecc80]AVC: nal size 4417
bisqwit@hariyu:~$ vlc earthbound-tas-pirohikomugg.mkv 
VLC media player 1.1.2 The Luggage (revision exported)
<...>
swScaler: pal8 is not supported as output pixel format
[0x829bc4c] swscale scale error: could not init SwScaler and/or allocate memory
[0x81efb54] avcodec decoder error: don't know how to convert chroma 12
Joined: 7/10/2008
Posts: 44
I downloaded the file (the direct download link) and it played just fine for me (Media Player Classic). Thanks for the encode, Mister Epic. Yes vote, though I don't really have an opinion whether it should obsolete the current glitch run or not.
GabCM
He/Him
Joined: 5/5/2009
Posts: 901
Location: QC, Canada
Bisqwit wrote:
Mister Epic wrote:
SD encode here. Archive page Video file (MKV, 37.7 MB)
Is the file broken somehow? (codes)
Nope. I used the DeDup plugin (for AviSynth) to remove duplicate frames and make the file as small as only 37.7 MB. It makes the video's framerate variable. VLC doesn't seem to be able to read those properly. Even Windows Media Player can do it better!
Joined: 5/13/2009
Posts: 141
Bisqwit wrote:
stuff
Plays fine for me..
MPlayer SVN-r32025-4.5.1 (C) 2000-2010 MPlayer Team
159 audio & 347 video codecs
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote control.

Playing earthbound-tas-pirohikomugg.mkv.
libavformat file format detected.
[matroska,webm @ 0x3751b20] Estimating duration from bitrate, this may be inaccurate
[lavf] stream 0: video (h264), -vid 0
[lavf] stream 1: audio (vorbis), -aid 0
VIDEO:  [H264]  256x224  0bpp  60.000 fps    0.0 kbps ( 0.0 kbyte/s)
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
AUDIO: 48000 Hz, 2 ch, s16le, 0.0 kbit/0.00% (ratio: 0->192000)
Selected audio codec: [ffvorbis] afm: ffmpeg (FFmpeg Vorbis)
==========================================================================
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
Starting playback...
Joined: 4/3/2005
Posts: 575
Location: Spain
I don't know what to think about it. Using obvious debug features as this one is not allowed in a TAS according to the sites rules, and I don't know if an exception should be allowed when the code is normally unreachable, or if it's not reached "the usual way". I'm not voting this submission until this issue is clarified.
No.
Joined: 2/1/2008
Posts: 347
The debug menu is definitely unreachable without the glitch (and without a Game Genie - the only other way to get to it); whatever means were originally used to access it were disabled when the game was released. This probably does count as an exception to the rule, since the debug menu cannot be accessed without extraordinary measures. Of course, I can't make the call myself, but that's my opinion.
<ccfreak2k> There is no 'ctrl' button on DeHackEd's computer. DeHackEd is always in control.
Joined: 7/28/2005
Posts: 339
mklip2001 wrote:
Waiting 10000 frames for the debug menu is annoying, though fast-forwarding isn't too bad (there could be a subtitle in a published encode explaining that people should fast forward, maybe...).
I believe the currently published run has a subtitle at the scene where you have to wait under the waterfall for five minutes, so there's no reason this shouldn't.
Limne
Any
Joined: 2/24/2010
Posts: 153
It's neat to see, and I think it's cool that the debug menu is simply being glitched to, but on the other hand... Actually, the run I like best is the first obsoleted one that shows off most of the game. Too bad it seems unlikely that a 100% run or very long playaround is going to be done for this game...
zem
Joined: 10/3/2009
Posts: 32
Mister Epic wrote:
Bisqwit wrote:
Mister Epic wrote:
SD encode here. Archive page Video file (MKV, 37.7 MB)
Is the file broken somehow? (codes)
Nope. I used the DeDup plugin (for AviSynth) to remove duplicate frames and make the file as small as only 37.7 MB. It makes the video's framerate variable. VLC doesn't seem to be able to read those properly. Even Windows Media Player can do it better!
Can you recommend a player that works on mac?
Joined: 11/4/2007
Posts: 1772
Location: Australia, Victoria
And people wonder why I use Deldup in direct264. See, this is why I keep endorsing the use of direct264's Deldup people, less compatibility issues.
Dwedit
He/Him
Joined: 3/24/2006
Posts: 692
Location: Chicago
How long is thing really? Isn't it just 8 minutes long?
Joined: 2/1/2008
Posts: 347
It takes about 20 minutes to reach the credits. The movie continues since there is a scene after the credits that requires human input. Waiting on the tent glitch to reach the debug menu takes a few minutes as well, which can be skipped without consequence.
<ccfreak2k> There is no 'ctrl' button on DeHackEd's computer. DeHackEd is always in control.
Joined: 2/18/2007
Posts: 63
Location: New York City
I don't think this should obsolete the USA version either, I'd be very disappointed if it did. I ultimately found the USA version more entertaining.
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
blahmoomoo wrote:
The debug menu is definitely unreachable without the glitch (and without a Game Genie - the only other way to get to it); whatever means were originally used to access it were disabled when the game was released. This probably does count as an exception to the rule, since the debug menu cannot be accessed without extraordinary measures. Of course, I can't make the call myself, but that's my opinion.
Personally I think that using such a debug menu to "cheat" in the game is completely equivalent to using a cheat-key (such as the Konami code). It makes absolutely no difference how the cheat is entered (ie. whether there's legitimate support in the game or whether it's done via a glitch). The Konami code (for Konami games supporting it) is forbidden for a good reason, and the same reasons apply to this case as well, IMO. The Konami code wouldn't become any more acceptable if it was triggered using a glitch.
Joined: 8/23/2008
Posts: 417
Warp wrote:
Personally I think that using such a debug menu to "cheat" in the game is completely equivalent to using a cheat-key (such as the Konami code). It makes absolutely no difference how the cheat is entered (ie. whether there's legitimate support in the game or whether it's done via a glitch).
There's a crucial difference, I think, between a well-known cheat code and a glitch abused to access something clearly not intended for use by players. The Konami cheat code analogy doesn't really work here, because it's something the developers knowingly left available to players... it isn't showing off anything really impressive. This, by contrast, shows an abuse of game mechanics to achieve a result never intended by the programmers. To me, that's an example of superplay.
I will not use self-reference in my signature.
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
I think it befalls to the same category as by-carefully-timed-resets game-save-manipulations do. In both cases, you do not abuse the game itself; you abuse its data. Here, the data is the debug menu, or rather, the RAM data that is modified through the debug menu. It is a hazy area. Yes, it is theoretically possible on the real console... But then again, if I extrapolate more, the Cutman's-magic-scissor glitch (Rockman 1 in eighth stage) also can be considered as belonging to the same category. There, too, RAM is overwritten by something that was supposed to be a different kind of a write.
Skilled player (1651)
Joined: 11/15/2004
Posts: 2202
Location: Killjoy
Warp wrote:
blahmoomoo wrote:
The debug menu is definitely unreachable without the glitch (and without a Game Genie - the only other way to get to it); whatever means were originally used to access it were disabled when the game was released. This probably does count as an exception to the rule, since the debug menu cannot be accessed without extraordinary measures. Of course, I can't make the call myself, but that's my opinion.
Personally I think that using such a debug menu to "cheat" in the game is completely equivalent to using a cheat-key (such as the Konami code). It makes absolutely no difference how the cheat is entered (ie. whether there's legitimate support in the game or whether it's done via a glitch). The Konami code (for Konami games supporting it) is forbidden for a good reason, and the same reasons apply to this case as well, IMO. The Konami code wouldn't become any more acceptable if it was triggered using a glitch.
This is actually what I was trying to express in my post - it seems like the konami code executed through a glitch. What if there was a similar style control-based code to get to the debug menu? I doubt this would be acceptable then.... however -
Acheron86 wrote:
] There's a crucial difference, I think, between a well-known cheat code and a glitch abused to access something clearly not intended for use by players. The Konami cheat code analogy doesn't really work here, because it's something the developers knowingly left available to players... it isn't showing off anything really impressive. This, by contrast, shows an abuse of game mechanics to achieve a result never intended by the programmers. To me, that's an example of superplay.
This is a well stated reason as to why it could be acceptable.
Sage advice from a friend of Jim: So put your tinfoil hat back in the closet, open your eyes to the truth, and realize that the government is in fact causing austismal cancer with it's 9/11 fluoride vaccinations of your water supply.
Banned User
Joined: 3/10/2004
Posts: 7698
Location: Finland
Acheron86 wrote:
There's a crucial difference, I think, between a well-known cheat code and a glitch abused to access something clearly not intended for use by players. The Konami cheat code analogy doesn't really work here, because it's something the developers knowingly left available to players... it isn't showing off anything really impressive. This, by contrast, shows an abuse of game mechanics to achieve a result never intended by the programmers. To me, that's an example of superplay.
I'm still not really convinced. Suppose that Konami had published a game where they intended to have their classic cheat-code, but then at the last minute they decided to disable it, so it would not be accessible via normal play (eg. by simply changing the jump opcode which is triggered by entering the cheat code into a nop instead of jumping to the cheat routine, or whatever). Also suppose that the cheat routine could nevertheless still be executed by abusing a glitch. Would it become acceptable? IMO it wouldn't become any more acceptable. It would still be the konami code, even though it's being triggered by unconventional means. So the question is: If the debug menu would be officially accessible via normal gameplay, would abusing it be acceptable as per the rules (and the general principles of TASing)? IMO its acceptance doesn't change if it's being triggered by unconventional means any more than triggering a hypothetical disabled konami code would.
Joined: 8/23/2008
Posts: 417
Warp wrote:
Suppose that Konami had published a game where they intended to have their classic cheat-code, but then at the last minute they decided to disable it, so it would not be accessible via normal play (eg. by simply changing the jump opcode which is triggered by entering the cheat code into a nop instead of jumping to the cheat routine, or whatever). Also suppose that the cheat routine could nevertheless still be executed by abusing a glitch. Would it become acceptable? IMO it wouldn't become any more acceptable. It would still be the konami code, even though it's being triggered by unconventional means.
The "Konami code" wouldn't be known as a code if it were only accessible via glitch. It would be... well, a glitch; one that allowed you to use developer tools in-game. That's a lot different than intentionally-designed button input codes. I imagine the purpose of banning the Konami code is because codes don't add anything interesting or new to the game. Codes that give you weapons early, skip levels, or activate God Mode don't make for impressive TASes. That makes sense; you can't call it a superplay if you do something any human can normally do. Now if the Konami code was a glitch, and it gave you superpowers? That's a different story. It's not an intentional button input under certain circumstances, now... it's become a chance occurance, the accidental access of code due to luck and random coding. The fact that the debug mode can be accessed at all in Earthbound via bad memory pointers represents winning the lottery; it's something that should never have happened, but did against the odds. Showcasing this glitch is a technical feat in and of itself. I think it's a good argument right out that accessing developer tools when they are intended to be unreachable is impressive. I'm absolutely in agreement that an intentionally-programmed, easily-accessed, well-known cheat code should not be permitted in a TAS in general. An unintentional, accidental, obscure game glitch that lets you use developer tools to skip to the end of the game is a different story. We may have to agree to disagree, which is fine. I think it's not a hard sell to say this does not count as a cheat code; even if it does, it's a pretty good time to make an exception or reconsider the purpose of that rule. Ultimately, this run does something I doubt we'd see in any speedrun, and it's technically impressive (more so when you understand the game and the circumstances at work here). That should hold some merit, I think.
I will not use self-reference in my signature.
Joined: 4/3/2005
Posts: 575
Location: Spain
The rule is not just for the konami code, it also works for the 2nd controller input in the megaman games. Basically, you have to play the game with the tools initially given to a player. Using debug routines to boost yourself makes you play a different game. While I find it cool that you can access through a glitch to the disabled debug menu, I think this one could only be published as a proof of concept, and not as a legit run of Earthbound. Therefore I vote no.
No.
Dwedit
He/Him
Joined: 3/24/2006
Posts: 692
Location: Chicago
So accessing a debug menu is cheating, but it's okay to use a walk-through walls glitch to walk around out-of-bounds to specific locations to trigger event flags?
Joined: 4/3/2005
Posts: 575
Location: Spain
Yeah, the code of a debug menu was put in there specifically to cheat, the other case being a glitch with unintended consequences.
No.
Joined: 2/1/2008
Posts: 347
The debug menu was not put there for the player to cheat; you cannot access it without this glitch or GameGenie (the latter cannot be used in a TAS for obvious reasons). It was clearly made for the developers use only. It was easier to make it inaccessible than to remove it, so they simply hid it.
<ccfreak2k> There is no 'ctrl' button on DeHackEd's computer. DeHackEd is always in control.
Joined: 9/12/2009
Posts: 60
Location: None of Your Business, USA
WOW! You get a YES! I'm impressed!