Submission #7942: Exonym's SNES Donald Duck no Mahou no Boushi in 17:01.04

Super Nintendo Entertainment System
baseline
(Submitted: Donald Duck no Mahou no Boushi (Japan).sfc unknown)
BizHawk-2.8-win-x64
61363
60.0988138974405
22656
PowerOn
Submitted by Exonym on 1/7/2023 9:01 PM
Submission Comments
This is a 3387 frame improvement to the current publication for Donald Duck no Mahou no Boushi, for the SNES.

Difficulty

As per usual, before getting into the game it is best to explain why the Normal difficulty was selected. Easy mode reduces the number of enemies (including the one that gives us the window washing glitch), so therefore it is ruled out. The differences between normal and hard was strictly boss hp, until I realized that the forest of angles exit was in a different location. Also, the window washing segment would have a few more windows to wash. I didn't feel this was enough to warrant choosing hard (which takes a long time to do I might add), especially since the forest stage can practically be skipped. The only real thing you would get with hard mode is slightly longer boss fights.

Movement

First, let's talk about movement since it turned out to be not as straight forward as once thought. When you run while holding Y you do a fast walk which maxes out at 3 pixels/frame. However, there is a pretty long acceleration period before meeting that speed. It wasn't until about a quarter of the way through the run I realized that releasing the direction for one frame would sometimes reach the speed cap of 3 faster. Normally it takes 2 frames before the game registers that your horizontal speed counter should start increasing. By releasing a frame after pressing R+Y for 2 frames and then pressing it again the next 2 frames, it jumps to the next speed value much quicker. So the input would look like this:
R+YR+Y Y R+YR+Y Y R+YR+Y... etc. This creates some new ways to traverse the stages, since you can effectively turn around and accelerate much quicker than usual.
Next we need to talk about jumping. Though it is a common trope in games to introduce a higher jump if you are moving at max speed, it can easily be missed if you're not paying attention. Because of this, some sections would actually be faster by waiting for a max speed of 3 before jumping.
Pegs increase your horizontal speed to 5 until you touch the ground or let go of the direction you're travelling for 2 frames. You're able to keep your speed bouncing off of enemies too. If you wait a bit longer before jumping off the peg you can get a frame of 34 pixels for one frame. However, you only come off with a speed value of 3 instead of 5, so it's not worth it.
Now we need to talk about slopes. Slopes also increase your speed to 5, but you keep it while running on the ground. If you jump or let go of a direction for even 1 frame your speed drops back to 3. However, there are ways we can abuse this speed a bit more. By using our frame release trick, we trick the game into giving us an early 5 speed from slopes. Additionally, by jumping on the exact frame your speed hits 5, you can maintain that speed in the air until you land on ground again. If you happen to land on another downwards slope in the direction you're going you can use the release trick and then merge onto that slope without losing any speed. That's useful in the snow level, however doing it in one spot there would cause significant lag.
Ceiling corners can also be used to get a slight boost of 4 pixels/frame for a couple of frames generally. However, because we're usually getting slope or peg boosts and/or enemies are in the way, the use is pretty limited. It is used the most in the cave level.

Window Duplication

This needs it's own segment because of a little glitch discovered a while back by Challenger. Basically, when you wash the windows on the top most floor you get pushed by wind generated by the airplane that spawns up there. Because you are not at the exact location of the window when the washing animation ends it generates a new half-washed panel in the air. Because this is not overlapping the original window enough it can be washed without erasing the original window. Using a setup similar to the one that speedrunners have come up with I found there was just enough time to get 4 windows in per cycle up top. Grabbing the windows along the way, it worked out to be a good setup to end with the original windows being washed.

Forest Ground Clip

In this level the entire stage rotates whenever you land on a slope. The slope then becomes your flat walking ground and the rest of the stage is now rotated slightly. It was very late when I noticed there were some jagged points where certain slopes met and I wondered if I could trigger both at the same time. When trying, to my disbelief, donald went straight through the center of it and kept falling. This was the one located about halfway through the stage. Then, I started thinking.. There was a similar pointed slope at the beginning of the stage but it would require a little backtracking. Initial efforts failed until I remembered that these enemies can be bounced off of twice. Taking damage is necessary for this to bypass the thorns. It was enough to get over the tip of the hill and voila, clip achieved. This skips basically the entire forest of angles stage.

