(Link to video)
This is my "glitched" any% TAS run of Super Mario World 2 - Yoshi’s Island for the SNES. The currently published run is by NxCy which uses Snes9x, a deprecated emulator. Since I found improvements, I originally planned doing a better run on Snes9x too, but then it became deprecated so I used Bizhawk instead. Of course there are time differences between those two emulators, which is why I couldn't really compare the timing.

Game objectives

  • Emulator used: BizHawk 1.4.0
  • Aims for fastest time
  • Uses death as a shortcut
  • Abuses programming errors in the game
  • Manipulates luck

Comments

At the end of this run, it has 101 more lag frames than the current run on Snes9x, but this run is only 97 frames longer. One could say that I saved 4 frames but I did a quick video comparison and it seemed like I saved even more. If you make a side by side comparison while balancing out the lag frames, you can see that the Bizhawk version is slower.

Warp Glitch

The Warp Glitch is the glitch that makes this possible. It works by pressing < and > at the same time in the overworld. When you then start the level, it is determined by the amount of coins you have. The reason why this happens is because the game doesn't expect you to press both directions at once.
So what happens when you press < + >. Well, to start things, there is an address ($36) which is input data. That means if you press > bit 0 and if you press < bit 1 of $36 is set. The game checks every frame if it should move the cursor. It does this by checking if one of the two bits in $36 is set. Since we pressed both at once, both bits will be set and the game will think it has to move the cursor.
Next step is that the game checks where to move the cursor. The overworld data is at $030F for level 1-1, $0310 for level 1-2 to $0319 which is the "SCORE" button and $031A which is the button configuration. It goes on like that (so 2-1 is $031B). If a level is not unlocked the value for its address is 0, if it is however unlocked then the value will be its level number (so 1 for 1-1, 5 for 2-5, 9 for Extra and 12 for button config). Of course 11 and 12 will be always unlocked. So the game takes the current position and adds it with $(17E182+x). Where x is what you pressed (so it's 1 if you pressed >, 2 if you pressed < and 3 if you pressed both at the same time). The game only expects x to be 1 or 2, which is why $(17E182+1) = 0x01 (so + 1 to get the level after the current one), and $(17E182+2) = 0xFF (which will act as -1 to get the level before the current level).
So the game checks if the next level is unlocked (it does this by bitwise ANDing the value with 0x0F), if not it will add another value until it found a level which is unlocked (which is why the cursor goes directly to the "SCORE" button when pressed right and only 1-1 is unlocked). Since we pressed both directions at the same time x is 3 which results in $(17E182+3) = 0x06, which means it will go 6 levels forward every check (which is why the cursor goes to 1-7 when it is unlocked and you try the glitch). So now it checks addresses like: $0315, $031B, $0321 ... until it reaches $037B which happens to be the current coin value and it stops there because coin amount % 0x0F is not 0 (that is the reason something different happens if you try to do the glitch with 0, 16, 32, 48, etc. coins).

Stage by stage comments

Intro

The goal here is to get 15 coins as fast as possible, because that will lead to 2-3. I increase Yoshi's average speed with the slopes at the start.

2-3

The goal here is to get the needed 68 coins for going to 6-8, the bowser level. 2-3 was chosen because there is this huge amount of coins right at the start and a quick way to die. If this stage isn't properly RNG manipulated, many things can go wrong. I jumped on the switch with the position the farthest to the right possible and I again increased Yoshi's average speed once at the start and once after the jump on the switch.

6-8

I got the bubble at the highest position and manipulated my Y position to be the highest possible. If you go up while Kamek is really close behind you, he somehow pushes you up and as long as you don't have positive Y speed (down) you won't get hurt. That saves some time, because varying your Y speed decreases your X speed. In the next room you might see that I manipulated the egg to fly directly to Yoshi, which doesn't save time, but I thought it might would :). The next room is pretty straightforward... I really, really tried to be as entertaining as possible in this long scroller. This is my first YI TAS so I hope I did an OK job at it. This room is also the reason why I originally started making an improvement on this run, because you can clip the invisible wall on the right for one frame (like a walljump) and if you time it perfectly you can enter the door faster. The second Bowser fight was not that easy to optimize because the position where the eggs are spawning is RNG based.

Thanks to

  • NxCy for the previous run. Even though it was hard to compare the movies, it still helped to see how things are done and what is possible with RNG manipulation.
  • The people who found the glitches which made this run possible.
Enjoy!

Noxxa: Judging.
Noxxa: Accepting as an obsoletion to a previous run on a deprecated emulator.

TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14776
Location: 127.0.0.1
Editor, Skilled player (1402)
Joined: 3/31/2010
Posts: 2081
<scrimpy> Ooh, nice Very amazing run indeed. Normally I tend to not be a big fan of glitched runs because they teleport you straight to the end in no time. In this particular case, it was filled with amazing surprises, such as syncing yoshi's actions to the final boss music, making the run very, very enjoyable. I also see that the run is about a second slower as NxCy's, but I guess that is due to emulator differences. Obvious yes vote
Active player (497)
Joined: 11/19/2007
Posts: 128
Nice job finishing the run, Masterjun! I was kinda hoping to be beaten even harder, but maybe this category doesn't have much left to it now (however, I'd love to be proven wrong!). In any case, it's an improvement, and it's nice to finally see a Yoshi run on a more modern emulator. I think you did great on the autoscroller, and the Kamek boost was a nice little surprise to me. The final bowser fight is indeed pretty tough. One comment I'll make is, in the 100% run, we fired the 3rd and 2nd last shots so that the 2nd last shot damaged bowser immediately after the 3rd last one did. This was faster when we tested it, as it meant there was no recovery period in between these hits, and Bowser was closer to us for the final shot. I dunno if you compared your fight the the 100% version, but if not it should be worth a look. Apart from that I'd happily vote yes, and congrats!
Player (98)
Joined: 3/20/2008
Posts: 466
Location: Montreal, Quebec, Canada
Yes vote for 5:05-5:16 (YT encode).
Editor, Experienced player (851)
Joined: 8/12/2008
Posts: 845
Location: Québec, Canada
That last battle was amazing; I was entertained to the MAX. YES vote!
Player (12)
Joined: 6/17/2006
Posts: 498
As far as entertainment goes, this is an easy yes vote. What's not so obvious for me however is whether or not this is really faster than the currently-published run, since the raw time is slower. Even if a lag-free comparison between emulators is faster, if the old strategy would not cause as many lag frames as the new strategy when executed on the same more-accurate emulator, then this movie should not be published. Therefore, is it relatively easy to convert the old input from Snes9x to BizHawk in a way that adds or removes lag frames when necessary and compare the resulting length with the new input? If not, how can we properly compare the movies?
Masterjun
He/Him
Site Developer, Skilled player (1968)
Joined: 10/12/2010
Posts: 1179
Location: Germany
SmashManiac wrote:
if the old strategy would not cause as many lag frames as the new strategy when executed on the same more-accurate emulator, then this movie should not be published.
There is no "old strategy". There are more lag frames because the emulator creates more. I don't see your point... Of course, using Snes9x would result in a faster movie, if you mean that.
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Active player (266)
Joined: 9/14/2011
Posts: 349
Along with SmashManiac's comment, I rather hope you to notify every actual improvement like chart, the amount of frames stage by stage. Or did you?
Editor, Experienced player (607)
Joined: 11/8/2010
Posts: 4012
Nice improvement and a very entertaining run. Yes vote!
Joined: 7/9/2011
Posts: 20
I guess there's no need of suggesting a screenshot. Yes vote.
Spikestuff
They/Them
Editor, Expert player, Publisher (2254)
Joined: 10/12/2011
Posts: 6324
Location: The land down under.
Needs more tongue... What the fuck? Yes Vote.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. These colours are pretty neato, and also these.
Editor
Joined: 3/10/2010
Posts: 899
Location: Sweden
You got an explanation of the wrap glitch that covers the other cases on the game resources page?
Masterjun
He/Him
Site Developer, Skilled player (1968)
Joined: 10/12/2010
Posts: 1179
Location: Germany
henke37 wrote:
You got an explanation of the wrap glitch that covers the other cases on the game resources page?
It's basically the same thing only that the game changes where to check at the start because the first time the value the games adds is not indexed by $36, but $38 which is the same as $36 but it only catches the "pressed" state, so in case 2 $38 will be 0x02 (which results in adding 0xFF which is -1) and in case 3 $38 will be 0x01 (which results in adding 0x01). Case 1: $030F +6 +6 +6 +6... Case 2: $0319 -1 +6 +6 +6... Case 3: $030F +1 +6 +6 +6...
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Editor
Joined: 3/31/2010
Posts: 1466
Location: Not playing Puyo Tetris
4:30 That is all. Yes because it's a proper emulator. Take that SNES9X!
When TAS does Quake 1, SDA will declare war. The Prince doth arrive he doth please.
Joined: 12/22/2009
Posts: 291
Location: Michigan
hegyak wrote:
4:30 That is all. Yes because it's a proper emulator. Take that SNES9X!
#Snes9x4lyfe
Current projects: Yoshi's Island Disassembly Yoshi's Island any% TAS with Carl Sagan
Skilled player (1703)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Nice run! But this quote confuses me:
If you make a side by side comparison while balancing out the lag frames, you can see that the Bizhawk version is slower.
So...what's the improvement again? I don't get it.
Editor, Player (44)
Joined: 7/11/2010
Posts: 1022
The improvement is that the old run was done on an emulator that incorrectly emulated lag, meaning that the old run gained frames due to emulator glitch. (It's hard to tell exactly how many, but the submitter estimated it at 101.) The claim is that this run is more optimized because it lost 101 frames due to not cheating but is only 97 frames slower, which would be a 4 frame improvement.
Site Admin, Skilled player (1234)
Joined: 4/17/2010
Posts: 11251
Location: RU
Does anyone need a lossless dump of that to start encoding?
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
Guga
He/Him
Joined: 1/17/2012
Posts: 838
Location: Chile
I love this. There goes a 1.43 TAS. I hope everyone manages to obsolete more. ^o^
Joined: 2/27/2011
Posts: 69
Location: Calgary, Alberta
Damn it, Yoshi. Get your tongue out of there :P Jeez.. 4 frames? :P It's getting pretty close to "finished" if that's the improvement at this point..
Active player (266)
Joined: 9/14/2011
Posts: 349
So 4 frames actual improvement? Enough to obsolete current published run.
Player (131)
Joined: 5/21/2012
Posts: 74
Location: Cary, NC
I can't get BizHawk to get through this without randomly crashing, so no encode from me. :(
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14776
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. ---- [2337] SNES Super Mario World 2: Yoshi's Island "warp glitch" by Masterjun in 06:09.03