This is NES Metroid with 100% item collection, an improvement of 8:16 compared to Zoizite's 2004 run. The faster time was obtained by use of up-A resets, a new route, and extensive refinements of platforming and boss-fighting techniques.

Goals

  • Collects all items, defeats all bosses (100%)
  • As fast as possible
  • Samus stays suited until the ending
  • Emulator: FCEU 0.98.16 -- converted to FCEUX

Intro

The existing run, one of the last Famtasia runs on the site, was Zoizite's impressive 1st submission and has weathered numerous improvement attempts since 2004. Common laments included lag, difficulty in luck manipulation and the game's maddening tendency to give or take chunks of frames without any apparent pattern, making it very difficult to determine what "frame perfect" is for a particular strategy.
I did some preliminary testing for this run in early 2008, while working on the Any% run. That 8 minute run took me about three months of steady work; I therefore pretty much despaired in even thinking of doing a 30+ minute run of the same game. Also, at the time adelikat and mmbossman were working on it, and had a well-optimized wip up to the Ice Beam.
Over time, though, as I worked on other projects, I couldn't help looking at Zebes' maps and testing all sorts of crazy shortcuts. Earlier this year, adelikat & mmbossman's efforts had stalled, and they agreed to let me have a go.
With all the months of planning and testing, the run moved along pretty quickly once I got started in earnest. Optimizing Samus' movements is very complex and can be tedious, but with experience it does get easier, and the huge variety of terrain, enemies, and Samus' ever-increasing powers kept it interesting right up to the end.
To avoid endless explanation, a lot of the tricks of the game are already described at the Metroid Tricks Page and the Metroid Any% run.

The Route

The two biggest changes are the use of resets and getting the Long Beam much earlier. The previous run left the Long Beam for last, as this is the only way to grab it without detouring. However, after getting the Varia, it is possible to reset and get the Long Beam with a net time loss of only about 10 seconds. Having the Long Beam ends up saving time due to the ability to shoot distant blocks (especially with the Wave Beam) to avoid the delay of bombing them, and also allows countless time-saving and entertaining tricks (e.g. firing the Wave Beam ahead of a bug so it chases the beam across the screen before overtaking it and blowing itself up).
Given the use of resets, the previous run being done in (no frame advance) Famtasia, and the different route, precise quantification of time savings is difficult. As a guess, I'd say using resets saved about 5-6 minutes, with the rest coming from better optimization and new shortcuts.
To assist in viewing, here's a map of the route used and brief summary. More detailed comments for each part follow:
Within each area, I change colors after a reset. Note that the Kraid route is slightly incorrect; I omit the reset after the e-tank.
Start in Brinstar
Morph BallAllows transformation to ball
Ice Beam (Brinstar)Can freeze enemies
BombsCan blow stuff up!
VariaCuts damage in half; Samus' suit becomes white
Long BeamShots with unlimited range
To Norfair
Wave BeamPowerful beam which zig-zags; disables Ice Beam
High JumpDuh.
Screw AttackCan kill enemies with running jump
Ridley's LairMini-boss: receive 75 missiles for defeating
Ice Beam (Norfair)Can freeze enemies again; disables Wave
Back To Brinstar
Kraid's LairMini-boss: receive 75 missiles for defeating
TourianBridge unlocked by defeating Mini-bosses
Mother BrainFinal boss

Brinstar 1

Morrison found a new way to blast the 2 diving enemies on the 3rd screen (before the 1st big vertical corridor) which saved about 10 frames. Samus' movements at the end of this screen are done very precisely to both save time and manipulate a crawler's behavior on the next screen.
I sacrifice <5 frames to run out and taunt the flying creature above the Ice Beam, then kill it for missiles while performing the door glitch. It should be noted that up to the Ice Beam, insane effort must be taken to manipulate/conserve both missiles and life. Afterwards, resource management eases up considerably.
In the vertical corridor after the bombs, I use some lucky timing to jump on creatures to climb in a place where Zoizite used a double-bomb jump, saving about 2s.
En route to Varia I also save time by laying bombs at the earliest horizontal point possible, so when the bomb gives a boost, Samus travels diagonally, rather than straight up in most cases. Also first seen here is the "bug jump" (see below).
On the horizontal screen just before the Norfair elevator, I take advantage of a glitch to freeze an offscreen crawler before it's fully initialized, causing it to appear as a (taller, and therefore shootable) diving creature. This same glitch is used (less noticeably) elsewhere in the run, as well as to give a height boost in getting the last energy tank (in Brinstar after defeating Kraid).

