Introduction

In this super happy game Yoshi’s goal is to collect fruit from each level making them happier so in the end they can defeat Baby Bowser and reclaim their super happy tree.
This run is a 1232 frame (about 20.5 seconds) improvement over Comicalflop’s published run.
There is a chance this may desynch due to the nature of Mupen record reset. To reduce the chances of this, deleting the Yoshi’s Story save file (called “Yoshi's Story (U) [!].eep”) or renaming it if you want to keep it may help. Also making a savestate in read-only mode before each reset helps in case it happens to desynch.
Jabo’s 5, 6, and Glide64 v0.7 ME SP8 should all synch, and I’d imagine others that my poor video card doesn’t support would work.
Using Jabo's video 5 or 6 it is possible to finish this 34 frames faster (1266 total) as this .m64 shows (assuming it synchs). Since the only way this game can be reasonably encoded is with glide napalm wx, the frames were needed.
If people are having trouble viewing this, I can upload a .zip with the .m64/.st’s for each stage if requested.
The actual rerecord count is a little greater than 32k for those who care.

Game objectives

  • Emulator used: Mupen 64 rerecording v2 record reset
  • Aims for fastest time
  • Abuses programming errors
  • Uses reset sequences
  • Saves a tree

Tricks used

Speed manipulation

When Yoshi starts walking, its speed increased from 0 until it barely passes the value of 4 for a frame and is then maxed at 4. However, by releasing all left and right input at the correct time (similar to Super Mario World), the value can stay slightly higher than 4 speeding up general movement. During mid-jump, Yoshi’s speed can be maxed out at around 4.229, and when Yoshi falls to the ground and jumps, it maxes at around 4.449. Generally you need to slow Yoshi down a bit (a bit under 4) but this is made back by the added speed.

Licking repeatedly

When Yoshi starts a jump, by licking for 1 frame and then repeating by licking for 1 frame on the next possible frame, Yoshi gains extra height. This can also be used to make him fall a bit slower.

Reusing eggs

When an egg is thrown, there are a few frames that Yoshi can lick it and stop it from exploding. By positioning the eggs so that they break the bubbles by hitting them you can grab an egg just before it explodes and use it again.

Ground-pound tricks

If you ground-pound when Yoshi is just about to hit the ground, he won’t have the dust animation.
An additional trick is by eating a fruit and pounding from higher, the dust animation will still occur (causing things like enemies to turn to fruit) but Yoshi will be able to jump/lick which saves time.

Resets

By resetting right after the score menu, you can skip the following cut scenes since the game conveniently saves.

Memory addresses watched

009B530C: Yoshi’s speed while in levels 1-2 and 4-1.
009B61F4: Yoshi’s speed while in level 2-2
009B491C: Yoshi’s speed while in level 3-1
009B46A0: Yoshi’s speed while in level 5-3
009B5090: Yoshi’s speed while in level 6-3

Stage by stage comments

Pre level 1

-2 Frames (-2 saved total) I chose the grape as the lucky fruit in order to save time in level 6. This cost 2 frames.

Level 1: Surprise!!

+89 frames (87 saved total) A straight forward level; reused an egg several times to save time and in general got Yoshi’s speed higher that the last run. Clipping the top of the spiderball’s line right before the happy fruit looks like it boosts Yoshi slightly. Right before grabbing the last 2 fruit, I had Yoshi duck-walk under the spiderball saving a little time and maintaining speed. Overall I saved 89 frames in this level.

Level 2: Blargg’s Boiler

+101 frames (188 saved total) I’m not really sure how I saved this much time, but Yoshi’s speed was almost always at 4.4x. Didn’t use any noteworthy tricks here.

Level 3: Cloud Cruising

+198 frames (386 saved total) Saved 60 frames getting to the first screen transition from climbing the worm-things faster. Saved 138 in the next room by only ground-pounding once and collecting different fruit that the flyguys were carrying.

Mini-boss: Cloud N Candy

+1 frame (387 saved total) Got Yoshi’s speed higher and got to CnC a bit faster. Destroying this “boss” is always fun though.

Level 4: Jungle Hut

+485 frames (872 saved total) This route was entirely based off of an improvement “hero of the day” found. Instead of the usually entering 2 of the huts, it is possible to get a happy fruit right after exiting the first hut and then you could skip the other hut. Doing this was tricky. I grabbed all the fruit on the way to the first hut besides the apple and the grape for later use. Once inside the first hut, I needed to make an interesting route. Basically, there are 8 shyguys in there that can be turned into grapes, several bananas, and several melons. I had to figure out a combination where I would have all of the bananas/melons and 3 of the grapes with 1 banana/melon remaining so Yoshi could exit the hut with 5 grapes in a row. Another annoying factor was the ground-pound placement. If I ground-pounded in certain area’s, more shyguys than desired would change into fruit, and they often would go to far off screen while I collected other fruit causing them to disappear. After trying several methods, I came up with this and overall this hut was only 49 frames slower than Comicalflop’s run where he could collect the fruit in any order. Collecting the fruit from there was straightforward. Using the egg blast to get to the final few fruit proved slower than just climbing due to waiting time for the egg to get speed. In the end I saved a few more seconds than originally thought.

Level 5: Shyguy Limbo

+91 frames (963 saved total) Improvements in this stage were maintaining higher speed basically. Since this level was rather bland I played around with eggs while jumping for some possible extra entertainment.

Level 6: Ghost Castle

+212 frames (1175 saved total) Most of the time saved here was from a trick in Kagemitsu’s run where collecting 6 grapes allows a happy fruit to appear earlier. Actually collecting fruit after that is the tricky part. It may not look optimal, but I had to wait for the boo’s to be in the correct position and have Yoshi be in the correct position where I could ground-pound all the fruit in 1 go. His position after the ground-pound was also important because going too far to the left would cause some of the fruit to disappear.

Boss: Baby Bowser

+62 frames (1237 saved total) Nothing changed here besides damaging him 1 frame earlier and the explosions hitting him a little earlier
Actually ending this runs input was rather difficult. Using Jabo’s 5 or 6 I was able to end it 1266 frames ahead (for some reason…), but in order for it to become synched for encoding, I had to give up 5 frames from the total saved.
Overall, 1232 frames were saved.

Special Thanks to (in no order):

Kyman – We initially started working on this game together years ago, but never got past the first stage. We learned a lot about Yoshi’s physics including how to jump higher, reuse eggs, and watch Yoshi’s speed. Wouldn’t have made this without that initial step.
Comicalflop – Comicalflop’s any% run was a great help for looking at what I had improved, and where I still needed to improve. There was also the use of a trick I didn’t know of before this run (ground-pounding while eating a fruit trick), so watching his run helped a lot.
Kagemitsu – His older TAS of the Japanese version showed the trick used in level 6 to get a happy fruit early and inspired making this run after I had dropped it several times.
SonicPacker – He taught me how to hex edit .m64 files which is was incredibly useful while making this.
Hero of the day – He suggested when Comicalflop submitted his run that it might be possible to save time in level 4 by getting a happy fruit after clearing the first hut. This was a huge time saver.
Lex – Huge thanks for taking the time to encode this and working with me to find some end of input errors. Means a lot.
Anyone else who provided feedback or looked at wips, thanks!

Baxter: Nice improvement over the published TAS, accepting.
In regards to the 34 faster .m64: it is nice to have it as a reference, but there is no need to replace it. The encode needs to correspond to the input file, and an improvement based on a plugin is not a real improvement.
Nahoc: Processing...