Bosses

Bosses in this game do have set patterns, however they are based upon a global timer which pattern you get. I tried to find the quickest pattern and then delayed a few frames as necessary to line back up with the timer. As long as this rule is followed bosses can be resynced very easily. It never costs more than a few frames either, and the patterns you can end up with can be horrible, specifically on the first boss.

Beak attack

By pressing down when you are midair from a jump (cannot be done by just falling off a ledge), you perform a diving beak attack. This does nothing to affect Donald's positioning, all it does is increase damage on the bosses to 4. This is convenient because most bosses hp values are a direct multiple of 4. Regular jump attacks do 3 damage.
There is also a small trick where you can ignore the bounce back from an enemy while performing a beak attack. Basically, if you pause the game the frame that your beak attack would contact an enemy, you fall through the enemy instead of bouncing off. This is literally only used in 1 place late in the run. It also works on bosses, but there isn't really any value in it.
That's about it for the basics of the TAS, now let's get into a stage by stage commentary (I'll use the names of the songs as the stage titles):

Window Washing

As mentioned before, a glitch discovered by Challenger is used to duplicate windows for a much faster stage.

Time Trial

This stage introduces pegs and slopes and is the first real platforming challenge of the run. There is a point near the end of the stage where you can wait on the arrow blocks to change to a rightwards boost, launching you over the final pit. A test of this revealed it is the exact same frame count as the strategy I used. The butter tiles slow you down if you are not moving at slope speed of 5. The enemies in this stage also give you a slight boost of 6pixels/frame for one frame if you land on the furthest right side of them.

Haunted Clockwork

This stage really enforces the use of pegs, and as speed is valuable in speedrunning, this stage works out quite nicely. Falling before reaching a peg allows Donald to grab it a frame sooner than he would otherwise. When gripping a peg from the left side you get pushed 15 pixels to the right before being able to jump from it. Therefore it is beneficial to grab as many pegs as possible as long as you don't have to slow down too much to get it. Strangely, the hanging chains can give you a boost up to 8 pixels for a single frame if you jump just after you pass them, and Donald somehow doesn't grab it which is what the boost is trying to do.

The Magic Hat

This is as straightforward a stage as you can get. The only real optimization here is trying to eliminate that pesky lag. Some lag just wants to stick around no matter what you do though. The rest is just run to the right and avoid the obstacles/enemies.
The boss to this stage has some ugly patterns where he won't reveal himself for a long time. Luckily all the improvements up til now led me to start the boss with the most optimal pattern he could give. Another strategy was to pause the game if he wasn't giving me a good pattern, but that wasted quite a lot of time. He has 20 HP, and therefore requires 5 beak attacks to kill.

Racing in the Snow

This is another race level similar to the time trial at the beginning of the game. There are lots of slopes to give us 5 speed and by using our directional release trick we can preserve it quite a bit. Interestingly, the tops of these pillars also have mini slopes built into them so we can also abuse those to keep our speed a bit longer.

High Up in the Mountains

This is also a unique stage in that you have to activate a certain leaf before the cork shaped platforms will launch you. You need one of these platforms to launch you to the boss, so unfortunately we have to go land on the magical leaf. Take damage near the end so that I can bypass another vulture enemy and reach the platform faster. Other than that, not much to say about this stage.
The boss to this stage is the simplest in the game. Literally time your jumps and he is stunlocked in place and can't do anything. However his initial attack timer is on a global timer just like all the other bosses. This also ended up being in a naturally favorable position.

Crystal Cave

This stage is where we make the most use of the ceiling boost. This game loves to push you out of terrain you're not supposed to be in, so much so that it pushes you out just by jumping into a slanted ceiling. The boulder at the start that I take damage on is required, as you keep your horizontal speed even after taking damage. If you try to jump over the rocks not only do you lose your 5 speed from the slope, but it introduces about 20 extra lag frames for seemingly no reason. Also it is possible at one point to get more of our ceiling corner boost by jumping for longer because the ceiling is slanted, but doing so triggers a boulder hitbox for whatever reason, meaning we can't pass it without taking damage.
The boss here is another cycled boss that gives certain patterns based on global timer. I had to delay starting the crystal cave by 1 frame just to match this, but it is much better than the other cycles it could give so it is worth it. Unfortunately, doing nothing causes the stalactites to appear sooner so there isn't much in the way of playaround you can do while waiting here.

Forest of Angles

As explained earlier in the tricks section, this stage can mostly be skipped. By carefully timing when I take damage I can bypass the thorns and use the enemy to boost up to the angle that I can clip through. It was also necessary to jump as far up or down slopes as possible before landing on them, as rotating them sooner gives you a longer stretch of land to run across.
The boss to this stage is also surprisingly simple. You simply run left to rotate the stage until the boss shows up. The stage is always pushing you left so unfortunately after three hits when he shrinks we have to run left again. When the planet is smaller though we don't have to go out of our way to land on him again.

Flight

Here is our first autoscroller. Surprisingly this one isn't as laggy but if you're not careful with your jumps you can still occasionally get some. There isn't much to play around with in here either, just kill all the enemies and keep moving.

In the Midst of a Storm

This is the second portion of the above autoscroller, only now it's turned into a storm. Nothing else notably changes besides the background. At the end it's faster to fall into the exit before the screen can catch up to it. Luckily the ground still exists down there.

The Castle

This stage starts off with a simple enough room: run right and kill enemies. There are a couple of places to use the ceiling clip boost which gives us 2 pixels each time. Other than that this room has nothing to talk about.

Consuming Fire

In this stage you must jump on colored platforms that teleport you to other platforms of the corresponding color. If you don't do this fast enough there is a large fire coming up from below that will kill you. Used the most optimal route here and skipped a platform used in the previous movie by using the super jump from having 3 speed.
The Boss after the previous stage is yet another cycled boss. This cycle I picked ends up being around 200 frames faster than the one the previous movie used. There is a third cycle which is also about 60 frames slower.

Monstrous Creatures

Here's the second and final autoscroller of the game, and it's decently long. The thing about this one though is that doing almost anything causes lag, especially jumping. If you jump while those giant teeth are coming down you're in for a rough time. I did cost myself about 5 or so lag frames by trying to be entertaining and killing those fish though. But other than that most of the lag is eliminated by being patient before jumps. Also sometimes letting go of your direction for 1 frame while moving magically removes lag. You can also get on top of the mouth by jumping over the side of one of the later ones, but this either causes lag or causes you to take damage when the teeth reach the ceiling.
The boss after this stage is manipulated by either slightly delaying hits or delaying entry to the stage. If you stand too close to him, he will put up a guard and be invincible.

The Castle (2)

This stage is the only stage which has constant wind blowing. Therefore your speed is slightly reduced while it is blowing to the left and slightly increased if it is blowing to the right. I had to slow down in order to not bonk into an enemy after the second peg. It was faster than taking damage on the enemy and preserving the 5 speed. This stage also has the only known use I found for the pause beak cancel trick. Since the wolf in the middle of the stage was taking so long to advance to the right we can cut it a bit short by landing on him and cancelling it to fall through. It has to be late enough that we can not take damage from him as well as his invincibility from the beak attack is super short.
Next up is the final boss: Mighty Pete. He comes in 2 stages. In the first stage (which is quite laggy) you need to hit him from above, so standing on the platforms above him is the ideal way to hit him. The pause beak cancelling trick works to land on the ground faster, however it generates a TON of lag, so much so that it's actually slower by about 4 frames. In the second phase it's faster to move left and right far enough to reach 3 speed. In fact it's so much better we actually have to wait for his invulnerability timer to run out. If we didn't do this also he liked to use his slam attack which knocks projectiles down from the ceiling. This generates a ton of lag so it's best avoided. Other than that, it's a pretty simple boss. The pause beak cancelling trick also does not save time here, as reaching the ground is not what ends the stage, Pete's death animation does.

Thanks and Possible Improvements

And with that you have an improved Donald Duck TAS. Thanks again to Challenger for discovering the window washing trick and to the speedrunners who devised a better window washing technique using this trick.
There are probably improvements somewhere, if I had to guess it would be the bosses. Maybe there are some patterns I didn't discover which are faster. Also, sometimes delaying starting the next stage would sometimes reduce the stage transition lag by a bit. If someone wants to optimize that be my guest.

ThunderAxe31: Claiming for judging.
ThunderAxe31: Accepting as improvement of the current publication.

EZGames69: Processing...
Last Edited by EZGames69 on 2/25/2023 12:38 PM
Page History Latest diff List referrers