Norfair

The largest area, with the most collectibles; this part required the most planning and testing. I get the Wave Beam first because it is useful to shoot blocks that Samus would otherwise have to bomb in tunnels (each shot block saves about 1s).
After getting the 1st 2 missiles, I use a door-glitch shortcut (originally found by SpiderWaffle) to save a bunch of time getting to the bottom left area of Norfair. This door-glitch (and a similar short-cut taken just before Ridley's area) saves time by setting the screen up such that, when Samus re-synchs with the screen, she has no floor below her, so she falls to the screen below. Failing to do this would add about 10s as Samus would have to morph-unmorph all the way to the top of the screen again.
After getting the next 2 missiles, I use a trick to save time getting back up. There's a ceiling overhead with 2 shootable blocks. It's too high to shoot both blocks and jump without a (time consuming) double bomb jump. Waiting for the bottom block to reappear would be even slower. So, using the wave beam to miss the bottom block but shoot the top one(s), Samus then morph-jumps through the bottom block and uses it to make the rest of the jump. This technique is used a few times in the run, and saves about 2s each time.
After the wave beam, I use a similar morph-jump technique to get through a floor which Zoizite's run had to go around. Since any single-thickness wall can be morph-jumped, this is used repeatedly. Note, Zoizite's run did use morph-jumps to get through floors, just not as extensively.
There are several screens with the sea-horse creatures that shoot fire; the sea-horses cause HUGE lag, so I frequently take bizarre routes on these screens (going into lava, etc) to minimize it.
Before the Norfair e-tank, I save 1s by timing a bug to hit Samus at just the right time, eliminating the need to bomb boost up 1 block. Just afterwards, I use another long door glitch to fall out of the ceiling below, saving 18s vs the route used in Zoizite's run. After dropping into the (horizontal) room below, the game is still scrolling vertically; to go left, I take advantage of the door at the right side of the screen; going offscreen to the left wraps Samus around to hit the right side door's trigger from the wrong side, thus scrolling left and correctly flipping the game scroller back to horizontal.

Ridley's Lair

With the Wave Beam and Screw Attack, Samus is a bug killing machine! It's worth mentioning that it might be possible to glitch from the vertical corridor next to Ridley down to the bottom missile; after hours and hours of testing and getting sooooo ridiculously close, I gave up. If anyone finds a way to do this, PM me, I owe you a cookie and perhaps some milk.
I won't spoil the Ridley fight except to say it's my favorite part of the run and I was ecstatic to make the fight both faster and a bit funny. :) Oh, and the little morph-hops I do during the fight are to get the right sub-pixel position so the morph-jump up to the door is possible (without a bomb boost).
Incidentally, Ridley has 140 hp to Kraid's 96. A missile takes 4hp, any beam does 1hp. Incorrectly remembering Ridley's hp as 128, and incorrectly assuming the Wave Beam would do double damage on bosses (as it does on normal enemies) left me short of missiles the first time I fought Ridley, resulting in my having to redo most of his lair to manipulate more missile drops. Fortunately, after getting the 75 missiles for killing Ridley, missiles are never again a concern.

Norfair, take 2

I'll just note that on the long horizontal screen leading to the last two missiles, I intentionally let a bug fly ahead of the screen for like 30 seconds before Samus finally freezes and screws (as in Screw Attack) it. It thought it could escape!

Kraid's Lair

