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

Submission #3312: Carl Sagan's SNES Super Mario World 2: Yoshi's Island in 1:33:40.18

Console: Super NES
Game name: Super Mario World 2: Yoshi's Island
Game version: USA v1.0
ROM filename: Super Mario World 2 - Yoshi's Island (U) (M3) (V1.0) [!]
Emulator: (unknown)
Movie length: 1:33:40.18
FrameCount: 337211
Re-record count: 176387
Author's real name: Andy Diamos
Author's nickname: Carl Sagan
Submitter: Carl Sagan
Submitted at: 2011-10-03 07:14:28
Text last edited at: 2011-12-07 17:06:31
Text last edited by: Ilari
Download: Download (46622 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:
This is an any% TAS of Super Mario World 2: Yoshi's Island on SNES. Yoshi's Island is a fantastic, action-packed platformer with incredible potential for flashy gameplay and cool tricks. It improves the previous run by Spezzafer by 18986 frames (5 minutes and 16.4 seconds). This is accomplished through large number of new techniques and optimizations.

The goals of this run were fastest completion without the use of the "left+right" glitch, which warps directly to the final level as done in the "glitched" run by Nxcy. Instead, this run completes all of the game's standard 48 levels, ignoring 100% objectives such as red coins, flowers, and stars. As with Spezzafer's run, warps to 1-1 are used -- in this case during a total of four levels.

A method of faster movement which is employed in Nxcy’s “glitched” run called 1/1 running is not used (alternating pushing left and right every frame after a desirable speed oscillation is reached). This choice was made for the sake of creating a more entertaining run, as 1/1 running prevents egg and enemy juggling, among other things.

Beyond all the awesome speed tricks, the most important reason for doing this run was simply to showcase the entertainment value the game has to offer. It is full of egg juggling and ricocheting, tongues flying, and enemy-spitting madness, and in that vein, in areas where there was a choice between full speed and entertainment, I almost always chose entertainment.

The emulator used was: snes9x 1.43 v17

Game Objectives:

  • Aims for fastest time
  • Takes damage to save time
  • Manipulates luck
  • Contains speed/entertainment tradeoffs
  • Juggles as many eggs as possible

Tricks & Improvements:

Many, many, many new tricks have been discovered since Spezzafer’s old run, or old tricks used in new ways to save time. Almost none of these were discovered by me.

A method for consistently walljumping was only recently discovered, allowing entirely new routes and skips otherwise impossible to perform. Other twists to this involve the “wall spit,” where an enemy is spit into the wall, and which can then be bounced on by Yoshi.
Arrow Teleporting
Jumping and eating an arrow lift at the same time causes Yoshi to be able to teleport to wherever you spit the arrow. This is much faster than riding it.
More 1-1 Warps
This run contains 3 additional 1-1 warps: one in 2-4, one in 3-1, and one in 4-7.
Pipe Jumping
Jumping and going down a pipe at the same time decreases screen transition time. It also causes minor warps to adjacent screens in certain areas (2-8).
"One-way" gates can be opened backwards by firing an upward egg on the right frame.
Shell Invulnerability
Yoshi is unable to take certain types of damage after bouncing on a shell, which is used to run through spikes in 4-8.
Sprite Overload
Certain obstacles can be despawned when the sprite limit is reached, allowing new routes to be used.
Run-Speed Optimizations
Yoshi’s run speed was constantly monitored to prevent slowdowns, as well other optimizations such as increasing Yoshi’s average speed from 760 to 767 by jumping off of slopes. Additionally, tonguing a wall is a faster method of slowing down.
Route Optimizations
The routes in various levels have been refined extensively to save time.
New Boss Strategies
Many new boss-related strategies have developed over the years. For example, Sluggy is killed with single egg shots, the final baby bowser and bowser fights have been furthered optimized, among other changes.
The "Baxter" Shot
Discovered by the TASer Baxter, tonguing an egg just right to fling it over the goal ring to the next Yoshi results in the next Yoshi picking up the egg. Can be done with multiple eggs, creating a Double Baxter, Triple Baxter, etc. This doesn't actually save time, but who cares? It's AWESOME!

A more full and detailed list of all tricks and glitches and where they are used will be included in the level-by-level commentary.

Individual Level Comments:

tl;dr Version

1-1: I juggled some eggs.
1-5: I juggled some eggs to a tune.
2-1: I played 1-1 again so I could juggle eggs there.
3-3: I juggled monkeys because eggs were getting old.
4-1: I just threw shit everywhere.
5-6: I juggled chickens.
6-8: Instead of tonguing eggs, I decided to tongue Bowser instead.

Detailed Version

1-1: Bouncing off of a shyguy and then doing a first-frame jump off of the rotating platforms lets Yoshi retain the boosted flutter you get from bouncing on an enemy, and thus skip part of the level. Normally you only receive the boosted flutter if you use the flutter before landing -- this trick is used multiple times throughout the run. I was incredibly happy to have juggled two eggs here into a Double Baxter (See Tricks section) -- I had no idea what was to come.
1-2: Spitting the flower enemy into the wall on the right frame let's Yoshi both bounce off of him, and get an enemy-boosted flutter to boot. Running across the top then skips a long room comprising a good chunk of the level.
1-3: The pipe jump glitch is performed at the start of this level. Jumping and going down a pipe on the same frame saves 29 frames of screen transition time. Later in the level, tonguing the walls immediately sets Yoshi's speed to 0, allowing him to turn around much quicker when changing directions. Both of these tricks are used throughout the run.
1-4: The pot with the key in it can be broken much quicker if hit offscreen with an egg. Additionally, having Yoshi face away from the pot causes the key to fly to Yoshi.
1-5: A forced autoscroll in which Yoshi play along with the music. Juggling 4 eggs across the rotating platform was, at this point, the hardest thing I had done in the run. Getting a Triple Baxter just after (See Tricks section) became the new hardest thing, and required a lot of setup.
1-6: Walljumps are used both to skip the vertical-scrolling platform, and again at the end of the level to skip the beanstalk.
1-7: A straightforward level with no new tricks, so I will mention two standard ones. The first slope in every level is immediately jumped off of on a particular frame to raise Yoshi's speed from 760 to 767. Additionally, the bottom of the goal ring is hit in every level, causing Baby Mario to be caught sooner by the next Yoshi, saving 5 frames.
1-8: A better optimized damage-boost off the spiked platform into a faster pot-breaking section and a tighter boss fight bring world 1 to a total improvement of 1839 frames.

2-1: A 1-1 warp is performed using the same pipe jump glitch as the start of 1-3. Due to the way this level is coded, it results in the game not knowing where to send Yoshi, so he goes to coordinates (0,0) -- the top left corner -- of the default level, 1-1. Completing 1-1 is substantially faster than playing out the rest of 2-1 (on the order of 45 seconds).
2-2: A very technical level. A combination of multiple wall jumps, wall spits, and first-frame jumps to retain boosted flutters skips a good portion of the early level.
2-3: What does gusty taste like? You tell me, Nintendo.
2-4: Gatehacking makes an appearance near the beginning of this level. The upward-aimed egg ricochets into the gate and opens it from behind, opening up a faster route. Another 1-1 warp in this level is performed by running along the top of the ghost into the pipe. Shooting eggs at the ghosts prevents them from stopping to do an animation to get them to the pipe faster. The 1-1 warp skips the boss entirely.
2-5: A straightforward but action-packed level.
2-6: A straightforward and less action-packed level.
2-7: When enough sprites appear on the screen, the bullet bill launchers do not spawn. This prevents the need to ground pound the posts to access the next area. The sprites were manipulated by throwing a big egg, which turns all enemies into stars. Stars tend to result in the easiest despawns.
2-8: A first-frame jump on the vertical platforms lets Yoshi jump much higher than normal, skipping the middle ring without having to flutter slowly under it. A pipe jump causes Yoshi to warp to the adjacent room in the next area. Towards the end of the level, arrow teleporting is employed multiple times to avoid waiting for the arrow to rise. Yoshi must be underneath the arrow after spitting it out to teleport. Additionally, Yoshi cannot be too far offscreen or else the arrow despawns. Finally, wall-jumps are used to go over the ghost-pot boss and push him off without the shyguys fighting against you. Overall, world 2 completes 5006 frames ahead of the old run.

3-1: The third 1-1 warp is performed by fluttering over the normal screen transition trigger and landing on it from above.
3-2: The screen scrolling is manipulated in the rotating platform section to cause the pink platform to appear optimally. Then, several wall-jumps and a wall-spit are used to avoid taking the staircase.
3-3: A wall-jump is used after the submarine section to avoid waiting for the platforms to rise.
3-4: Targeting the exact right spot on the uvula reduces the number of hits needed to kill the boss to 6.
3-5: Throwin' a monkey onto the spikes and bouncing off of him... oh yeah!
3-6: The rat is spit so that he can be bounced on for a retained boosted flutter, into a walljump, opening up a faster route.
3-7: For some reason, spitting shyguys into the fake rolling flowers causes a lot of exploding stars.
3-8: Many enemies can be manipulated as they're first coming on screen. The big ghosts in this level can be dealt with in only one egg if they are hit off-screen. Same with the boss. One "Oh my!" later, and we're 6283 frames ahead.

4-1: So many enemies to play with at the beginning! The end of the level is broken with walljumps, allowing super baby mario to be skipped altogether.
4-2: Shells are very interesting. You can bounce around on them like a boss, a trick fondly known as "Shell Surfing."
4-3: You can also bounce on them, eat them, throw them, re-bounce on them, eat them again, etc.
4-4: A walljump against the right wall is used because walljumps tend not to work on the lower sections of a ledge, which was the case with the left wall. The room with all of the blocks to break is kind of tricky, because it contains a few red coins along the top walls. All of those ricocheting eggs need to avoid the red coins, as red coins cost extra time to tally at the end of a level. More walljumps and an arrow teleport speed up the remaining rooms, leaving just the boss, Marching Milde, who was split into oblivion slightly faster due to more optimized egg shots and ground pounds.
4-5: Psh, who pushes a rock all the way through a level...
4-6: Back to shells: you can also spit them out and use them as platforms as they ricochet back at you.
4-7: The final 1-1 warp is achieved by holding left after bouncing on the up-arrow. Also, red glitchy chickens. Everywhere.
4-8: And lastly, while shell surfing, Yoshi cannot be damaged by the spike balls at the start of this level, allowing him to pass through them quicker. Additionally, jumping at certain spots underneath the spike balls causes Yoshi to be ejected forward, briefly traveling faster than max speed. After juggling a few eggs and pounding Hookbill the Koopa's underbelly, Yoshi blasts off 7417 frames ahead. The blast-off glitch is performed by ground-pounding Hookbill before he lands after the final egg shot. I found a neat version of this glitch where the blast-off animation is repeated several times.

5-1: Riding the cloud at the start lets you skip the slow vertical climbing sections. A not so obvious trick just after involves using first-frame jumps to not let the screen scroll. Normally, during the falling rock section, one of the rocks obstructs your path for a moment. If you prevent the screen from scrolling, the rock does not spawn until later, letting you pass under it without slowing down.
5-2: Normally, ski lifts and snowballs are skipped by bouncing on penguins. Walljumps made this process even quicker.
5-3: A new route at the beginning lets Yoshi run on top of the level. The ski section was more highly optimized than the previous run -- getting hit was actually the fastest strategy I could come up with for that part, as Yoshi seems to travel up-hill faster while spinning after taking a hit.
5-4: The beginning stairs are skipped with yet another retained boosted flutter. The reason for not letting the screen scroll after the second staircase is to skip an otherwise mandatory middle ring, which has a long animation. A walljump near the end prevents the need to wait for slow bats, and again using screen scrolling manipulation, Sluggy is hit with single egg shots. The eggs can pass through his body while he's off screen, so he can be hit with a single egg if you fire it off-screen and then scroll the screen back when the egg is over his heart.
5-5: I love the beginning of this level -- so any enemies to play with, like in 4-1.
5-6: My new biggest juggling record: 5 eggs. It was incredibly difficult to find the time to spit a Lakitu projectile at the pirahna without interrupting the juggle. Also, boomerang chickens of doom. After the autoscroll, screen scrolling is manipulated just right to jump into a spinning spike platform without taking damage, knocking Yoshi upwards much faster than simply jumping. Unfortunately this all has to happen off screen.
5-7: Running along horizontal-moving platforms gives Yoshi a speed boost. This is employed numerous times during this level, along with more walljumps to skip vertical scrolling platforms.
5-8: More arrow teleporting speeds up an otherwise really slow section. For Raphael, his movement patterns can be manipulated based on when Yoshi crosses certain quadrants on the world, and how he moves inside those quadrants. Running at him and jumping over him at just the right time causes him to start moving sooner, which means wooden posts smashed into his backside even quicker, finishing up world 5 with 9249 frames of total improvement.

6-1: The only way to repeatedly jump backwards without losing speed is to use the inputs left, right, right, left as Yoshi lands.
6-2: Super Baby Mario can walljump much easier than Yoshi due to his increased running speed. Additionally, his parachute can be pulled out for a few frames without losing any speed, letting him hover a bit.
6-3: The spinning logs always eject Yoshi a little bit backwards. Tonguing the wall prevents as much speed loss as possible in the beginning. If there is nothing to tongue, landing on the left-most side of the logs minimizes speed loss. Juggling 4 eggs while running at full speed and dodging fuzzies was quite a challenging feat.
6-4: The second slime boss is avoided altogether by walljumping and fluttering over the stone wall blocking the exit pipe.
6-5: Back in 1-5 I thought 4 was the limit. Through extensive planning of egg-trajectories, a 6-egg juggle was performed for as long as possible until the path forward became too narrow. The autoscroll trigger for the second half of the level is skipped through use of first-frame jumps.
6-6: The key is tongued through the wall by triggering the wall-tongue animation on a first-frame jump. This locks Yoshi's tongue in an outward position without setting his speed to 0 like normal when you tongue a wall. The tongue is then free to travel through the wall and grab the key. At the end of the level (in other words, 10 seconds later), some tricky fluttering allows Yoshi to gain maximal height and skip the rest of what is otherwise a giant level.
6-7: At the area with multiple rotating platforms, stopping to look up is actually faster, as it scrolls the screen more quickly, which spawns the next set of rotating platforms quicker. Yoshi has to wait for the next set anyway, so this actually saves time. The large slow-moving platform section is skipped with some wall-jumping action, and I was really pleased to get a full-speed Triple Baxter at the end of the level.
6-8: Baby Bowser can be ground-pounded faster if Yoshi immediately bounces on his head once he becomes hittable. For the final bowser fight (awesome music, by the way), scrolling the screen by moving left and right manipulates where the eggs spawn. If Bowser is hit quickly enough, the second falling rock animation is skipped altogether. Yoshi plummets off screen with a grand total of 18986 frames improved over Spezzafer's old run.

Future Improvements

As I was learning a lot about the game as the run progressed, there are a lot of improvements that could still be made. Running along platforms to get a speed boost was unknown to me during the first few worlds and only appears later in the run. Additionally, there are a few places where route choices could still be improved, such as using walljumps to avoid the other staircase in 4-4 or a gatehack using an enemy (a trick unknown to me at the time) in 6-7.


Simply put, this run would not exist without the help of the fabulous TASer Nxcy. He both got me into TASing, and helped every step on the way on this run. Whether it was helping me with route planning, or figuring out a tough trick, Nxcy put countless hours into making this run happen and deserves a huge thanks.

Spezzafer is responsible for a lot of the original work that went into this game, and deserves a large amount of thanks as well. His original run was one of the first I watched many years ago, and definitely contributed to my love for Yoshi's Island.

Countless other people helped as well, reviewing strategies and offering suggestions. I'd like to thank Trihex, for many awesome show-off ideas and for his great support; Baxter, for being an all-around awesome TASer; the Japanese speed runners and TASers who have worked on the game; and finally Cleru, Lee, and the rest of the #yoshi crew for feedback, and otherwise being awesome.

sgrunt: Replaced the submission file as requested here.
DarkKobold: Accepting as an improvement to the published run.

Similar submissions (by title and categories where applicable):