Hello, TASVideos! This is our improvement of 165 frames, or ~2.745 seconds over the
.
We started this run as soon as the previous one came out. Initially, we managed to find only minor improvements. Then, we found some noticeable improvements, including one that was tried without success in the past and a pretty unexpected one that hadn't been thought about before. We suggest that you watch the video before reading past here!
To facilitate visualization, we made a comparison video with ghosts of all the previous runs.
Yoshi's Island 2 (0)
In this level, we've optimized the very ending in order to do the item swap and finish the level one frame sooner. We lost back this frame due to lag, but it is still worth to do this because being one real frame ahead is useful in the next stage.
Yoshi's Island 3 (104)
Here happens the biggest improvement in the whole run. Firstly, due to factors as performing a better corner clip, having the opposite real frame parity and ditching Yoshi further to the right, we could do the first duplication 5 frames sooner. The way turn blocks work in this game is: When a turn block is hit by the first time in a level, it starts spinning and a block sprite, which takes slot 3, is set to it. If you hit more turn blocks before the first stops spinning, they will spin as well and their block sprites will take slot 2, then 1, then 0. When none of the 4 slots is slots available, and you hit a new turn block, the block that is on slot 3 will stop spinning, and the block you just hit will start spinning, taking slot 3. If you keep doing this, then slot 2 will be taken, then 1, then 0, then 3 again. So, it is impossible to 5 blocks to spin at the same time.
What was done in the previous run was to, after duplicating each block, double hit (hitting with Mario and with a item at the same time) 2 blocks quickly, so that 4 sprite blocks are spawned and the block you duplicated stops spinning, so that you can duplicate it again. We did something completely different: we duplicated some blocks upwards in an specific position and order, and then we threw the red shell on them. So, while Mario was hitting blocks around the duplications, the shell was contributing hitting blocks much faster than Mario could do by himself. After many attempts, we could find a sequence of duplications in which Mario almost never needs to wait to duplicate a new block, which saved a lot of time. We also save about 10 frames by going under the wings block instead of going above it after collecting the dragon coin, which allows us to reach Yoshi sooner, and consequently, he can interact with the wings earlier. We also save a frame by releasing the mushroom from the item box, which changes the slot the wings is spawned in and improves Yoshi's interaction with it. Overall, 104 frames are saved.
Yoshi's Island 4 (288)
Here, we perform stun glitch to spawn a Reznor and finish the level!
Initially we manipulated Mario's relative position to the screen by turning left at the right frame, intending to minimize the duration of a screen scroll. So we used the scroll to spawn a floating spike ball, and used it, a fish, and the p-switch to perform the stun glitch. In order to freeze the screen and do the double tongue glitch, we had to take damage, immediately mounting Yoshi again (which is only possible if Mario is big, so that's why we release the mushroom before and collect it immediately). Yoshi's tongue can set to 3 the value of the address $7E:1522, and that's enough to 'kill' Reznor and finish the level. Yoshi is 'vaporized', but since we didn't dismount him, he is back in the next level. The usage of this glich in this level was attempted many times in the past, but it was never useful because it was necessary to save significantly more than 135 frames, because of overworld and YI1 troubles. Since we saved 184 frames, we could apply it to the TAS.
In this level, score was really important. Having any score with an higher sum of the digits would cause extra lag.
Yoshi's Island 4 > Yoshi's Island 1 (153)
We had to do YI4 before YI1 in order to have a Yoshi there. So, we have to walk more in the overworld, losing 135 frames.
Yoshi's Island 1 (139)
Since we didn't have the mushroom in the item box, we had to slow down to double eat a mushroom, losing 13 frames. One frame was also lost in Mario's death frame rule. In comparison to the older TAS, however, that also didn't have the mushroom, we saved 2 frames: one when double eating the mushroom, and other by lateral clipping a block, which boosts Mario forward.
#1 Iggy's Castle (139)
No change.
Donut Plains 1 (139)
No change. We finish this level with an apparently horrible score, but it doesn't cause any extra lag.
Donut Secret 1 (142)
One frame was saved in the first room, by corner boosting downwards. In the second room, we save another frame, by optimizing the shell grab. And in the transition to the overworld, another frame is saved. Again, having a better score wouldn't change anything here.
We could delay the keyhole entrance in 1 frame in order to save 2 frames of lag, which would put us momentarily another frame ahead. However, it would stop us from beating a frame rule in the future, and so, we don't do it.
Donut Secret House (146)
Here, we pick up p-meter in the first room, in order to start the second room flying. Normally, it is impossible to get p-meter in a stair, but since we had flying speed, we got p-meter while Mario was decelerating in the stairs, and when his speed was about to get lower than 35, which is the minimum speed to gain p-meter, Mario reached the plain floor. We had to pass by a specific position in the stairs, otherwise it would push Mario too high, and we would lose p-meter. Overall, this saved 2 frames.
In the second room, we performed an extra corner clip when going back to the door, saving another frame. This was just enough to beat the Big Boo Boss frame rule, which saved 1 more frame.
Score at the ending has a huge sum of the digits, but it doesn't cause any lag. Lag works in a different way in the fadeout of the Big Boo Boss fight.
Star Warp (150)
We beat the Star Warp frame rule, saving 4 frames.
Star World 1 (151)
Since we have the opposite parity of the real frame, we don't need to delay in 1 frame the entrance of this level.
Star World 2 (153)
In the ending of this level, we did the keyhole trick: instead of throwing away the baby Yoshi, we released it close to the key, threw the key in the keyhole, then we grabbed the baby Yoshi again, released it and grabbed the key, which was already in the keyhole hitbox area. This would save one frame, since it allows us to activate the keyhole a bit further to the right. However, it was better to delay in one frame the keyhole entrance and save this way 2 frames of lag, due to the better Mario position.
Star World 3 (161)
We grabbed and threw away a throw block intending to manipulate the slot of the second one. Then, instead of throwing it normally in the key block, we threw it upwards inside a wall, using a glitch that doesn't allow a sprite to interact with a wall if its X speed is to the opposite side. So, we hit the throw block while it is already moving upwards, and it hits the key block 8 frames earlier. Thus, 8 frames are saved in this level.
Star World 4 (161)
No change. Score is this level is absolutely restrict. Any different amount with a higher sum of the digits would cause extra lag.
Front Door (165)
In room 5, we could squeeze under the spikes before, saving one frame; and in the dark room, we sacrifice one real frame avoiding the corner clip, which saved 2 frames of lag, and thus, another frame.
In Bowser's fight, as we entered it with a different real frame parity, he throws the mechakoopas 1 frame earlier. Also, we could fly better in the ending and end input 1 frame earlier. So, overall, 4 frames were saved in this level.