Pretty much the same techniques here; time is notably saved by using enemies to boost into tunnels (rather than bombs) or optimizing the bomb placement, and a different route to the e-tank (Zoizite's run gets it from above).
The Kraid fight is fairly conventional; alternating beam-missile allows 5hp damage every 8 frames for a very quick fight. Taking damage is done intentionally to reduce lag. The e-tank is grabbed quicker by using the (lower) left side ledge to drop down from. Why didn't Zoizite's run do so when it's so obvious? Actually, unless you get the vertical sub-pixel within a very narrow range, Samus will inexplicably drop past the tunnel into the lava. I do some morph hopping and take advantage of damage boosts to get the sub-pixel correct.

Brinstar to Tourian

As mentioned above, I use a glitch to freeze a crawler so it shows up as a diving creature, allowing me to quickly get to the e-tank. In the statue room, I use a bomb boost to get onto the bridge faster.

Tourian

I managed to save time compared to the Any% on every screen except one; I did lose 3 frames on the zig-zag screen due to bad luck with the rings placement that I was unable to elude. Savings come from morph-hops to minimize scrolling on doors, better falling, and being able to take damage to reduce lag. Where possible without losing time, I bounce the Metroids around with screw attack rather than freezing them right away.
Better planning and damage boosts saves almost a second on the Zebetites compared to the Any%. Alas, the Mother Brain battle is about 6 frames slower due to the nearly perfect luck I had with ring placement in the Any%. However, overall, the screen is still faster.
After Mother Brain is killed I go to the top of the screen and show how Samus can morph-jump through the ceiling and come out in the lava underneath. This was the only place I could stick this trick without losing time, so I put it here.

Tricks and Glitches

I try to limit this discussion to techniques not used in other runs or described elsewhere.

Movement Mechanics

Samus moves at different speeds when running (1.5px/f), doing a running jump (1.125px/f), and doing a standing jump (1px/f). Running off a ledge maintains running speed. Doing a "morph hop" (see below), Samus can fall and accelerate to running speed. A damage boost from standing/running lets Samus move at running speed; a damage boost from a running jump will not make Samus move faster. Samus does take several frames to accelerate to full speed, so stop/start, including morphing/unmorphing, also slows her down. Those are the basics, and they underly tactical decisions on just about every screen; briefly:
  • avoid jumping
  • avoid stopping
  • it sounds so simple...

Damage "Boosting"

Unlike other games, taking damage in Metroid does not move Samus faster than she can normally go. However, it can be useful because when Samus takes damage, acceleration from a standstill is instantaneous (saves ~4 frames), taking damage can often allow Samus to avoid jumping or bomb-boosting, and lag is often lessened during Samus' invincibility period.

The Morph Hop

A quick morph-unmorph (down then up) will cause Samus to do a tiny jump. This hop is used to jump onto half-block ledges (less time in the air = faster) and often before falling down a vertical shaft to start vertical acceleration sooner.

The Bug Jump

When Samus needs to clear a pit where a bug is coming out of, it is faster to freeze the bug and jump onto it rather than kill the bug and jump over the pit. This is because landing on the bug cuts Samus' jumping time by more than half, saving about 10 frames. Running off an edge does not reduce speed, so the time savings is preserved. Variations on this technique are used throughout the run on various types of terrain.

Minimizing Vertical Scroll

Anytime Samus goes from vertical scrolling to horizontal, the automatic scroll effect must be minimized. When climbing to a door, this is variably done by jumping higher than needed to get to the door or jumping while entering the door. When descending, especially to a red door, quick morph/unmorphs are the technique of choice. Often, leaving a small amount of scroll ends up being faster than aligning the screen perfectly, though.

Fast Morph

By pressing down, Samus will morph about 5 frames later. By pressing down followed by right/left, Samus will morph just 1 frame later. This is used to make the long door glitch faster (for the offscreen maneuver where Samus morphs, waits to fall, then unmorphs, the quick-morph starts her falling several frames sooner). Of course, on-screen use is not new; it has appeared in previous runs.

Lag Reduction

I could write a book at this point. Instead, I'll just list a few interesting points:
  • shooting doors open can reduce lag
  • when falling along a wall, pressing left/right can cause lag
  • taking damage will often reduce lag, especially useful in vertical corridors with lots of enemies
  • killing with the regular beam (not ice/beam/missile) causes less lag due to less elaborate explosion animation
  • being in ball form often reduces lag
  • freezing enemies can increase or decrease lag
Overall, I was very happy with the extent to which I was able to reduce lag. I think only the Kraid and Mother Brain screens end up overall lag greater than about 1 frame in 10, and most screens have none, apart from screen transitions.

Two Weird Glitches

Finally, 2 incredibly obscure but useful glitches I found.
First, at frame 57745 (descending to the Norfair E-tank), Samus is falling in ball form; by pressing up+right on just the right frame, Samus bounces in mid-air, which delays the flying enemy below just enough for Samus to sneak by. No idea why this happens, and haven't replicated it elsewhere.
Next, an off-screen curiosity. The door glitch is done by getting stuck in a door, usually by having it close on top of Samus. However, during a long door glitch, (with Samus offscreen), it is possible to save time by getting into a right sided door that is closed. This is done by positioning Samus next to the closed door, with the screen maximally scrolled down, then jumping and pressing right; if done correctly, the vertical screen coordinate ($4f) will change and, on the same frame, Samus' x coord ($30e) will increase by 1, indicating that Samus has embedded herself in the door (occurs at frame 36391 in this movie). Without this glitch, Samus would have to shoot the door open and wait ~3s for it to close on top of her.

Future Improvements

Known: There are a few minor frame savers which I discovered part-way through this run and did not go back and implement (this game is utterly unspliceable). There's 1 ledge in Ridley's lair that I ran off instead of doing a morph-hop, costing a few frames -- that's the only mistake I'm aware of as of now.
Speculative: Samus' behavior while off-screen can be bizarre and difficult to track. It's possible that major shortcuts exist, particularly if one were able to move Samus horizontally without the screen scrolling to follow, or abuse inappropriate horizontal/vertical scrolling more freely. I spent huge amounts of time looking for more such shortcuts, though, so it likely won't be easy.
As to the other Metroid runs, I plan to do the 1-item in the near future; I'd love for people to weigh in on whether the No-MB is worth doing/would be published, or if it would likely be obsoleted by a published 1-item improvement. (I'm putting this here because I asked in the forum once and didn't get much response). As to the Any%, I think I know enough to improve it by about 2s at this point, but this is not enough to prompt me to redo it (at least, not yet).

Thanks (no particular order)

  • Morrison -- For motivation and assistance with route planning, as well as an early frame saver.
  • SpiderWaffle -- Found some of the shortcuts used and posted them on the forums. Also a rich source of strategic and tactical ideas for improvements.
  • adelikat & mmbossman -- Made an excellent wip of the early portion of the run; also encouraged me to take over and get this run finished. adelikat even ran Famtasia for me to check something out.
  • AngerFist -- Harrangued me to do this run on IRC, which pretty directly led to me saying "well, why not?"
  • GuyBrush -- Did a complete test-run and brief wip, which were helpful.
  • Zoizite -- For previous runs, which rock, and a 100% improvement wip.
  • Alden & cpadolf -- Didn't help or encourage me, but they always write nice comments on my runs; here's your reward, guys, don't disappoint! :D

adelikat: Accepting for publication as an improvement to the published movie. And processing. Also, replacing the submission file with a .fm2


Editor, Expert player (2479)
Joined: 4/8/2005
Posts: 1573
Location: Gone for a year, just for varietyyyyyyyyy!!
ShinyDoofy wrote:
Has anyone managed to get this to sync with FCEUX?
It worked for me. I have FCEUX 2.0.3.
Lord_Tom
He/Him
Expert player (3144)
Joined: 5/25/2007
Posts: 399
Location: New England
Interesting. I tried the conversion in 2.0.4-interim on Windows, and it desynched about 10 minutes in. I wanted to submit an .fm2, but didn't think trying other versions had much likelihood of success. Shows what I know. I'll give it a try, and if successful will throw in some subtitles and ask for the file to be updated. Sorry for the hassle.
adelikat
He/Him
Emulator Coder, Site Developer, Site Owner, Expert player (3573)
Joined: 11/3/2004
Posts: 4754
Location: Tennessee
Well the glaring thing about that statement is -interim.
It's hard to look this good. My TAS projects
Former player
Joined: 12/5/2007
Posts: 716
adelikat wrote:
Well the glaring thing about that statement is -interim.
Indeed. Toothache used an interim version from June 11th. I've tried every non-win32only-changes revisions from that day, the day before and after (because of the different time zones) and none of those synced.
Post subject: Movie published
TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15584
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. ---- [1320] NES Metroid "100%" by Lord Tom in 33:25.70
arflech
He/Him
Joined: 5/3/2008
Posts: 1120
I picked a screenshot that demonstrates the vertical warping method in an extreme manner; in case you don't want to wait for the torrent to finish, you can use this MediaFire link: http://www.mediafire.com/file/ttzm5mwn2fu/Metroid_100p_TAS_Lord_Tom.mkv
i imgur com/QiCaaH8 png
Joined: 6/4/2009
Posts: 893
this run was incredible, thanks lord tom as for the 1 item run i'd be realy thrilled to see it, and if samus is suitless it would be even better !
Banned User
Joined: 12/5/2007
Posts: 742
Location: Gone
Lord Tom owns Metroid forever. And runs like this prove the point. I give a late Yes vote. I like the double-restart warp to the elevator of Norfair/Brinstar, though I thought it would be a triple-warp from Ridley/Norfair, Norfair/Brinstar, and then Brinstar starting point, as if Samus was heading straight to Kraid's hideout. I say yes to entertainment, yes to substantial use of tools, yes to improvements, yes to auto-programming, yes to insane glitches beyond the game, and yes to this movie. I can say yes to so many other things behind the movie from start to finish! Shall I go on?
Active player (328)
Joined: 2/23/2005
Posts: 786
Rock on! Great run! I noticed one thing about this movie, though. I played the published fm2 file, and it synched all the way through, but the emulator lagged for a few moments every 256 frames or so... even when fastforwarding. I wonder why. Also, I've always wondered why some of the lava dragons spit fire, when others don't. I'm still convinced there are many more screen scrolling glitches in this game to be abused. If you look closely at this movie, you can see a moment where the room scrolls both horizontally and vertically! Granted, it's severely corrupted, but still... it shows the engine is capable of that.
Player (79)
Joined: 7/7/2008
Posts: 873
Location: Utah
It's funny, when you use turbo during the movie, you can hear pooping noises. I just had to say that. :)
Skilled player (1416)
Joined: 10/27/2004
Posts: 1978
Location: Making an escape
CtrlAltDestroy wrote:
I'm still convinced there are many more screen scrolling glitches in this game to be abused. If you look closely at this movie, you can see a moment where the room scrolls both horizontally and vertically! Granted, it's severely corrupted, but still... it shows the engine is capable of that.
Isn't that kinda like saying that the human head can spin 180 degrees if you break the neck first?
A hundred years from now, they will gaze upon my work and marvel at my skills but never know my name. And that will be good enough for me.
Joined: 8/23/2008
Posts: 417
I greatly enjoyed this run. I can hardly imagine anyone improving over Lord Tom's Metroid prowess.
Captain Forehead wrote:
It's funny, when you use turbo during the movie, you can hear pooping noises. I just had to say that. :)
I'm so glad you shared this meaningful insight with us. I just had to say that. :|
Ferret Warlord wrote:
CtrlAltDestroy wrote:
I'm still convinced there are many more screen scrolling glitches in this game to be abused. If you look closely at this movie, you can see a moment where the room scrolls both horizontally and vertically! Granted, it's severely corrupted, but still... it shows the engine is capable of that.
Isn't that kinda like saying that the human head can spin 180 degrees if you break the neck first?
This, coming from the guy who did this run, is some sort of irony I'm sure, but I don't know what.
I will not use self-reference in my signature.
Skilled player (1416)
Joined: 10/27/2004
Posts: 1978
Location: Making an escape
Acheron86 wrote:
This, coming from the guy who did this run, is some sort of irony I'm sure, but I don't know what.
I guess some games are just born with abnormal necks. ;P Who knows? Perhaps we'll find something with this title.
A hundred years from now, they will gaze upon my work and marvel at my skills but never know my name. And that will be good enough for me.
Lord_Tom
He/Him
Expert player (3144)
Joined: 5/25/2007
Posts: 399
Location: New England
CtrlAltDestroy wrote:
Also, I've always wondered why some of the lava dragons spit fire, when others don't. I'm still convinced there are many more screen scrolling glitches in this game to be abused. If you look closely at this movie, you can see a moment where the room scrolls both horizontally and vertically! Granted, it's severely corrupted, but still... it shows the engine is capable of that.
They're sea-horses, not dragons. I'd also wondered about that, but never really put in an effort to figure it out. If it were somehow manipulable it could provide a small time savings. My sense during the run was that early on, none of them fired, and later, all of them did, so I thought it was possibly item-driven, but I just don't remember and am too tired to check right now. :) I like the youtube video, esp the iteration where the beam sprite is replaced by Samus'! Would look even cooler with the long beam! $49 (0-3 for up, down, left, right) is the scroll direction address; one could obtain such behavior by modifying it manually. I agree there may be more ways to make use of this type of thing in-game for the 100%, though I wouldn't say this video provides much evidence, given its bizzarity. EDIT: Ok, according to strategywiki.com, they ARE dragons. BUT, they look like seahorses. From the same article: "The source of their fire comes from a rare plant that only grows in Norfair at certain times of the year. When the plant becomes scarce, the dragons lose their ability to blow fire, but this does not happen very often. "
Player (206)
Joined: 5/29/2004
Posts: 5712
Heh, well, at least now we know the in-story reason for their loss of fire.
put yourself in my rocketpack if that poochie is one outrageous dude
Zucca
He/Him
Joined: 8/22/2008
Posts: 118
Location: KUUSANKOSKI, Finland
I think collecting all the items but the missiles would be more entertaining. Still, this deserves a yes -vote.
trazz wrote:
Killing the skeletons sooner or letting the skeletons live (unlive?) won't affect that at all.
Active player (328)
Joined: 2/23/2005
Posts: 786
Wasn't the Metroid source code decompiled? Could we look at the "Dragon blows fire" routine, see which value it compares and prompts the branch, then check what changes that value? (I'm willing to bet it's randomized at each reset) Also, and this is a random strange memory I just now had, but years ago on the GameFAQs forum, I could have sworn that someone suggested the global variable linked to the dragons blowing fire also causes the attack patterns of the two bosses to be changed. This would be why sometimes you can wipe Ridley out just by standing next to him (during normal play), and other times he is able to kill you...
Lord_Tom
He/Him
Expert player (3144)
Joined: 5/25/2007
Posts: 399
Location: New England
The metroid source was decompiled some years ago by SnowBro, and partially commented. However, sections pertaining to enemy decision making is completely uncommented, so I wasn't able to decipher much (read: anything). With respect to the dragons & boss routines, I will check into it. Based on what I know, I'm fairly certain that such things are triggered somehow off the game timer (which is also used to determine how long Samus has been playing, and therefore which ending to show, but it's also possible its pseudo-random based on when rooms are entered.
Player (121)
Joined: 2/11/2007
Posts: 1522
Well I wasn't terribly excited about this run, because I'm not really that familiar with Metroid, just enough to appreciate that it can be beaten in <10 minutes. But I watched it and it is quite impressive. I can't imagine even planning a route for this sort of thing. Not to mention optimizing every single second. This is the sort of movie we should recognize as totally awesome. Can't wait to see if you can't think of something else soon King Tom.
I make a comic with no image files and you should read it. While there is a lower class, I am in it, and while there is a criminal element I am of it, and while there is a soul in prison, I am not free. -Eugene Debs
Experienced player (828)
Joined: 11/18/2006
Posts: 2426
Location: Back where I belong
I finally got a chance to sit down and watch this, and all I can say is: You rock my socks, Lord Tom. This run becomes all the more entertaining after having tried to work with the game and figure out all the small idiosyncrasies, only to be bitchslapped by Samus herself. This is truly a work to be proud of.
Living Well Is The Best Revenge My Personal Page
Joined: 7/7/2007
Posts: 161
Amazing new route with some unexpected paths. The whole thing feels much more balanced overall. All the save-warping was awesome. Highly entertaining.