(Link to video)

Attributes

  • Collects all items
  • Aims for lowest real time / frame count
  • Forgoes major game breaking glitches
  • Forgoes out of bounds
  • Forgoes memory corruption
  • Abuses minor glitches and exploits
  • Takes damage to save time
  • Manipulates luck

Terminology

  • Energy Tank = E-Tank
  • Super Missile = Super
  • X-Ray Scope = X-Ray
  • Speed Booster = Speed
  • Charge Beam = Charge
  • Plasma Beam = Plasma
  • Mother Brain = MB
  • Continuous Wall Jump = CWJ

Tools Used

Overview

The ultimate TAS of the 2D realm has finally crossed the finish line, incinerating Cpadolf's previous iteration into ashes. The total improvement is 23360 frames, or approximately 6 minutes and 28 seconds in real time, and 3 minutes and 22 seconds in game time. Of those 23360 frames, 4118 were from lag reduction.
With an extremely unconventional route, even more new techniques than before, tons of updated room strategies, and a healthy amount of lag reduction, this TAS aims to outdo my previous works in terms of optimization and entertainment.
A secondary encode is being provided with fixed graphics, thanks to the creation of a LUA script for Bizhawk by PJBoy that alters the VRAM. All Super Metroid TASes created with Bizhawk and Lsnes are compatible with each other.
More specifically, this LUA script automatically:
  • Centers misaligned doors (to prevent permanent graphical issues)
  • Allows graphics to scroll & update while using X-Ray
  • Prevents graphical errors that would occur if Samus moved faster than 16px per frame
  • Follows Samus while she is off-screen (doesn't work yet, but will soon)
Fortunately, VRAM doesn't impact a Super Metroid TAS's ability to sync.

Route Outline

Perhaps only somewhat surprising in the context of 100%, Kraid -> Ridley -> Phantoon -> Draygon was determined to be optimal, with a 'one-trip Norfair' being possible through the assistance of various X-Ray exploits, and Phantoon being handled before Draygon to acquire Gravity Suit, of course.
The route itself was produced in cooperation with EternisedDragon, and as the saying goes, "well begun is half done".
Thanks to moonfall, almost all of the items from Green/Pink Brinstar can be acquired in one pass - the one unfortunate exception being the E-Tank behind Charge (commonly referred to as the "water tank") as it's shielded by many layers of Speed blocks.
All other areas, such as Kraid's Lair, Norfair, Wrecked Ship, and Maridia are completed in one visit, with a brand-new exploit performed to access Maridia immediately after reentry into Red Brinstar.
After Maridia, the aforementioned water tank is collected before sweeping the rest of (blue) Brinstar and Crateria. MB is then promptly dethroned in a lag-free duel to the death.

New Techniques

Grapple Speedkeep

Normally, all dash (run speed) is lost whenever Grapple makes contact with a Grapple block or Grapple-able enemy. However, if you do so on the same frame when the knockback period ends, all dash will be maintained.
With careful maneuvering, it's also possible to land and continue forward movement with this prior dash maintained. (see Post Crocomire Farming Room)

Grapple Supersink

If Samus releases from a grapple swing in a manner that the starting vertical speed exceeds 6 pixels per frame, it becomes uncapped and is allowed to increase forever, similar to moonfall.
If this specific release is combined with a pixel-perfect soft unmorph ("slopekiller"), this speed can be stored while in a crouch pose. From there, turning with either or both angle buttons held will increase the speed further, eventually allowing Samus to sink through objects (16+ speed required). (see Bowling Alley & Aqueduct first visit)

Unused Doors

There are a few rooms in the game which contain unused doors / areas within their boundaries. The Plasma beach is one such area, where a door - which has the same ID as the bottom right door of that room - exists behind the door leading to the Plasma area, effectively serving as a shortcut.

Pausing to release inputs

When the game pauses, it considers all inputs to be released, making it possible to, for example, morph without needing to wait a frame before being able to press down a second time to morph. This was crucial in being able to properly soft morph during the Bowling Grapple supersink. (That's why there's a seemingly unnecessary pause there, but it was definitely necessary!)

Midair-stuck Moonfall

Certain conditions can make Samus seemingly stuck in midair, in one of her midair poses. One method for this is to freeze two enemies with the correct distance between each other, and then jump between them. Now, what happens if you moonfall between those two enemies? Well, it allows a massive amount of vertical speed to be built up without needing any falling distance beneath you.
This was originally going to be applied as part of the means to access Maridia through Red Brinstar, but a faster strategy was found, thus limiting application of this technique to the Green Pirates Shaft before Tourian, using both of the Beetoms.

Phantoon Double Super

If Phantoon is struck with a Super on the same frame he initiates movement after the first Missile volley, he won't enrage.
This trick saved nearly a second compared to the typical single Super fight - albeit still slower than an X-Plasma fight, but this obviously wasn't an option in this run.

Soft Crumbling

Performing a soft unmorph atop a crumble block (to maintain vertical speed) and then performing a frame-perfect morph when the block vanishes can save time in very specific situations. (see West Sand Hole & Blue Brinstar E-Tank Room)

Snailtool

Yards (snails) can consume the same blocks of sand that Shaktool plows through, so a Yard can be directed to tear through part of the sand before Shaktool is able to reach it, allowing a quicker escape.

Continuous CWJs

Normally, all dash is lost as soon as the jump button is released, but if Screw Attack or Space Jump are active, it's possible to perform multiple CWJs in a row without losing dash.

Sand moonturns

By initiating a moonfall right before entering a room filled with sand, Samus will sink at about double the speed during turnaround animations, which makes this much faster than the traditional morph-unmorph-ing.
And finally, all techniques and glitches applied in the Any% TAS from 2018 were also applied in this project. You can read more about those on the submission page of that run.

Improvement Breakdown

Yes, very much improved...
...placeholder

Special Thanks

  • EternisedDragon a.k.a. Aran;Jaeger for helping create this route and for reviewing my progress
  • Cakemaphoneige a.k.a. Cake5 for finding a 3 frame improvement to MB's head manipulation during the stand-up glitch
  • PJBoy for his amazing LUA script
  • Dan for various disassemblies
  • Cpadolf's previous TAS for comparison material
  • Overfiend for being my editor

feos: This run as it is is somewhat easy to judge, it's just an improvement to the existing full completion branch, coming from better routing, optimization, and new tricks. I watched them side by side to confirm this.
However, the thread proves that we're having quite some questions to be answered about Super Metroid TASing and branching in general. Those questions started appearing a few years ago, and since there was no answer that'd satisfy the whole community and get its approval, I'm going to generate it now.

Out of bounds

I watched all the recent "game end glitch" movies using this script that I found on google and tweaked a little bit. Here's what it looks like.
From reading some resources I can conclude that Super Metroid's out-of-bounds area is special if we compare this game to, say, Mega Man, which was brought in the thread a few times. In MM the map is continuous, even if only on the index level, so by leaving one room, you enter another, even if they are not meant to be near each other level design wise. In Super Metroid, a room is what is currently loaded into memory, and leaving its layout bounds brings you nowhere else than garbage area. What this garbage area will be is determined by what layout was previously loaded, and whether or not the current layout loops in memory. So you either enter a copy of the current room, or utter garbage area with garbage blocks, which in turn have a variety of garbage properties, including calling non-existent routines. What routine a block calls upon touching can be manipulated to trigger arbitrary code execution, this is what's happening in the most recent "game end glitch" branches.
Just like with the current Super Metroid trunk (or labelless branch, or no-major-glitches category), some people feel disappointed by what looks like being out of bounds in this submission. Technically the room bounds are never escaped in either movie. What looks like OOB is just scrolling glitches where the camera isn't able to follow the character's movement due to bugs. As a result, it's impossible to know where the character is actually going during such segments, and that damages entertainment.
It's worth mentioning that it would technically be allowed to visit out-of-bounds areas in all SM branches as long as that's not used to fill completion counter via memory corruption and ACE techniques. It just seems to be the most entertaining solution for the NMG branch to avoid OOB along with ACE and memory corruption. Since that branch is unvaultable, we want it to be as entertaining as possible, and the current rule set used in it makes it reasonably entertaining. For full completion, it doesn't even have to be entertaining at all to be published, but that could downgrade the movie to Vault, and the audience doesn't want that. So it's a common agreement that SM 100% should avoid all the techniques SM NMG avoids, while also collecting all items as implied.

Entertainment

Despite of having quite some complaints in the discussion thread for [3653] SNES Super Metroid by Sniq in 35:58.31, that movie's rating is overwhelmingly high. I don't have an explanation for that other than people not caring about ratings once they have expressed their position in the thread. Despite of that rating, all the same complaints are now back and vocal in this submission's discussion.
I could of course rely on the NMG branch ratings and ignore the complaints, just accepting this branch to Stars the same way that other movie was accepted. But firstly, I'd prefer to make sure the audience generally doesn't mind starring this run; secondly, there should be some agreement on how to manage glitch avoidance within SM branches; and thirdly, I can expect some more negative ratings this time, since this subject is seemingly getting more annoying to some viewers.
As I said, I watched this movie side-by-side with cpadolf's work. I tried to match all the similar areas and watch them so that the changes are the most apparent to me. After having read the thread, I expected the second half of the movie to be a complete mess where you can see neither Samus nor the level layout at all. And this expectation was completely false. Aside from very few occasions, it was clear or at least easily deducible where Samus has navigated even during X-Ray dashes. What I didn't like at all though was segments where you can't possibly understand where Samus is at the moment. This is closely tied with scrolling glitches, and it does indeed visually look like out-of-bounds navigation.

No X glitch

The situation around the previous two chapters is that people are confusing major glitches with major skip glitches. Whenever something looks like heavy corruption, it's considered a major glitch, even though we only count glitches as major skip ones if they skip major parts of the movie.
But even though we mostly separate runs with and without major skip glitches, we also can separate runs with and without heavy glitches just fine. Time difference doesn't have to be all that big, but the way gameplay looks without such a glitch is significantly different. Avoiding this glitch also results in a more human-like (although still super-human) look: the action becomes more comprehensible, and as a result, it's far easier to relate to and enjoy. Note how glitch avoidance is called out in the "no X glitch" manner: this is because it avoids glitches that are common among other branches of that game.
Okay so how do we apply this to Super Metroid branches?
It's been said a number of times that having alternative branches for each of the current ones, separated by glitch usage, doesn't make too much sense because of huge content overlap between all the potential resulting branches. For games that have two or three branches, having this difference is mostly fine. It branches either as "major skip glitch" / "no major skip glitch" / "no heavy glitches at all", or as "heavy glitches" / "no heavy glitches". But Super Metroid always has at least 4 branches published together, so any new branch is going to resemble others, and that's especially true if there are 4 fundamental, primary routes, and on top of that there are versions of them without heavy glitches. Adding a "no heavy glitches" alternative to any of the current branches is unfeasible.
Then, banning heavy glitches right in NMG or 100% makes those branches too arbitrary. We don't have enough support in the community for such a step. In addition to that, comparing speed improvements would become a hell, because the line tends to be getting thiner and thiner between visually appealing and distracting heavy glitches, all of which save time, but none of which results in a major skip. So it won't be possible to properly account for this limitation in obsoletion chains.
There's also a point to be made about really insignificant time difference in either scenario.
Anyway, camhack encodes are possible that fix the scrolling glitches. Having low-glitch branches that look exactly like alternative encodes of high-glitch branches is silly.
So as I said in this submission's thread, one's best bet is avoiding all the "bad looking" glitches in a fundamentally unvaultable branch. To be specific, the only current unvaultable branch that would suit for this limitation seems to be "low%".

Attempt to define this esoteric goal

It's worth noting that the ammo underflow glitch that was used in the previous NMG branch, can count as memory corruption. You partially change the logic controlling some address, and what would properly work in proper situation A and in proper situation B, doesn't work right in improper A-B hybrid. resulting on writing to unintended logical address those 2 situations share. But even then, whether we want to define this strictly as memory corruption or not is not that clear: all the X-Ray glitches used in this run and in NMG could arguably fit the same definition, yet they aren't avoided alongside other memory corruption techniques.
Regardless, the undeflow glitch is banned in low%, and I fully agree with this decision, because it avoids route and execution trivialization, resulting in a more entertaining movie. But how do we account for other recently applied techniques that damage entertainment?
In addition to banning the underflow glitch, I suggest banning all the scrolling glitches in the low% category. Sure, in its current form it probably doesn't have them anyway. But after all, it's the only category among the current ones where this approach is still possible (and desired).

Conclusion

Every decision made in this movie makes the most sense, and represents the most solid of the available options. Any tweak theorized by the audience would make it worse, either in terms of entertainment (the majority still likes this run), or in terms of definition solidity.
Even though this movie looks stylistically identical to the NMG branch that is starred and has great ratings, I'd like to see this run's ratings. After all, this movie inherits all the problematic aspects of [3653] SNES Super Metroid by Sniq in 35:58.31. Then there's arguably less difference between this and the current NMG than there was between the previous 100% and previous NMGs. As a result, I'd prefer having a Star related discussion separated, and well after this run gets published and gains enough post-publication feedback.
Otherwise, accepting to obsolete [2436] SNES Super Metroid "100%" by Cpadolf in 1:08:15.74 while going to Moons for now.
Spikestuff: PUB-LISH-ING

Joined: 1/14/2016
Posts: 11
Location: JAPAN
feos wrote:
Looking at your picture, you already know all this, right? :D
Yes. As a necessary method in the process of editing, I gained some knowledge of lsnes lua by repeating the number of errors. :)
I start a text using a translation tool. I peruse and understand movie for illiteracy except Japanese.
Player (181)
Joined: 10/8/2006
Posts: 145
https://i.imgur.com/S0VuEXN.png edit: "Out of Bounds"claims refuted in 2 frames as the in bounds area is updated while samus scrolls into it off screen. (see minimap): https://i.imgur.com/U3oWvVc.png I'm really not understanding the extent to which the tactics employed in this TAS are controversial, but I see it's being published and in the end the semantics of what is and is not a 'major glitch' are fairly arbitrary in light of how exceptional this TAS is. I'm watching this again in .25 speed now and it really highlights the painstaking precision. (and how much time the doors and item acquisition take) edit 2: I just spent THREE HOURS watching this (unfixed graphics) TAS in .25 speed (while 2x FF for doors and 5xFF for items) and I must say that my appreciation of the literal insanity happening near constantly has gone up exponentially. Highest praise possible.
Joined: 5/12/2009
Posts: 748
Location: Brazil
SUPERMETROIDFTP wrote:
The foundation was done.
Great stuff, man! Congrats on the great work!
P.JBoy
Any
Editor
Joined: 3/25/2006
Posts: 850
Location: stuck in Pandora's box HELLPP!!!
P.JBoy wrote:
Spikestuff wrote:
All I know is that I'll be publishing this, much like I've done in the past for SM. Sniq just get in contact with me about when and what is required for the fixed graphics.
The lua script for fixed graphics is here, the script is for BizHawk, so you'll need the equivalent BK2 file. The changes are purely visual and works in real-time, no set-up required. I have a view on letting the camera follow Samus off-screen, I just need to work out some problems involving sprite drawing (or lack thereof), but I wouldn't delay publication to wait for that feature.
And after a lot of hard work, my lua script has unlocked the camera. I'm not planning on working on this script any more, so consider this the final version. Result.
Site Admin, Skilled player (1236)
Joined: 4/17/2010
Posts: 11268
Location: RU
Haven't watched it but AWESOME JOB! Thank you!
Warning: When making decisions, I try to collect as much data as possible before actually deciding. I try to abstract away and see the principles behind real world events and people's opinions. I try to generalize them and turn into something clear and reusable. I hate depending on unpredictable and having to make lottery guesses. Any problem can be solved by systems thinking and acting.
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
P.JBoy wrote:
Result
No sound?
P.JBoy
Any
Editor
Joined: 3/25/2006
Posts: 850
Location: stuck in Pandora's box HELLPP!!!
I had a lot of trouble with video encoding :<
creaothceann
He/Him
Editor
Joined: 4/7/2005
Posts: 1874
Location: Germany
I did an encode: Link to video
Language: Avisynth

