Game Objectives

  • Emulator: lsnes rr2-β23
  • Aims for fastest time
  • Takes damage to save time
  • Abuses programming errors
  • Executes arbitrary code

About the TAS

This is a TAS of Super Metroid that uses out-of-bounds glitches and arbitrary code execution to end the game in just over 7 minutes. It improves the currently published TAS of this category by 72 frames. Since this is a relatively small improvement compared to most new Super Metroid TASes, I have listed all of the improvements here in the submission text.
Although I (Taco) created all of the input of this TAS except for the last frame (by Total), I've listed Total and Sniq as coauthors again for the same reason as the currently published TAS: it's because of their hard work that this category is even possible in the first place. Improvements being found in no way diminishes that fact. Plus, some of the ideas that Sniq shared with me along with his thorough explanation of the out-of-bounds section saved 10 frames, and Total totally (heh) saved me when I mistakenly made most of this TAS on Bizhawk instead of lsnes. Oops. >_>

Breakdown of Improvements

Note that "realtime" refers to the overall frame count of the movie and "ingame time" refers to the game's built-in frame counter. Unless otherwise stated, all improvements are in both realtime and ingame time.

Ceres

This submission finishes Ceres 20 realtime frames faster than the published movie, but that is because of a difference in goals; this submission aims for the fastest realtime, but the published movie spends more time on luck manipulation to achieve the best known escape timer. As a result, this can't be considered a true improvement.

Crateria (First Visit)

Landing Site -- One realtime frame. Apparently this occurs during the door transition to the next room. I have no idea why; this game is just weird like that sometimes.
Crateria Mainstreet -- two frames. All recent Super Metroid TASes have fallen down the left side of the old Tourian escape shaft, but with some careful manipulation of Samus's y position, it turns out it is possible to take the right side instead. All of the manipulation required for this to work occurs in the room before the shaft, hence why I've attributed the frames to that room instead.
Old Motherbrain Room -- nine frames. This is because of a trick that I'm calling an "inverse CWJ." A CWJ is essentially a walljump where Samus keeps all of the speed that she had prior to walljumping, and an inverse walljump is a walljump performed by pressing left+right which removes the need for Samus to turn around; this is a combination of those two tricks. This has been used in past TASes in Blue and Green Brinstar, but it turns out there is a way to make it work against all blocks instead of just doors.
Usually, if you try to perform an inverse CWJ, Samus just isn't able to avoid colliding with the block the walljump was performed on. Four frames are required upon entering walljump range of the block: one for Samus to change into her walljump pose, one to walljump, one to unspin, and one to aim down to reduce her hitbox. Apparently, the first of these frames can be avoided by approaching the block while Samus is already in walljump pose. This provides just enough time for Samus to pass the block without losing speed. Unfortunately, the uses for this trick are likely still very limited, but thankfully one has found its way into this TAS. :)

Blue Brinstar

No improvements. Boo.

Crateria (Second Visit)

Old Motherbrain Room -- 3 realtime frames + 1 ingame frame. This is because of a new strategy for killing the space pirates. This saves one frame in the room itself, and then eliminates two lag frames during the transition to the next room. This might be because, in the currently published TAS, the last space pirate doesn't finish exploding before the door is touched.
Old Tourian Escape Shaft -- 7 realtime frames. All of these frames come from a shorter transition back to the next room; 6 because Samus enters with a different pose, and 1 because I kill a space pirate near the top of the room who apparently causes a lag frame otherwise.
Crateria Mainstreet -- 2 realtime frames. These come from improved screen positioning upon entering the save room. 4 ingame frames are lost in the setup.
Out-of-Bounds Madness -- 28 frames. 26 frames come from significantly more optimized out-of-bounds navigation, and two frames because we chose to not save the animals. :'(

Potential Future Improvements

