Submission #6063: Sniq's SNES Super Metroid "game end glitch" in 06:42.54

(Link to video)
Super Nintendo Entertainment System
game end glitch
lsnes rr2-β23
24192
60.0988138974405
54317
Unknown
Super Metroid (Japan, USA) (En,Ja).sfc
Submitted by Sniq on 8/2/2018 7:45:14 AM
Submission Comments

Attributes

  • Aims for lowest real time / frame count
  • Takes damage to save time
  • Abuses programming errors
  • Executes arbitrary code
  • Skips all items

New notes

This is an improvement of 497 frames over the previous TAS through the following optimizations:
  • Improved Crateria by 2 frames
  • Improved ACE method by 495 frames

Old New notes (6:50 TAS)

This is an improvement of 903 frames over the previous TAS through the following optimizations:
  • Improved Ceres in-game-time-wise by one frame
  • Improved Green Pirate shaft by 15 frames through better room entry after OoB
  • Improved Lower Mushrooms room by 4 frames with a new d-boost strategy (saves time in 0% conditions)
  • Improved Green Brinstar Doorskip by 885 frames. Discovered a new method to move further backwards per pause (first 8 pauses) during Green Brinstar doorskip, which reduced number of pauses by 5. This was performed by moonwalking on frame 1, switching to forwards on frame 2, holding angle to stop on frame 3. Total distance moved backwards = 53248 subpixels (normal moonwalk = 32768 subpixels)
  • One frame was lost due to collision frame rule during last unpause of Doorskip

Old Notes (7:05 TAS)

Overview

0% has finally landed onto planet Earth after much waiting, and unexpectedly, it crushed all the framecounts Super Metroid had witnessed up to this point!
This is a 231 frame improvement over the currently-published TAS, a TAS which was recently proven not to actually work as intended on original hardware. Not only should this TAS work as intended, but it is also faster and uses less items. What more could you ask for?
This improvement became possible through moonfall's property of uncapping falling speed, thus allowing for Samus to clip straight through the PB floor below Green Brinstar's elevator, along with an ACE method I developed for the OoB area afterward.
Without any items, moonwalking is the only way to move, bit by bit during each pause-unpause, through leftward door transitions towards an OoB area. The only door inside the Green Brinstar elevator room which does not have a solid wall behind it is at the very bottom, thus it is used.
The OoB area contains a useful block which executes code depending on Samus's previous X-axis position (7E0B10), which is what primarily gets abused through my ACE method.
Everything outlined above is explained in greater detail below!

New glitches and techniques

Moonfall

By moonwalking then pressing jump (frame 1: < or > + X, frame 2: A), instead of performing a jump, Samus will perform a turnaround animation right before performing the jump.
This particular jump will not have a value assigned to its vertical direction (7E0B36), causing its Y-speed value to underflow. Normally, Samus's falling speed is capped at ~5 pixels per frame, but by performing this jump, her speed will be uncapped.
Therefore, by performing a moonfall, it is possible to acquire a large amount of falling speed, which can be used to pass through entire tiles. A standard tile is 16 pixels by 16 pixels.

Moonwalk Doorskip

Not only is it possible to pass through doors corresponding to vertical transitions, which happens in the room known as the Parlor (and has been present in the multiple ACE TASes up to this point), it is possible to do the same with doors corresponding to horizontal transitions.
Unfortunately, performing such a skip is not possible with only one pause-unpause. Instead, it has to be performed using multiple pause-unpauses, moving a half-pixel backwards on a single specific frame each time via moonwalk.
The reason these skips work is because there is a specific frame during the unpause fade-in where Samus will not have normal constraints applied, such as those related to her energy (allowing her to survive indefinitely at zero by chaining pauses together appropriately, which was performed in a previous TAS) and room transitions.

Route

Crateria

Right off the bat, things take an interesting turn within the second room of Crateria. Usually, the player would head straight down multiple rooms to acquire Morphing Ball and Missiles, but by using an OoB transition block directly below the room itself, this sequence is skipped.
By performing this skip, Samus is placed at the top of the next room, which luckily contains another handy transition block. This transition block places Samus within a copy of the green pirates' shaft, to the right of the original room, due to her X/Y coordinates at the time of transitioning.
Copies of rooms do not contain enemies (only the original room does), and Samus interacts slightly differently with such rooms. In this case, in order to open the door leading to the next room, the shot has to spawn far enough left for it to register upon the door.
Because of the copy room's properties, Samus is placed one tile above the ground after the transition, so jumping through allows her to land earlier, and also helped adjust the screen position.
Due to lacking Morphing Ball, the optimal strategy involving morphing through the Kago hives is not possible.

Green Brinstar

After arriving here without any items, you might think there cannot possibly be any further progress to be made, but that isn't the case.
By performing a moonfall near the edge of the elevator platform, Samus can perform many turnaround animations to maintain and build additional falling speed, until enough has been built to pass through the PB floor at the bottom of the (first half of the) room.
An additional moonfall is performed after passing through this flooring, weaving through the floating platforms accordingly.
Upon landing at the bottom, I jump towards the door and pause-unpause so that Samus will turn around and land on a specific frame (mentioned earlier, in the moonwalk doorskip explanation) without activating the transition, allowing her to start from a position ~2.5 pixels inside the transition blocks.
From this point, I perform many pause-unpauses along with frame-perfect moonwalks until I have maneuvered Samus outside of the transition blocks and into the OoB area, where the real fun can begin.

ACE method

  • lowest 0F 44 block is touched pixel and subpixel perfectly at X position #$15 to perform a jump in code decided by Samus' X subpixel's contents (buttons from previous frame), which is kept since Crateria(used to create standable garbage ground at correct location)
  • Newly generated standable ground is used to get perfect amount of runspeed, to touch another 0F 44 block with perfect amount of speed, in perfect position, to cause a jump in code depending of buttons pressed previous frame (#$1A) and Samus' lower boundary Y position (#$42) -> $421A (controller registers)
  • This new method caused some pain to prevent the game from crashing after triggering the ending, thus 2 frames were lost to keep the game away from a crash (thanks Total).

Special Thanks

  • Total, Taco, PJBoy and Dan for assisting in the development of ACE methods and disassembling bank 84
  • Aran;Jaeger for leading me into discovering moonfall.

ThunderAxe31: Judging.
ThunderAxe31: Great job once again. Accepting as improvement over the current publication.
Last Edited by adelikat on 10/26/2023 5:17 PM
Page History Latest diff List referrers