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


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15542
Location: 127.0.0.1
This topic is for the purpose of discussing #2305: Lord Tom's NES Metroid "100%" in 33:25.70
Skilled player (1409)
Joined: 5/31/2004
Posts: 1821
Very nice improvement 8+ minutes is a lot, regardless of up+A and glitches, good job. It's always nice to see this list shortened :)
Player (89)
Joined: 11/14/2005
Posts: 1058
Location: United States
Pure ridiculousness with that Ridley fight! Yes indeed. Talking about future metroid runs, I would love to see a glitchless any%, but I dunno if there is much of an audience for that. People here tend to prefer glitched out runs.
They're off to find the hero of the day...
Joined: 2/26/2007
Posts: 1365
Location: Minnesota
I am pumped to see this run
adelikat wrote:
I very much agree with this post.
Bobmario511 wrote:
Forget party hats, Christmas tree hats all the way man.
Player (84)
Joined: 8/18/2008
Posts: 80
Congrats on finishing this. I think this getting published is a foregone conclusion, as not only is it a big improvement but it also looks sexy. I'll toss my yes vote into the pile.
Arc
Editor, Experienced player (814)
Joined: 3/8/2004
Posts: 534
Location: Arizona
I enjoyed this movie very much. The battle against Ridley is simply marvelous combat. I initially wondered what was up with Samus's dropping into the lava just after getting the Screw Attack (around frame 54000), but I see that it is indeed faster to kill the seahorse rather than jump over its fireball. I assume that any instances of overjumping were either compensation for the screen's vertical scrolling time or for luck manipulation. 9.7 / 9.4.
Lord_Tom
He/Him
Expert player (3142)
Joined: 5/25/2007
Posts: 399
Location: New England
Nice subject line, Arc, were u on IRC earlier? ;) Glad you liked it. Yes, overjumping is frequently used to optimize the door-transition vertical scrolling. I don't specifically recall if I used that technique to manipulate luck.
Emulator Coder
Joined: 1/12/2007
Posts: 95
It looked well optimized to me. The standard metroid item collection wait time was a drag, but everything in between, you could pretty much see the use of it. The only possible item that could have looked confusing to me(not familiar with NES metroid quirks) was that in one of the hallways where both doors were shot, it looked like there was a wasted frame. My only question is if wasting the frame(assuming I saw it correctly) was just sandwiched between something of slight interest. Considering all of the above, it's almost a waste to vote. I'm wondering how fast someone's going to get it encoded and put up.
arflech
He/Him
Joined: 5/3/2008
Posts: 1120
I'm trying my hand at this... ok, first of all I have now made a logo AVI; it's fairly simple, with no fancy graphics: http://www.mediafire.com/file/kmvvlzoyvom/logo.avi It is based on the following BMP: http://www.mediafire.com/file/25n0yydd5um/logo.bmp and the following blank WAV: http://www.mediafire.com/file/zwwtggrtmay/logo.wav EDIT: Updated BMP and AVI in response to recommendations from Adelikat; this is the published MKV: http://www.mediafire.com/file/ttzm5mwn2fu/Metroid_100p_TAS_Lord_Tom.mkv
i imgur com/QiCaaH8 png
Tompa
Any
Editor, Expert player (2213)
Joined: 8/15/2005
Posts: 1941
Location: Mullsjö, Sweden
Excellent run Tom! Haven't got much else to say :D. Yes yes.
Lord_Tom
He/Him
Expert player (3142)
Joined: 5/25/2007
Posts: 399
Location: New England
ugetab wrote:
The only possible item that could have looked confusing to me(not familiar with NES metroid quirks) was that in one of the hallways where both doors were shot, it looked like there was a wasted frame. My only question is if wasting the frame(assuming I saw it correctly) was just sandwiched between something of slight interest.
Both doors were shot to reduce lag during the transition to the next screen. Not sure about the "wasted frame," but if you're referring to a case where I shot both doors and then morphed, there is a slowdown associated with morphing, which was outweighed by the lag reduction of being in the ball form.
mklip2001
He/Him
Editor
Joined: 6/23/2009
Posts: 2227
Location: Georgia, USA
I am quite happy to have woken up and seen a new 100% Metroid run on the workbench. After watching it, I am thoroughly impressed. Obligatory yes vote. Out of curiosity, how did you get the Geega in Norfair to stay ahead of the screen for that last missile hall? I've gotten that behavior before on the console, but I don't know how it works. Oh, and concerning the no-MB run, I personally think a 1-item run should obsolete it. In the no-MB run, you need backtracking in Tourian to the Metroids just to have enough missiles to finish the Zebetites and Mother Brain, and that really distracts me from the flow of the run. Also, the 1% still manages to fight both minibosses, so it plays more exciting parts than the no-MB run does.
Used to be a frequent submissions commenter. My new computer has had some issues running emulators, so I've been here more sporadically. Still haven't gotten around to actually TASing yet... I was going to improve Kid Dracula for GB. It seems I was beaten to it, though, with a recent awesome run by Hetfield90 and StarvinStruthers. (http://tasvideos.org/2928M.html.) Thanks to goofydylan8 for running Gargoyle's Quest 2 because I mentioned the game! (http://tasvideos.org/2001M.html) Thanks to feos and MESHUGGAH for taking up runs of Duck Tales 2 because of my old signature! Thanks also to Samsara for finishing a Treasure Master run. From the submission comments:
Shoutouts and thanks to mklip2001 for arguably being the nicest and most supportive person on the forums.
adelikat
He/Him
Emulator Coder, Site Developer, Site Owner, Expert player (3570)
Joined: 11/3/2004
Posts: 4754
Location: Tennessee
arflech wrote:
I'm trying my hand at this... ok, first of all I have now made a logo AVI; it's fairly simple, with no fancy graphics: http://www.mediafire.com/file/2zzm5mvjgml/logo.avi It is based on the following BMP: http://www.mediafire.com/file/2ym2mwjzmwd/logo.bmp and the following blank WAV: http://www.mediafire.com/file/zwwtggrtmay/logo.wav If I'm fortunate, my logo and encode will be accepted and then this run can be more quickly published!
Posting links to your logo & expressing interesting in a thread of a TAS I'm highly interesting is one way of getting it approved. The more effective choice however, is to to PM me, or talk to me on IRC (preferably IRC).[/i][/quote]
It's hard to look this good. My TAS projects
Expert player (2466)
Joined: 6/2/2009
Posts: 1182
Location: Teresópolis - Rio de Janeiro - Brazil
You spent your time very well doing this one, good optimizations, Yes vote for sure.
I am old enough to know better, but not enough to do it.
Skilled player (1443)
Joined: 7/15/2007
Posts: 1468
Location: Sweden
Lord Tom wrote:
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
:) Yeah this run was pretty nice. I like how unpredictable the game often seems to be in what movement is fastest, this makes the run more varied and surprising. The battle with Ridley was quite sexy as well :D
Agare Bagare Kopparslagare
Active player (279)
Joined: 4/30/2009
Posts: 791
Awesome job, looks great and a huge improvement. Yes vote for definite :-)
Active player (279)
Joined: 4/30/2009
Posts: 791
Awesome job, looks great and a huge improvement. Yes vote for definite :-)
Senior Moderator
Joined: 8/4/2005
Posts: 5777
Location: Away
Excellent run! Voting yes for sure.
Warp wrote:
Edit: I think I understand now: It's my avatar, isn't it? It makes me look angry.
Joined: 7/1/2008
Posts: 272
a definite yes from me. well done.
Skilled player (1325)
Joined: 9/7/2007
Posts: 1354
Location: U.S.
Good God. What did you do?! Yes vote just for the insanity.
adelikat
He/Him
Emulator Coder, Site Developer, Site Owner, Expert player (3570)
Joined: 11/3/2004
Posts: 4754
Location: Tennessee
I vote yes!
It's hard to look this good. My TAS projects
Former player
Joined: 12/5/2007
Posts: 716
Has anyone managed to get this to sync with FCEUX? I added a few frames between those two start button presses at the beginning to get the game to start at all, but it desyncs after the two first doors :/
adelikat
He/Him
Emulator Coder, Site Developer, Site Owner, Expert player (3570)
Joined: 11/3/2004
Posts: 4754
Location: Tennessee
It is possible that there is timing differences between FCEU.28 and FCEUX for this game(or mapper).
It's hard to look this good. My TAS projects
arflech
He/Him
Joined: 5/3/2008
Posts: 1120
ShinyDoofy wrote:
Has anyone managed to get this to sync with FCEUX? I added a few frames between those two start button presses at the beginning to get the game to start at all, but it desyncs after the two first doors :/
Lord Tom tried to convert to FM2 already and it desynched and that's why he submitted the FCM.
i imgur com/QiCaaH8 png
Active player (279)
Joined: 4/30/2009
Posts: 791
Hmm, I got it to play entirely from the start to the end in FCEUX after conversion with no problem. I used FCEUX 2.1.1-interim The run itself looks great, and it is a huge improvement over the previous so I gave it a Yes vote.