Submission #9015: Αsumeh's NES Air 2 in 06:10.06

(Link to video)
Nintendo Entertainment System
Air 2
FCEUX 2.6.5
22240
60.0988138974405
5334
PowerOn
Air 2 (SMB1 Hack).nes
Submitted by Αsumeh on 4/15/2024 9:34:43 PM
Submission Comments
NOTE: To play this run from start to finish, download the following IPS patch and patch it onto a JU PRG0 ROM of Super Mario Bros.
You will be downloading an lzh file that you will need to convert to a compressed ZIP file. That file should contain the IPS patch.
Air 2 is a Super Mario Bros. ROM hack created by U1 in 2003, and is the second of the Air series. In the series, Mario must save the angelic damsel who went to "-Air-". Besides all hidden blocks being marked, Air 2 is much harder than the first Air because it removes the infinite jump cheat from the prequel, with the level design being changed in a few places to account for the former. Emulator tools and glitches are required to complete the trial-and-error platform puzzle hack.
You may want to read more about the original hack series here. I cannot create a fully coherent summary of it in English, and I am not knowledge enough in Japanese, so someone who is may have a better understanding.

History of Air 2 runs

Here is the information that I could gather going through the archives of Air 2 submissions here at TASVideos.org. Please feel free to critique me on my research, even if some of it feels unnecessary.
  • In January 2008, mushroom submitted his run of Air 2, which received mixed reviews. Some users praised it for being more entertaining than the first, and some users reacted negatively because it skipped portions of the run.
  • He cancelled and resubmitted shortly after, however, acknowledging the part about keeping Mario more "in-bounds" throughout the hack. Feedback was still mixed but appeared to be more positive this time around, even with some preferring the original Air over its sequel. mushroom's run ended up being published due to the majority at the time preferring Air 2 over its prequel, obsoleting the run of the original Air.
  • In April 2008, HappyLee stepped in and submitted his run, clearly aiming for speed this time around, though it was received negatively because it underwent many shortcuts that mushroom's run deliberately avoided; therefore, it got rejected for not being entertaining as a result. No further submissions of Air 2 had been made ever since.
    Something else I'd like to point out: HappyLee's well-received Hard Relay Mario run was published in July 2014, obsoleting the Air 2 run due to its massive buff in difficulty. I would later (around 2022?) find that the run would be its separate thing, and the Air 2 run would remain un-obsoleted.
So how did I get around to TASing the hack later?
Well... If I remember correctly, I was browsing around the SMB Speedrunning Discord server when I happened to notice that periwinkle made a "rough draft" of his Air 2 run, beating HappyLee's run by ten seconds. Routes for a couple of levels have changed significantly (e.g. Air 2-1 and Air 4-3), while others were merely optimized to the fullest. I was impressed, but I still felt there were spots in some levels that could be optimized even further, so I set out to do that.
  • My first run was made a year after his (October 2023), and it was already 33 frames faster, complete with entertainment. I later improved it further in February 2024 due to a new route I discovered in Air 1-2, to which I improved even further two months later; this improvement would later grow to 131 frames saved over periwinkle's run and end up being the run of this hack that I would submit here.
  • I was pretty skeptical about submitting this run, but despoa made the suggestion that I do so, stating that the new rules allow for it to be published. I guess then no reason why not.

Techniques worth mentioning