AVISource("00a.avi", "00b.avi", "00c.avi") AssumeFPS(60, true) ResampleAudio(48000) AddBorders(0, 8, 0, 8) PointResize(Width * 3, Height * 3) Trim(0, -237600)
Spikestuff
They/Them
Editor, Publisher, Expert player (2292)
Joined: 10/12/2011
Posts: 6337
Location: The land down under.
I don't know why people are reencoding something that's literally about to be published by a publisher soonish. (with a fix version like last time) Edit: Well when: https://youtu.be/YxVveZ_aD_0?t=2402 / https://youtu.be/xa5pH50ALUo?t=2406 Gets fixed that is... which will now happen at a later date. Since I have created an encoded version which is camhack + graphic fix, where appropriate with normal and I rather not push it with the random errors in its current state as I don't want to see questions about someone wondering why the publication was fine as when they run the script they have errors. Basically as much as I have used it and have a script that's complete. I don't want to showcase something that's not 100%. I will wait for this update to the script fixing the problems and any other issues that did go unnoticed.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Player (239)
Joined: 9/27/2018
Posts: 23
Location: Uchiura's Diving Spot
This is absolutely stunning. I need to TAS like this in the future. You deserve a yes for this good run. And I can't stop looking at the rerecords you have. Great job!
I remember 3 years ago when I was new here, and kept PMing people thinking that was the only way to send replies in the discussion forums. Also thought my SCD++ TASes were legit. All 3 of them are flukes. I was an idiot. XD
Joined: 11/26/2010
Posts: 444
Location: New York, US
Wait this isn't up for a STAR? How is that possible when this beats the current 100% by minutes and the current 100% has a STAR? The quality of this run is certainly STAR Worthy.
My name is 4N6/Forensics.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 14877
Location: 127.0.0.1
This movie has been published. The posts before this message apply to the submission, and posts after this message apply to the published movie. ---- [4010] SNES Super Metroid "100%" by Sniq in 1:01:47.03
Tub
Joined: 6/25/2005
Posts: 1377
Bit late to the party, but I still wanted to pop in and thank everyone who contributed tricks and work to this awesome run. And it's cool to see a few other old names pop in again for this occasion *waves* I remember times where we thought that movement in super metroid was fully understood, and all that remained was to compare more route variations and to do better subpixel optimizations. The heap of new techs in this run pleasantly proves that wrong. I didn't expect to ever see a 100% route this smooth, nor a maridia back entrance, but I'm really happy that I did. So here's the obligatory pointless yes vote on a published run.
m00