For a complicated game like Super Metroid, there could still be many improvements waiting to be found, but there are three areas in particular that I would recommend taking a look at for anyone who might want to try to improve this TAS.
1. Ceres. I found three different damage boost options that are all equally fast in realtime. It would not surprise me if one can be optimized a little bit more to be faster than the others. In particular, using the same damage boost as in this TAS, it is possible to come within 8192 subpixels (1/8th of a pixel) of saving a frame, but I could not find any way to gain the needed distance. (This is, of course, assuming that I haven't overlooked an even better damage boost option)
2. Blue Brinstar. The door CWJ is extremely close to being obsoleted by an inverse CWJ against the blocks in the next room. I've come within, again, 8192 subpixels of succeeding. This would save one frame if successful. Unfortunately, if this is possible to do, another frame would need to be saved somewhere in Blue Brinstar or it would just be lost to the elevator frame rule. Perhaps reducing door scrolling in the post-missiles climb would be a good place to check.
3. The out-of-bounds section. What a mess! It may be possible to save more time here, but for now I have no ideas.

Nach: Not much to say here. Good improvement. Accepting.
sheela901: Processing...


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15583
Location: 127.0.0.1
Former player
Joined: 6/28/2007
Posts: 67
Hmm, strange that it says the movie begins from dirty sram. We're guessing something may have went wrong during the conversion from .bk2 to .lsmv a few days ago. Regardless of the reason, Total has provided a new file that has hopefully fixed the issue, but is otherwise exactly the same, and I've contacted a judge for replacement. Sorry about that. EDIT: Looks like it's been replaced. Thanks Mothrayas!
Spikestuff
They/Them
Editor, Publisher, Expert player (2643)
Joined: 10/12/2011
Posts: 6438
Location: The land down under.
lsnes brb kil- creating a temp: Link to video
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Joined: 5/8/2010
Posts: 177
Location: Entropy
oh, a new metroid run. I'll wait for a temp encode before I get amazed again.
Active player (264)
Joined: 8/14/2014
Posts: 188
Location: North Kilttown
Total totally (heh) saved me when I mistakenly made most of this TAS on Bizhawk instead of lsnes. Oops. >_>
Maybe this is a dumb question, but why is BizHawk bad in this case? Overall I'm gonna have to wait for a temp.
Somewhat damaged.
Player (41)
Joined: 1/22/2014
Posts: 38
Location: Sweden
TehBerral wrote:
Maybe this is a dumb question, but why is BizHawk bad in this case? Overall I'm gonna have to wait for a temp.
BizHawk doesn't support 16-button SNES controllers that's needed for the Arbitrary Code Execution part where button input is executed as code.
Joined: 5/12/2009
Posts: 748
Location: Brazil
Thanks for the encode, Spikestuff. Amazing work Taco! Can't believe you found a way to make something different in Ceres, even if it is just equally fast, having watched that part of the game for years without significant changes (at least not ones that our eyes can notice) and see something different is really nice. Also the improvement in Crateria looks great. Yes vote!
Player (89)
Joined: 11/14/2005
Posts: 1058
Location: United States
Excellent job Taco. It is amazing how you were able to blow away the notion that the ceres satation/blue binstar areas were maxed out. Crazier still is how you mention that you think further improvement may still be possible. You are an optimization machine. Great run, easy yes vote. I would love to see you take on one of the other Super Metroid categories. I think the any% non-glitched run is in need of some updating :P
They're off to find the hero of the day...
Former player
Joined: 6/28/2007
Posts: 67
Eye Of The Beholder wrote:
Amazing work Taco! Can't believe you found a way to make something different in Ceres, even if it is just equally fast, having watched that part of the game for years without significant changes (at least not ones that our eyes can notice) and see something different is really nice.
This is mostly because of bad steam RNG, to be honest. The same damage boost used in every other Ceres escape is surely still the best, but I wasn't able to get that pattern without losing most/all of the realtime frames that I'd gained up to that point, so I was forced to search for alternatives. This is actually something that I vaguely remember trying back in 2008 or whenever I was trying to crack Saturn's Ceres time, but unfortunately I didn't consider at the time that it might be useful for a realtime-oriented Ceres. :P The main benefit is that it reduces scrolling during the room transition. One of the other options that I mentioned in the submission text is actually equally fast in realtime, but gets an escape timer of 49'13 instead of 49'09. Still, I chose to go with this one because it is - in my opinion - by far the most entertaining option, and realtime is my primary goal anyway.
hero of the day wrote:
I would love to see you take on one of the other Super Metroid categories. I think the any% non-glitched run is in need of some updating :P
;)
Active player (264)
Joined: 8/14/2014
Posts: 188
Location: North Kilttown
total wrote:
BizHawk doesn't support 16-button SNES controllers that's needed for the Arbitrary Code Execution part where button input is executed as code.
Huh, didn't know that (although, I've never done anything that required it). Regardless, this is a really good improvement, and it's good to see Ceres more optimized now - personally, I'd rather see real-time improvement over IGT, so this is much appreciated. It's funny how relatively small the individual improvements are, but they really stand out if you follow the previous TASes and know about the intricate movement the game, and TAS has to offer. Obvious yes vote.
Somewhat damaged.
Joined: 12/7/2005
Posts: 149
Location: Sweden
Killing the animals? You really should add "Abuses death" to the Game Objectives.
nymx
He/Him
Editor, Judge, Expert player (2234)
Joined: 11/14/2014
Posts: 932
Location: South Pole, True Land Down Under
Great job guys. I especially love the new Ceres! You have my yes!
I recently discovered that if you haven't reached a level of frustration with TASing any game, then you haven't done your due diligence. ---- SOYZA: Are you playing a game? NYMX: I'm not playing a game, I'm TASing. SOYZA: Oh...so its not a game...Its for real? ---- Anybody got a Quantum computer I can borrow for 20 minutes? Nevermind...eien's 64 core machine will do. :) ---- BOTing will be the end of all games. --NYMX
Invariel
He/Him
Editor, Site Developer, Player (171)
Joined: 8/11/2011
Posts: 539
Location: Toronto, Ontario
Nice job in Ceres! That was wonderful to watch, and as noted above, noticeably different than previous runs.
I am still the wizard that did it. "On my business card, I am a corporate president. In my mind, I am a game developer. But in my heart, I am a gamer." -- Satoru Iwata <scrimpy> at least I now know where every map, energy and save room in this game is
Skilled player (1444)
Joined: 7/15/2007
Posts: 1468
Location: Sweden
Damn, haven't been able to check up close on emulator yet, where did all the 20 frames in Ceres come from? As far as I remember I did sort of aim for realtime there and only added som door lag in one room to get a better steam patter which I thought saved as much ingame time as I lost realtime. Might be misremembering something. Anyway, the steamboost in Ceres is great, the inverse CWJ is fantastic and the Pirate damageboost in OMBR is super cool. Now do a non-glitched any% run with a crazy new route ;p
Agare Bagare Kopparslagare
Editor
Joined: 11/3/2013
Posts: 506
Save the frames! I feel like, at this point in the game's tool-assisted evolution, real time is a better measure than in-game time. Lag reduction seems like the most significant thing where there might still be room for further optimisation.
Former player
Joined: 6/28/2007
Posts: 67
Cpadolf wrote:
Damn, haven't been able to check up close on emulator yet, where did all the 20 frames in Ceres come from? As far as I remember I did sort of aim for realtime there and only added som door lag in one room to get a better steam patter which I thought saved as much ingame time as I lost realtime. Might be misremembering something.
11 (I think) from the title screen and save selection, and a few more (2-4ish if I remember correctly?) from running into Ridley's room instead of jumping. I just assumed those title screen frames were intentionally missed for steam manipulation since you seem to have gotten them after the reset. The remaining frames must be because of the lag you added.
Skilled player (1444)
Joined: 7/15/2007
Posts: 1468
Location: Sweden
lol, that's a pretty dumb mistake, I guess I hexed in some extra frames to manipulate steam when I did the 100% run, then forgot that I actually had to do that when I did those glitched runs and used the same start without thinking about it. Because I did intend to aim for realtime in those runs. Not fixing the jump through Ridleys door is another bad oversight from the 100% run.
thatguy wrote:
I feel like, at this point in the game's tool-assisted evolution, real time is a better measure than in-game time. Lag reduction seems like the most significant thing where there might still be room for further optimisation.
I think it depends honestly. I still think going for ingame time was the better choice for my 100% run but it's kind of a speed/entertainment tradeoff thing where getting cleaner execution and flow from room to room (generally) and being able to use more varied strategies without being too afraid of added lag was favored over cutting another 30 seconds or whatever on a 70 minute run, and I think the same hold for the RBO run. But for any% runs realtime is definitely the way to go.
Agare Bagare Kopparslagare
Aran_Jaeger
He/Him
Banned User
Joined: 10/29/2014
Posts: 176
Location: Bavaria, Germany
First of all, due to reasons as mentioned above multiple times already, the TAS improvement is worth a clear yes vote. Some notes though on the issue/question about optimization with respect to in-game-time versus the least number of needed frames (i.e. real-time) to beat the game [provided I understood the definitions of both correctly]: So, one probably important difference between optimizing the time that the game shows at the end of itself, compared to the actual number of frames that were needed to get there, is that the in-game-timer in contrast to counting the used frames i) can be manipulated via ACE (arbitrary code execution), as mentioned at at least one of the previous any%glitched TASes, although application of ACE is [potentially depending on where to put the defining line between "major-glitched" and "non-major-glitched" categories] limited to glitched categories ii) can be manipulated to stop during time periods in which the game is played with Samus having 00 Energy-Tank energy (note that there is the Reserve-Energy aswell, independent of that) via Pause Abuse, which Cpadolf mentioned for the lavapit part in the ACE TAS that went to Golden Torizo. Thus, a TAS for either the 100%, RBO or any%non-major-glitched category, provided its goal would be to minimize/optimize in-game-time, would to my knowledge [probably] for large chunks of it consist of Pause Abuse (and gaining energy from time to time to survive events like riding an elevator e.g. using R-Tanks). Of course though, I am aware that one way of "repairing" the issue that in-game-time optimization might (due to this rather new detail of the Pause Abuse quirk and its correlation with the in-game-timer) not be the way to go for a TAS, would be to forbid Pause Abuse in the definition of e.g. the any%non-glitched category, although there might be other ways to stop (or do other things to) the in-game-timer. As Cpadolf mentioned, the entertainment value is also involved since it will likely depend on what type of measured time a TAS tries to optimize. So (being aware that a video of an actual any%non-glitched TAS, if it would involve all frames, might be somewhat boring due to repetitively entering the menu and thus (probably) requiring many more frames in total, compared to a real-time oriented TAS of the same category), I am not against the idea of optimizing game-time if Pause Abuse was applied throught the game (although I would personally prefer minimizing the number of needed frames to beat the game, as a goal), but the only major reason for this would then be that a video that would only show the frames that count towards the in-game-timer is assumed to be funny, since I imagine such a TAS would "jump" from one place to another with Samus disappearing as soon as she reaches the 00 hp level and appearing somewhere else instantly, which could be amusing. Last but not least, I would like to mention the option of optimizing TAS categories for Super Metroid using the (as it seems, technically superior) PAL version instead of NTSC. I know that both versions could in principle be considered being different games and that it is likely that essentially more information and useful material is provided/existing for the NTSC version in general, which makes the optimization process for NTSC (by far) more comfortable, I guess (and I think further technical reasons exist). Nonetheless, although a video of a TAS that optimizes a category in PAL would probably be slower due to "artificial" 50hz-replay-reasons (i.e. the frames being shown with a lower frequency, such that it corresponds to the actual way the game would be seen when playing it), PAL could provide unseen strategies and new interesting solutions to obstacles in the game and it would highly likely be faster in terms of needed frames than an equally optimized TAS for NTSC (of the same category of course). I am getting out of the threads context though. So, sorry about that.
collect, analyse, categorise. "Mathematics - When tool-assisted skills are just not enough" ;) Don't want to be taking up so much space adding to posts, but might be worth mentioning and letting others know for what games 1) already some TAS work has been done (ordered in decreasing amount, relative to a game completion) by me and 2) I am (in decreasing order) planning/considering to TAS them. Those would majorly be SNES games (if not, it will be indicated in the list) I'm focusing on. 1) Spanky's Quest; On the Ball/Cameltry; Musya; Super R-Type; Plok; Sutte Hakkun; The Wizard of Oz; Battletoads Doubledragon; Super Ghouls'n Ghosts; Firepower 2000; Brain Lord; Warios Woods; Super Turrican; The Humans. 2) Secret Command (SEGA); Star Force (NES); Hyperzone; Aladdin; R-Type 3; Power Blade 2 (NES); Super Turrican 2; First Samurai. (last updated: 18.03.2018)
Joined: 11/26/2010
Posts: 454
Location: New York, US
Nice job Taco, Ceres was refreshingly different and the ICWJ and OMBR were really cool!!! Are you planning any other Super Metroid related projects? Obviously a YES Vote!!!
My name is Forensics.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15583
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. ---- [2913] SNES Super Metroid "game end glitch" by Taco, Sniq & total in 07:14.75
Senior Moderator
Joined: 8/4/2005
Posts: 5777
Location: Away
Excellent improvement, Taco. I thought you'd left this game! Glad to see you're still interested in it; that realtime any% needs your love.
Aran Jaeger wrote:
Last but not least, I would like to mention the option of optimizing TAS categories for Super Metroid using the (as it seems, technically superior) PAL version instead of NTSC. I know that both versions could in principle be considered being different games and that it is likely that essentially more information and useful material is provided/existing for the NTSC version in general, which makes the optimization process for NTSC (by far) more comfortable, I guess (and I think further technical reasons exist). Nonetheless, although a video of a TAS that optimizes a category in PAL would probably be slower due to "artificial" 50hz-replay-reasons (i.e. the frames being shown with a lower frequency, such that it corresponds to the actual way the game would be seen when playing it), PAL could provide unseen strategies and new interesting solutions to obstacles in the game and it would highly likely be faster in terms needed frames than an equally optimized TAS for NTSC (of the same category of course).
People have tried. PAL only seems technically superior, but the timing works against players more than it helps. Testing results ended up pretty conclusive that overall PAL is both slower and clunkier. The most complete and optimized test to date is this submission by Saturn where he came to a conclusion that an NTSC run would be around 2.5 minutes faster in in-game time (and then proceeded making a run that ended up almost 3 minutes faster in-game and 5.5 minutes in realtime). PAL version might prove superior for some niche category, but for all the main categories so far there's no substantial argument for that... Area escape routes are close enough in time so that abusing some previously undiscovered area-specific glitch won't gain whole minutes or anything. You need something a lot bigger and PAL-exclusive for it to end up faster. That being said, you look like the person who could potentially come up with something on that level, so I'd be glad if you proved us wrong. :)
Warp wrote:
Edit: I think I understand now: It's my avatar, isn't it? It makes me look angry.
Joined: 5/12/2009
Posts: 748
Location: Brazil
The youtube encode doesn't show Samus when she gets damaged or in elevators, is that ok for a publication encode?
Spikestuff
They/Them
Editor, Publisher, Expert player (2643)
Joined: 10/12/2011
Posts: 6438
Location: The land down under.
Eye Of The Beholder wrote:
The youtube encode doesn't show Samus when she gets damaged or in elevators.
Are you using the flash player and not the html5 player? Cause to me it sounds like you're watching it with the Flash player. I see the flickering when Samus gets hurt or screwing around when using html5.
WebNations/Sabih wrote:
+fsvgm777 never censoring anything.
Disables Comments and Ratings for the YouTube account. Something better for yourself and also others.
Joined: 5/12/2009
Posts: 748
Location: Brazil
Hum... yeah, flash player. I thought it would be a problem with the video, cause when I watched other video of an older TAS I didn't have this problem.
Joined: 7/2/2007
Posts: 3960
There are encoder tricks to make 30Hz flickering still kind of work even in the 30FPS Flash viewer, but the encoder has to take specific steps to do them, so I guess this run's encode didn't have that done.
Pyrel - an open-source rewrite of the Angband roguelike game in Python.