If there is a hidden block on the left side of a normal block, Mario can simply pass through it; as long as he is not more than halfway into the block, he can move left and right. Further in and he will be pushed back if standing.
In the case with Big Mario's head being in the hidden block, ducking will eject him to the left.
Keep in mind that Mario will be stopped if he is jumping when he's halfway in the block.
If I recall correctly, hitboxes occur every other frame. So, that would mean with enough falling speed (positive Y speed) and if the Piranha Plant is low enough, Mario can clip slightly into the enemy and still be able to enter the pipe or jump off to advance faster.
While it amusingly and painfully hurts (in real-time), jumping from top to bottom in the flagpole will not trigger the victory routine for flagpole-based levels (Mario walks forward and does not stop until he touches a block), and will otherwise function like a vine until he moves to the side.
The camera will also not scroll unless Mario is close to the ground; any higher than half a block above it and he cannot proceed any further.
If Big Mario's head is in a one-tile-wide ceiling, he can jump out of it with a running jump (X speed of 25 or higher).
As long as Mario is still jumping the frame after he lands on the ground (and without any additional inputs), he will retain his Y speed acceleration/deceleration, meaning he can still perform running jumps while not moving horizontally.
Pressing Left + Right on certain climbable objects will allow for Mario to warp near the right of the screen. Also known as the "vine-warp glitch".
While lowering the flag on the flagpole, if Mario is pushed to the left or he is in a hidden block, he will fall normally and will not lower the flag until he touches it again. Worst case scenario is he remains in the hidden block (if it happens to be one block above the flagpole base) or if he is pushed back too far to the left, both resulting in a softlock.
After touching the flagpole and moving forward to the right, the in-game timer will not drain unless Mario touches a block to his side (the right edge of the screen does not count) and there is a castle structure and sprite present.
The more castles appearing, the faster the in-game timer drains. The transition to the next level is also faster, temporarily ignoring the 21 frame rule.
Y speed acceleration/deceleration is affected by the X speed Mario jumps with. It is the fastest after a running jump (X speed of 25 or higher) and the slowest after a walking jump (X speed between 16 and 24), and this affects how quickly Mario falls or rises.
If there is a flagpole sprite on-screen, hitting an item block will despawn that sprite. Similarly, if an item is on-screen and the flagpole appears, the item will disappear.
Scale Lift platforms cannot be interacted with if there is only one of them present.
Upon first appearing in a level or any of its areas, Y speed acceleration/deceleration is drastically lowered to the point where Mario is experiencing low gravity. It is immediately fixed if Mario jumps.
Mario can zip through low-enough ceilings by jumping off of Springboards.
If an item/enemy is under a brick block or ? block and is hit from under, that block will no longer become solid, allowing Mario to jump through it.
You can spawn Bowser on different frames to manipulate his pattern (specifically where he will stand when first appearing and/or how many hammers he throws).
Duck-jumping to where the HUD is can minimize the lag produced in areas with heavy sprite usage.
If Big/Fire Mario is standing in a wall and is damaged by an enemy, he will be moved to the right during his shrinking animation.
After grabbing a flagpole, Mario can still fall off-screen and let the camera continue scrolling in the same level, albeit very slowly. A couple of minutes after the timer drains (if it did), the camera will scroll normally again, and the game can move on to the next level. This is usually avoided in a TAS since, obviously, it wastes lots of time.
If the timer did not drain before all of this happens, then it's another guaranteed softlock.

Level-by-level comments

This run takes tons of shortcuts compared to mushroom's run, so you may want to take note of that.

Air 1-1

Nothing special here.
Midway through the level, I clip over the ceiling and dash towards the flagpole. Then, I make it over and through, then delay a bit to avoid fireworks (the earliest I could finish the level was 463 in-game seconds remaining).
I could not find any faster routes; I tried the flagpole glitch (FPG), the right-to-left screen warp glitch, and scrolling the furthest to the right then touching the flagpole, but they resulted in being slower.
No framerules saved or lost.

Air 1-2

I originally played similarly to periwinkle's run again, but then I discovered a new route for this level. Here's how it went down: Instead of clipping right away, I dove straight down and ran for the sole ? block at the bottom. Then I hit it and clipped slightly into it while hitting the hidden block right above it, allowing for me to collect the Super Mushroom the instant it appears. Because I was slightly peeking out of the ? block as well, I was able to clip through the structure and continue like normal. Better yet, I didn't have to wait for fireworks (the earliest I could finish the level was 465 in-game seconds remaining).
When first executing the new route, I was able to save two framerules (42 frames; each framerule is 21 frames) by clipping it with a running jump. Then, I found out it was possible to clip through while slightly higher up than usual without having to cover as much distance, saving another framerule. Therefore, this saves three framerules, or 63 frames.

Air 1-3

First room

- For the beginning of the level, I make it over and run across. Later on, I clip past the ceiling and run over the course again. At the end of this room, I catch the walljump pixel and enter the reverse L pipe. There's not much else to explain about this route.

Second room

- I immediately veer for the ropes on the left and perform the vine-warp glitch. I make my way forward and clip through the next wall, then duck-jump across the empty space. Everything else afterward is straightforward (I make it across the rest of the area, then navigate through the bridge via a hidden block).

Third room

- Nothing special from here, as I simply bounce around a bit and enter one of the pipes in the "Gate of Air".
I clip past the ceiling in the first room of Air 1-3 faster, and I avoid going over in the second room to fall faster, saving 21 frames.

Air 2-1

First room

- Same as 1-3 in that I clip past the one-block-high ceiling and run across, skipping a portion of the level. Right where the first warp pipe appears, I clip back in the level and enter it.

Second room

- Here, I land, then perform the "duck-jump clip" to get out of this chamber and continue forward.
- I struggled at the end of this room, however. The fastest optimal route going forward was supposed to involve manipulating X subpixels in order to not miss the gap after touching the flagpole. It was nearly impossible for me to do so, and I tried all I could; I eventually gave up and decided to do a walking jump to grab the flagpole, which lowered the gravity, allowing me to proceed.
- This does not save any framerules, nor does it lose any. I was already slightly ahead in the first room, so I got a little cushion there.

Air 2-2

This is simply running for the pipes in the next screen and duck-jumping until I get to the left pipe and warp down it.
I can't go any faster, so I decided to enter at the last possible frame without losing that framerule.

