Submission #8914: Darkman425's NES Super Mario World in 26:34.56

Nintendo Entertainment System
(Submitted: Super Mario World (NES))
baseline
(Submitted: Super Mario World (Unl).nes Chinese)
BizHawk 2.9.1
95831
60.0988138974405
14438
PowerOn
Submitted by Darkman425 on 2/26/2024 11:02 PM
Submission Comments
Oh boy it's Super Mario World as you know it, clearly. Now why in the world would someone just make another Su- hold on a minute I'm being handed a note...

Introduction

Super Mario World NES, also known as Chinese Super Mario World, is an NES bootleg downport of the SNES Super Mario World. This was developed by Hummer Team, which some might also know as the developers of Somari, and published by J.Y. Company. It's an ambitious port that manages to squeeze as much in the game as allowed by the limitations of the system and/or their development environment. It's got a functioning Yoshi!
However, the game's more known for its functional problems. The physics are all weird and wonky if you're familiar with the SNES game. The game is a linear romp with no secret exits and all that fancy stuff. Three whole Koopalings are left out due to technical limitations. Worst of all, one of the late game castles has a crashing issue that can randomly happen depending on inputs. And yet, this is an interesting kusoge that I can't help but respect what it does try. It's mostly not successful but the heart is there.

Run notes

  • Emulator used: BizHawk 2.9.1
    • NESHawk core
  • Doesn't use the level select to jump to the last stage
  • Plays through all non-Yoshi house levels in the game

Mechanics

They're all wonky and dang funny to learn about. I'll try my best to explain them.
Horizontal movement on land
Running on the ground is the fastest movement option available. Jumping tanks horizontal movement so being airborne without cape flight is kept to a minimum to keep moving forward as much as possible.
Cape flight is the only way to have an acceptable horizontal speed in the air, though it's slightly slower than running on the ground if given a long enough path to allow that. For long sections with a lot of jumps that otherwise would be needed, cape flight is the faster method due to not needing to slow down for jumps.
Slopes
This is probably the one part that's the most funny to me.
Slopes work completely the opposite you'd expect. This is definitely a coding error that's kind of in the player's favor. Running up slopes massively increases horizontal walking and running speed. Running down slopes slows down the player to a crawl when running. Generally there are more up slopes that can be used for a speed boost available compared to down slopes that are avoided at all costs.
P-speed
P-speed is built if Left or Right and the B button is held while grounded. There's a few quirks to that which make it weird but helpful.
The P-meter builds up regardless of whether the player is actually moving horizontally at all. This means that running into a wall allows for topping out the P-meter to achieve P-speed for higher jumps and flight takeoff. The animation for using a reserve power-up also allows for building the P-meter without horizontal movement as P-meter isn't locked during that time.
The fastest method for a TAS to build up to P-speed in areas where that's not normally possible is to alternate Left and Right in place as the P-meter builds up all the same. Since this also doesn't scroll the screen, this can be used to reduce lag or manipulate enemy spawns.
Jumping
Interestingly, the game gives three types of jumps. Just pressing A gives a normal jump with a minimum height of a little over 4 blocks that can increased by holding A. Pressing Up and A gives a spin jump with a minimum height of 3 blocks that can also be increased by holding A. Spin jumps can also kill enemies rather than incapacitate them.
This downport adds a third jump. Pressing Down and A gives a low jump that only goes up 1 block and can't be changed. This allows for some situations where the player can be grounded quicker to start running on the ground again for faster speeds compared to being in the air.
Running at full P-speed does give a higher jump without a cape. This jump overrides all the other jump inputs. For some sections that require a jump but not a P-speed jump, releasing the B button for 1 frame prevents the P-speed jump from happening.
Cape flight
This one is definitely weird. The most understandable part is that jumping with a full P-meter while with a cape enters the start of cape flight.
Now I say the start of cape flight for a reason. Simply doing a jump isn't enough to fully enter cape flight. The game requires the A button to be held for a given amount of time while not doing downwards to actually allow for cape flight controls. I will call this counter as a flight meter for convenience. Otherwise, pressing the opposite direction would turn the player around at blazing speeds. The quick turnaround is helpful for avoiding a few obstacles.
If the player bumps into the ceiling, holding A results in a much faster descent to the ground which is helpful for a few niche situations. The player can get back to building the flight meter by landing on an enemy. Sometimes landing on an enemy launches the player in the wrong direction but pressing the correct direction before the flight meter is filled allows for an instant turnaround that negates the knockback direction.
This flight meter actually doesn't reset when landing. It only resets when the proper cape flight state is achieved. This can result in doing low cape flights where the cape flight status can be reached sooner on the next takeoff. This low flight allows for getting cape flight in low ceiling areas for faster movement.
The cape flight is simple. Pressing the direction opposite of the flight regains some vertical height, with the upward movement depending on the time of descent. Generally this gradually loses vertical height over long distances with bouncing off enemies as the only way to gain height again. Bouncing off enemies is unreliable as they are more likely to knock the player backwards with no way to correct it in the cape flight state. The only situation where the vertical position can be maintained easily is by bonking into a ceiling repeatedly as this does maintain max vertical height up to where the ceiling bottom is. Due to the nature of gradually losing height some levels require multiple cape flights to complete is a swift manner.
Small note: holding an item doesn't change any of this which is slightly helpful information for a late game stage.
Goal tapes
Goal tapes extend vertically all the way up and down. The fadeout doesn't start until the player is grounded, so the fastest method of completing a level is to be grounded and running to the goal tape. Items held when toughing the goal tape simply disappear rather than turn into an item. Nice and simple after the cape section.
Horizontal water movement
Now for something less simple. Generally horizontal water movement is very slow but there are a couple of techniques that can very slightly speed up water levels. When grounded, cape spinning then jumping allows for a full height jump rather than a small swim. This isn't faster by itself but for some reason releasing horizontal movement partway into the jump results in a burst of speed that can slightly speed up horizontal movement in a water level. This burst of speed can be negated by bonking into a ceiling so this is a situational boost that is nonetheless used in both water levels.
Swimming up from the bottom of the screen next to the death plane also gives a small boost of horizontal speed every time it's performed. This is only available in the first water level but it's exploited whenever possible. In that same level there is some terrain where it's possible to swim under. Some of the terrain ejects the player left so not all of it can be swam under.
Doors
The player can only enter doors when horizontal movement is exactly zero. Pressing in the opposite direction actually doesn't help in this case as generally it just changes the direction of the momentum away from the door. Thus releasing Left or Right has done a fair bit in advance depending on the momentum to enter the doors quickly. Cape spinning does slow down the player faster but just stopping momentum is generally faster.

Possible improvements

  • Unfortunately due to following the RTA records a bit too closely and realizing too deep into the TAS, this ended up with an extra fire flower in the end. The time to grab the fire flower is definitely slower than using the extra fire flower to stop in front of Bowser's door. At least this is the only SMW TAS that brings a fire flower to the Bowser fight. I could go back several levels to fix that but...
  • ...lag, and lots of it. There's just tons of lag that's also inconsistent. I ran into a few cases where implementing a small frame improvement would get slowly eaten into just from the different generation of lag. For the most part I just dealt with what I had but anyone who's a big lag optimizer could probably save a very large amount of time here and there.
  • Since I think I'm the first one to actually sit down and TAS all of the levels of this downport, there might be some movement optimizations I simply missed.

ThunderAxe31: Claiming for judging.
ThunderAxe31: This movie properly beats all levels, and is more than enough optimized. Accepting for publication.

despoa: Processing...
Last Edited by despoa on 3/8/2024 6:44 AM
Page History Latest diff List referrers