(Link to video)
Surprise! As stated in the previous submission text there possibly exist some improvements such as Finding another glitch (infinite tongue glitch?). By using exactly that glitch, I was able to lead the code to the controller registers and then reach ACE and the credits.

Game objectives

  • Emulator used: lsnes rr2-ß21
  • Arbitrary Code Execution
  • Aims for fastest time
  • Abuses programming errors in the game
  • Achieves credits early

Comments

In Yoshi's Island, the middle ring is a really nice feature in the game. If you activated it, the game gives you the ability to restart from there in case you die before reaching the goal. When activating, it also gives you up to 10 additional stars which can be a big help when playing casually. And as if that isn't enough, it also turns all the sprites on the screen into stars!
(Note: Since this game uses the Super FX 2 chip for a bunch of stuff, I couldn't really debug what exactly happens in the code. This is what I think happens:)
When spitting out an enemy, it first goes into a semi-active state with Yoshi's mouth opened but the sprite didn't appear yet. In theory, the sprite is still in Yoshi's mouth, but if you happen to activate a middle ring so that all sprites turn to stars, that semi-active sprite also turns into a star.
The game deals with this by just sticking out Yoshi's tongue instead of spitting out a sprite, but the flag that's Yoshi's mouth is full wasn't cleared, so he now has nothing in his mouth. Now when pressing Y Yoshi just sticks out his tongue, but is unable to actually get something on it.

Infinite Tongue Glitch

Usually, when sticking out Yoshi's tongue and getting hit while it is out, the values (state, position) for the tongue are reset so that it is back in Yoshi's mouth. But apparently the state for the tongue isn't reset when Yoshi has something in his mouth. However, the position is reset!
When in this glitched state as explained above and when getting hit while the tongue is coming back to Yoshi, the position is reset, so it is back at Yoshi. Unfortunate for the game is that it first decreases the position and then checks if it already reached Yoshi.
The tongue basically missed Yoshi and is now flying around and increasing in length. The fact that the tongue is getting longer and longer means it takes up more and more space in the OAM-like memory that saves all the data about spawned sprites. First it takes up all the space that could have been used by other sprites (which is the reason all sprites disappear), then it keeps going on until it corrupts important parts of the memory that the game uses for indexing its jumps in the code.
The tongue is growing tile by tile so it only grows 8 bytes per frame. When getting back the baby, the bubble "explodes" and displaying that means writing a bunch of tiles at once to memory. Even though these tiles are quickly overwritten by the tongue (as the bubble quickly disappears) they can be used to corrupt more bytes at once at the critical memory part.
The code will eventually reach the controller registers and to get to the credits from there, I just used the same steps as in the previous submission.

Route

I collect 2 coins in the intro to warp glitch to 1-2, which is the quickest way to a middle ring. There I glitch Yoshi into the strange state and try to get hit as fast as possible. It turned out that going back left through the gate was faster than waiting for another shy guy to come out of the pipe to the right (since the first one turns into a star). It was also important to keep your speed down a bit to avoid making the red shy guy turn into a star, too.

Other comments

Thanks to

  • basically the YI community again for glitch hunting this game
  • flutter A.I for already being in this game so I don't have to arbitrarily inject it

Suggested Screenshots


Nach: Excellent movie, terrific feedback, accepting as improvement to existing run.
Encoders beware, this run contains a lot of interesting things that occur for exactly a single frame.
fsvgm777: Processing.

Experienced player (703)
Joined: 2/5/2011
Posts: 1417
Location: France
ace metalforce pls (yup vote)
Current: Rayman 3 maybe? idk xD Paused: N64 Rayman 2 (with Funnyhair) GBA SMA 4 : E Reader (With TehSeven) TASVideos is like a quicksand, you get in, but you cannot quit the sand
Joined: 10/1/2013
Posts: 98
Location: My Basement
I'm trying to think of a good pun on Masterjun, but my brain is too fried from what I just saw.
Techokami
He/Him
Joined: 6/23/2008
Posts: 160
WHAAAAT? RIP Yoshi's Island. Again. Yes vote!
Mitjitsu
He/Him
Banned User, Experienced player (532)
Joined: 4/24/2006
Posts: 2997
W-T-F...
Active player (306)
Joined: 8/21/2012
Posts: 429
Location: France
Maybe it's time to stop using the term "ACE". We can just replace it with "Masterjun". Anyway, nice to see another great masterjuning of a really good game.
Experienced player (512)
Joined: 7/23/2011
Posts: 108
Honestly I've been bored with the ACE stuff since about the 2nd time it was done. The concept is a neat curiosity and probably interesting from a programming perspective, but these have almost nothing to do with playing, or TASing, video games. If these runs get much more "improved" every game's any% will be turning on the console and the game ending. Certainly this is cool to be able to do, but it isn't very interesting to watch beyond the first, as every game eventually looks the same. You're playing the SNES not playing the game. For showing off tongue glitch, I'd rather see a new any% TAS that finds creative ways to use it to actually beat the levels as shown here: www.twitch.tv/carlsagan42/c/5013023?t=31m24s
ALAKTORN
He/Him
Player (99)
Joined: 10/19/2009
Posts: 2527
Location: Italy
^I partly agree that ACE lost its charm by this point, but it’s still cool to see and try to understand why the glitching works. As far as using it to beat levels more normally, I’m not sure if that would be just a “arbitrarily limiting the power of a glitch” thing or not. It looks cool in your speedrun though.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4014
ALAKTORN wrote:
^I partly agree that ACE lost its charm by this point, but it’s still cool to see and try to understand why the glitching works. As far as using it to beat levels more normally, I’m not sure if that would be just a “arbitrarily limiting the power of a glitch” thing or not. It looks cool in your speedrun though.
We've discussed this before (see MrWint's catch 'em all TAS for example) - a glitch that can be used in ACE and non-ACE ways can be used in the non-ACE ways for non-ACE speedruns. So long as the glitch stops before ACE is possible with it's valid. That said, wouldn't a new any% run use the null egg glitch to skip every level? Or is this an any% no null egg glitch no L+R category where infinite tongue glitch is ok?
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
Arigatō Jun-sensei.
Skilled player (1706)
Joined: 9/17/2009
Posts: 4952
Location: ̶C̶a̶n̶a̶d̶a̶ "Kanatah"
Or make a playaround using every single glitch known including ACE. I'm thinking of something like what Masterjun did back in that joke SMW TAS, but rather than move the player's position, have like a hotkey that spawns more enemies or showcase something normally not able to do. That'll take a lot of time and effort however.
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11264
Location: RU
Carl Sagan: Don't worry, the moons tier allows as many unique categories published as we want. Just takes someone to make a run using all the tricks except jump to game end (and audience support). Exactly what happened to Rockman. [1686] NES Mega Man by Shinryuu & finalfighter in 12:23.34 [2601] NES Mega Man "game end glitch" by pirohiko & finalfighter in 00:32.11 That's how we divide between any% (with major skip glitch) and any% (no major skip glitch). Both are any%, and both are considered the true any% category!!!11 (c) by different people.
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.
Joined: 5/8/2010
Posts: 177
Location: Entropy
WTH? Let me get my jaw back in place. That's just awesome, yet another game broken by glitches. Obvious Yes vote.
Masterjun
He/Him
Site Developer, Skilled player (1970)
Joined: 10/12/2010
Posts: 1179
Location: Germany
Carl Sagan wrote:
Honestly I've been bored with the ACE stuff since about the 2nd time it was done. The concept is a neat curiosity and probably interesting from a programming perspective, but these have almost nothing to do with playing, or TASing, video games.
Please elaborate.
Warning: Might glitch to credits I will finish this ACE soon as possible (or will I?)
Expert player (2581)
Joined: 6/2/2009
Posts: 1182
Location: Teresópolis - Rio de Janeiro - Brazil
ACE-llent run. Messing around with the game's code using just controller inputs is something wonderful... for an expert programmer. But for the rest of us, the minimal amount of gameplay feels kinda weird. Still a brilliant run, so here's another Yes.
I am old enough to know better, but not enough to do it.
Samsara
She/They
Senior Judge, Site Admin, Expert player (2121)
Joined: 11/13/2006
Posts: 2792
Location: Northern California
Carl Sagan wrote:
Honestly I've been bored with the ACE stuff since about the 2nd time it was done. The concept is a neat curiosity and probably interesting from a programming perspective, but these have almost nothing to do with playing, or TASing, video games. If these runs get much more "improved" every game's any% will be turning on the console and the game ending. Certainly this is cool to be able to do, but it isn't very interesting to watch beyond the first, as every game eventually looks the same. You're playing the SNES not playing the game.
Pretty much my thoughts exactly. I guess it's impressive that it can be done in a lot of games, but at the same time my expectations are never shattered. Every ACE run just gets up to a certain point, does some seemingly arbitrary movements, then everything goes to hell for a split second before the ending screen plays. Maybe I'm just completely jaded at this point, I don't know. That point about playing the SNES and not playing the game makes a lot of sense, since the real effort in the run lies in figuring out how to get to a point where you can execute arbitrary code and then figuring out how to immediately run the ending once you get to that point. I wouldn't call that playing the game so much as reprogramming the game.
TASvideos Admin and acting Senior Judge 💙 | Cohost
warmCabin wrote:
You shouldn't need a degree in computer science to get into this hobby.
Patashu
He/Him
Joined: 10/2/2005
Posts: 4014
Masterjun wrote:
Carl Sagan wrote:
Honestly I've been bored with the ACE stuff since about the 2nd time it was done. The concept is a neat curiosity and probably interesting from a programming perspective, but these have almost nothing to do with playing, or TASing, video games.
Please elaborate.
It's just a point of view about what makes TASing exciting to you. ACE TASes and non-ACE TASes are awesome but in different ways. There's a kind of gradient on TASes, where on one end the entertainment is entirely from bending programming to your will, and on the other end the entertainment is entirely from playing within gameplay rules and boundaries and optimizing that.
My Chiptune music, made in Famitracker: http://soundcloud.com/patashu My twitch. I stream mostly shmups & rhythm games http://twitch.tv/patashu My youtube, again shmups and rhythm games and misc stuff: http://youtube.com/user/patashu
Joined: 7/22/2009
Posts: 128
Location: Gatineau, Quebec, Canada
whatever this frame is, that should be the one.
Taming Dolphin, one frame at a time
AntyMew
It/Its
Encoder, Player (35)
Joined: 10/22/2014
Posts: 425
Wak017 wrote:
whatever this frame is, that should be the one.
That's just the input display; it won't be in the final encode
Just a Mew! 〜 It/She ΘΔ 〜
Joined: 7/22/2009
Posts: 128
Location: Gatineau, Quebec, Canada
I know but you can't deny it's a great frame.
Taming Dolphin, one frame at a time
Joined: 11/17/2005
Posts: 278
Location: Massachusetts, USA
Definitely use the screenshot with 21 stars and Yoshi's tongue wrapping around the screen! It perfectly shows what is happening. I think I've figured out why some ACE runs excite me and some bore me. This isn't a hard rule, but I think the runs which type code into a multitap are kind of cheating now. Remember the original SMW ACE? (90 seconds) That was exciting! There are a couple Mario runs now which "code" by using the positions of enemies as instructions. That kind of setup I think is easier to appreciate because the player did it. But when the game crashes and is reprogrammed by a multitap it seems like the input is for the console, not Mario. But then again there are two SNES RPGs (Earthbound, SoM) with a menu glitch that can point-and-click straight to the credits. And I think those are still interesting.
Glitcher
He/Him
Joined: 3/24/2007
Posts: 216
Location: London, U.K.
Looks like Masterjun used his win button once again. Most of his submissions are over before they've barely begun. o_O
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14859
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. ---- [2751] SNES Super Mario World 2: Yoshi's Island "game end glitch" by Masterjun in 01:17.54
Editor, Experienced player (817)
Joined: 5/2/2015
Posts: 671
Location: France
Spikestuff
They/Them
Editor, Publisher, Expert player (2284)
Joined: 10/12/2011
Posts: 6336
Location: The land down under.
I must ask here, as it's a thing which needs to be discussed... alternately on IRC, but I may be asleep when there is actual discussion on this. From [2337] SNES Super Mario World 2: Yoshi's Island "warp glitch" by Masterjun in 06:09.03 and the more obsolete runs have their branch name has been changed from "warps" to "game end glitch" what is the reason behind this, we stated that a "game end glitch" is a run which basically skips straight to the credits, avoiding the final boss. The run I linked and the older runs, aren't "game ending" instead they are "warps" with the wrong tag brought on to them? So the conclusion is this. Are we unlinking a branch from Obsoletetion or are we gonna have these tagged correctly? And if we are going to get it tagged correctly. Why can't we unlink them? Super Metroid and SMW have branches for days? (7 and 5 branches respectively)
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11264
Location: RU
Looks like some of them need to be "warp glitch".
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.