Air 3-1

Perhaps this one was an oversight from U1 (assuming the intended solution was to enter this level as Big Mario), but once again, you can simply jump through the ceiling and run across the level like normal. Before proceeding to the next level, however, you need to be Small Mario, which requires getting hit. Continuing forward with the end flagpole (there is another flagpole in the middle of the level, but with no castle), you need to hit the hidden block next to it before touching it to cross safely. The Springboard will only have you jump past the castle.
That's what happens here, except I needed to wait again to prevent fireworks (the earliest I could finish the level was 663 in-game seconds remaining), so I decided to show off what would happen when pressing Left + Right, jumping, then touching the rope (which resulted in Mario getting sucked inside the rope).
No framerules saved or lost.

Air 3-2

This level is the same as every other run of Air thus far, as it is an auto-walk level, and you can do nothing about it but wait and watch in mere silence (some say it's Mario "sleepwalking"). This is also the only level with multiple castles.
There are many small gaps that Mario will be weaving into, therefore being impossible to continue as Big Mario.
Useless fact: trying to replay this level in hard mode ("2nd quest") will result in a softlock because of the shortened platform that appears halfway in, and auto-walking Mario cannot touch it to move down.

Air 3-3

After a hot minute of watching Mario sleepwalk through that last level, it's time for more action! Here, I make my way down the beginning tunnel and jump up to where the first of the two Scale Lift platforms are. Then, I jump and land low enough to clip through the wall while the platform pushes me forward. It's once again straightforward from here.
At the end is the final warp zone (or "Gate of Air") that I can use. After getting the text to appear, I veer left and aim for the left pipe, which takes me to Air 4-1. The middle pipe takes me back to Air 3-1.
This improved clip allows me to save the next framerule over the usual wall clip without the platform.

Air 4-1

The majority of this level requires that Mario does not jump at all, instead relying on low gravity to make it across.
The optimal route here, surprisingly enough, is just that; just make it across the level with minimal slowdowns (just one required to manipulate the subpixel for an optimal bounce on the first Paratroopa; the ceiling is too low to make even a single jump) and with no ground jumps. On the Springboards, big jumps (press A once on them) are faster than just normal jumps.
No framerules saved or lost.

Air 4-2

I manipulate my subpixel, then make my way to the Springboard at full throttle. The minor slowdown was so I could land on the right edge of the Springboard, allowing for me to zip past the ceiling and land on the top of the reverse L pipe without slowing down. I then make my way over the rest of the level.
At the end, I hit the top hidden block and quickly jump on it, allowing for the flagpole to be grabbed safely. I got the walljump pixel as a result, but it didn't make things any worse.
Just to add a little spice, I also slowed down a bit near the end to collect an extra coin; this didn't slow me down enough to lose a framerule.
This improved Springboard jump helped me save another framerule, for a total of six framerules (or 126 frames) saved throughout.

Air 4-3

First room

- The beginning is simple but a bit difficult to optimize; I hit the ? block to reveal a Super Mushroom, I wait for the Mushroom to make its way over the hidden block, and I hit the hidden block to make it through.
- After that is simple straightforward progress, with the exception that I need to hop twice on the upcoming platform (if I just ran on it, the jump won't allow me to clear the gap that comes afterward).
- Finally, I go over the last structure for this room. Now, how do we enter the sideways pipe inside? Fear not, because I wait for the bottom firebar to make its way around. Then, I run and clip slightly into the block and let the firebar hit me at the same time. This allows for Mario to be pushed to the right, thus glitching Mario into the structure and able to progress.

Second room

- Nothing special from here. This final room has an axe.
My first run had to delay 17 frames to get the optimal Bowser pattern, but once I found the new route for Air 1-2 in the second run, the delay shrunk to 5 frames. After improving 1-2 further, I've successfully negated the required delay. In return (with some tweaking), I was able to finish this level five frames faster.

Obsolete? New branch? Reject?

Again, since HappyLee's run of the hack was rejected for aiming for speed (thus being less entertaining) and that mushroom's only published run has always been implied to not aim for the fastest completion, I felt it'd be safe to not make a submission for this. Whoever is judging this, however, they can prove me wrong; I'll let them decide: Should my run obsolete mushroom's run? Should it be published under a new branch/category separate from mushroom's run? Or is it less than satisfactory enough to be rejected?
Either way, at least I know it was worth a try. But regardless, I hope you enjoy the run.

Suggested screenshots


581, at Air 1-1

2219, at Air 1-2

4946, at Air 1-3

7936, at Air 2-1

10503, at Air 3-1

16516, at Air 3-3

19323, at Air 4-2

21856, at Air 4-3
Last Edited by Αsumeh on 4/22/2024 1:13 AM
Page History Latest diff List referrers