Tool-assisted game movies
When human skills are just not enough

Movies for NES Mega Man 2

#50491715316358744 - Mega Man 2 - Zipless v2.1
mm2_zipless_2.1.fm3 (237kB fm3 movie [NES])
Uploaded 2018-10-13 21:23:38 by warmCabin (14 files)
For NES Mega Man 2 (7 files)
In 09:58.68 [35980 frames], 38845 rerecords)
267 views, 6 downloads

(Link to video)

I managed to get ahold of Shinryuu on Discord. Even though he's retired, so to speak, he's been more than willing to talk shop, answer questions, make suggestions, and all that good stuff. It's been a ton of help. Thank you, Shinryuu!

Persuant to these conversations, I tried some new stuff, much of which ended up saving no time, but much of which did. I'll go stage by stage and tell you what's new.

Air Man

A frame perfect menu on the title screen which I was previously unaware of lets me get into the action one frame sooner. It throws off RNG (and some other stuff) though, so say goodbye to all those extra lives :( Another small optimization in the fan fiend section lets me get to the end even sooner, for a total of 2 frames saved...but I had to throw it all away to RNG. The rest of the run doesn't even desync if you paste in the old inputs. But in case it does later, I've decided to swap out the time/entertainment tradeoff (which doesn't actually lose time) for a perfect segment. You never know!

Quick Man

The stage is the same, but the boss fight plays out a little differently. Shinryuu pointed out that these fights don't end on a timer, but rather, as soon as Mega Man teleports fully offscreen. As such, it saves time to end the fight as high up as possible. By ending the fight on the upper ledge, I manage to make the previous frame rule and save 8 frames. I actually sacrifice a frame to get up there, but the frame rule is indifferent to it. Most NES Mega Man games have some property like this.

Metal Man

The Item-2 section has been updated. By using the Item-2 lower down, I'm able to hit the ground sooner and save some time. A slick mid-air weapon switch allows me to dispatch the scrubbing bubble guy quickly, rather than waste frames jumping over him.

Metal Man himself doesn't put up much of a fight. Actually, I discovered some interesting properties of his AI. Metal Man will jump in two situations:

  1. When you get too close, he jumps to the other side of the room (I call this violating his personal space).
  2. When you press B (a bullet does not necessarily have to spawn), he jumps at a height determined by RNG.

What happens when these two conditions occur on the same frame? Well, it turns out the B press one takes priority! So, with frame perfect shots, you can keep him on one side of the arena no matter how close you get. This is probably already known, but it's nice to put it into writing.

New Stuff

In addition to these improvements, there are two new stages for you to enjoy! Once again, these comparisons are to my Zipless v1.0 TAS.

Bubble Man

   Stage save: 38 frames
   Boss  save: 18 frames
   Total save: 56 frames
Where did all this come from? Well, for starters, there's the terrible double frame rule for Bubble Man's health bar. It's already been discussed on I think finalfighter's website, so I'll briefly summarize it: health bars tick up every 4 frames, but being underwater makes that not happen every 5 frames. It's easy enough to manipulate once you know about it, but I did not get lucky on v1.0.

However, this only accounts for 4 frames. The rest is simply due to sloppy play. For instance, in 1.0, I did a jump with a Metal Blade and let the throwing animation play out after I landed...just holding right. I also killed the hermit crab in the first room instead of taking damage from it (the faster method), improperly dealt with a throwing animation at the end, and let a bit of lag through at various points. Plus, I didn't know that double death saves time, so I didn't look into it; that accounts for 16 of the 18 frames saved in the boss fight!

In this version, I'm particularly proud of the part before the second angler. There I'm able to jump (the timing is frame perfect) and shoot the shrimp, completely avoiding the throwing animation which we resign ourselves to in realtime runs.

As I write this comment, I've discovered a 4-frame save in Bubble. However, I need a 7-frame save to beat the next frame rule. Still seems worth pursuing, though.

Heat Man

   Stage save: 50
I didn't finish this one yet. I kinda didn't feel like doing the boss fight... But I managed to save 50 frames in the stage, which is kind of hard to believe! Here's how I account for that:

  • Poorly timed jumps and weapon switches
  • Wasting time before shooting the Item-2 at the 3rd pillar
  • Wasting an Item-2 energy early on kills 19 frames of super fast movement
  • Sprite flicker during the switch to bubble.

Note that, for whatever arcane, terrible reason, the underwater lag actually persists from Bubble Man's stage, but only during the teleport-in animation. As luck would have it, I got a lag frame on the first jumpable frame for this stage...so I can probably save that. I'm actually right on the cusp of a frame rule for the Bubble fight, to the point where I cannot afford to waste a single frame.

Info Download

#49364838704578513 - Mega Man 2 - Zipless v2.0: Part 2
mm2_zipless_2_part2.fm3 (204kB fm3 movie [NES])
Uploaded 2018-08-24 03:24:44 by warmCabin (14 files)
For NES Mega Man 2 (7 files)
In 05:59.19 [21587 frames], 16989 rerecords)
1389 views, 53 downloads

(Link to video)

Quick Man

     Stage save: 36  (0  from previous)
     Boss  save: 69  (51 from previous)
     Total save: 105 (51 from previous)
I've saved an additional 51 frames off the boss fight (69 from v1.0), so I've started my notes and my encode here. I utilized a more aggressive manipulation strat to keep him pinned over on the left side, taking damage twice to facilitate this. Due to the damage boosts, it loses 27 frames to a theoretically perfect 19 frame boss fight...which I'm convinced does not exist.

I made an interesting discovery along the way: Quick Man's supposed RNG jumps (where he jumps 1-3 times) are actually the product of him getting stuck in the wall (video to be uploaded soon), which plays out unpredictably--but it's not RNG. This only applies to the outer walls, so if you see him charging up against any other ledge, you know you are about to see 3 jumps.
Also, he always shoots boomerangs on the second jump, so that should help if you're unsure of how many jumps got stuck in the wall.

Metal Man

     Stage save: 40
     Boss  save: 10
     Total save: 50
In v1.0, it slipped my mind that you can save time by shooting the drills. But not this time. The second drill actually saves much more time; rather than jump over two drills, I'm able to stay on the super speedy conveyor belt the whole time.

I also improved the Item-2 usage. In v1.0, there was an awkward landing where I hand to hold still for a second and jump over the springy guy, but here, I managed to land just to the right of him. This move is just barely possible, at least for the frame I used Item-2. Let me explain:

When dismounting an Item-2, it's not necessarily best to just hold right. By letting go of right and even pressing left at certain times, you can influence your position to be a pixel or two further to the right. My current approach is to try randomly until it works...
But even this is not quite enough. The rightmost possible position still results in a collision with the springy guy! That is, unless you're 8-aligned.

Becoming 8-aligned

All the velocities Mega Man can move at (walking, jumping, knockback, conveyor belts...) have subpixel velocities that are multiples of 16, or 0x10. This means your subpixel position will always end with a 0 (in hex), making you 0-aligned. It may seem impossible to change your subpixel alignment, but there is one object that lets you do so: an accelerating Item-2. When an Item-2 is starting to accelerate, and you land on it in just the right way (going to the left), you'll get your subpixel set to X8. If you can keep it that way until the Item-2 fully accelerates, you will now be 8-aligned. This essentially means you can be 8 subpixels further ahead at any given point in time, which is just enough for me to land to the right of that springy guy! I think I'm going to play around with this section a bit more before I move onto Bubble (doing Bubble and Heat before Flash saves 4 frames in menuing, by the way).

Like my other two discoveries, this was something I found totally by accident while doing playaround/TAS fidget stuff.

Fun fact: This Item-2 section saves 9 frames over inputs copy/pasted from the 2010 TAS! The main reason is that they don't take full advantage of their Item-2; that is to say, they let it run out when they are not on the rightmost tip. And I'm not talking about that weird 8-alignment stuff, either: it's a couple pixels. This happens because they use the Item-2 soon enough that it runs out just after the tin can man jump, which doesn't give them enough time to catch up after landing.

The 10 frames in the boss fight are just due to better understanding of the game mechanics. 5 of those frames are from just the first hit, which I jumped too high for in v1.0.

Info Download

#49071833918125633 - Mega Man 2 - Zipless v2.0
mm2_zipless_2.fm3 (174kB fm3 movie [NES])
Uploaded 2018-08-10 22:43:08 by warmCabin (14 files)
For NES Mega Man 2 (7 files)
In 04:14.78 [15312 frames], 14598 rerecords)
1668 views, 52 downloads
Version 2.0 is here! Rather than push onwards through the Boobeams and boss rush in my v1.0 movie, I felt motivated to start over and fix all my little (and big) mistakes. Currently all the timesaves are grouped into stage saves and boss saves, but I may do a more detailed analysis later.

(Link to video)

History of this Movie

To understand all the timesaves in this run, I think it's important to understand this history behind it. While the previous run is called v1.0, it's actually not the first attempt I made at creating this movie. There's a previous version, which we'll call the beta version, that I started on a couple years ago. It was simply a TASed version of the realtime route I was doing at the time, back when I was blissfully unaware that it's faster to do Metal before Flash. That's right: there's a TAS file sitting on my hard drive where I go to Flash before Quick and Metal. This was called "mm2 TAS.fm3", and the file that would become v1.0 was sarcastically named "mm2 TAS ADVANCED route.fm3" for a while.

Because this run was so old, I did it the old fashioned way: savestates, frame advance, and an actual controller in my hand. I also had this weird obsession with keeping the 90-frame screen transitions perfectly clean, so I was always trying really hard to find the first actionable frame of every room. I believe I switched to the TAS editor around Flash Man's stage, but I'm not sure.

When making my ADVANCED route (v1.0), I tried my best to salvage what inputs I could from the beta. I had to redo the bosses (with the exception of Air Man), but most of the other inputs could be salvaged. The beta stopped at Metal Man, so all inputs after that in v1.0 were new. Here we will see just how suboptimal these beta inputs are.

Air Man

  Stage save: 50
  Boss  save: 38
  Total save: 88
The boss fight is perfect, aside from a lag frame which I don't think you can avoid. Watching the 2010 TAS's boss fight taught me a lot on how to achieve this.

Compared to the previous movie, you may be surprised there are 50 frames to save in the stage, considering I don't go for any different strats.

Well, for starters, I do go for one different strat: rather than turn around and spawn the bird to the left @3250, I can keep going and shoot the next two eggs without jumping. The second one requires me to shoot a bullet out ahead of time to alter the collision behavior, something I learned from the 2010 TAS. No idea why this works, but it's cool! However, this only saves 2 frames. My new turnaround subpixel tech also ends up saving a frame...which is lost due to boss fight RNG manipulation. What a shame.

The rest of the timesave comes from two main sources: better horn jumps, and better falling.
You can do the horn jumps without stopping if you jump a little earlier, something I did not know in the beta.
The falling tech is even more embarrassing. Somehow, I had it in my head that a 1-frame jump is always optimal for falling off ledges, when in fact a much higher jump often saves more time; this is a misconception I carried with me through most of v1.0 as well.
But an even more embarrassing timesave comes from that one screen transition hidden behind clouds...I simply was not holding left during it, because I didn't realize I could move. This alone wasted about 20 frames.

Quick Man

  Stage save: 36
  Boss  save: 18
  Total save: 54
It turns out my calculations were wrong! Doing this stage with Air actually saves 6 frames over doing it with buster. I failed to account for the fact that you can switch weapons 10 frames earlier at the start of each stage. However, the buster route still ends up saving time, because of a cool damage boost tech I stumbled upon. By standing still for a couple frames, I'm able to take damage from the final Sniper Joe such that I recover from hitstun while in the air, saving me an extra jump. I was unable to get this trick in the air shooter route, because the mech gets defeated sooner and the sniper takes longer to fall down. This difference actually puts the buster route ahead by 1 frame!

I also saved time by defeating each hothead without any additional jumps (although 2 jumps had to be a frame or two higher), and jumping over the first Sniper Joe. My turnaround subpixel tech saved a frame, but due to a frame rule that apparently exists, I couldn't defeat the first mech any sooner. What a shame.

For the curious, I've left in a branch of the air shooter route: branch 8. Branch 9 is the frame Quick Man gets defeated in the current route. If you know of a way to do this boss fight quickly with air shooter, I'd love to hear about it!

If you dig around in the branches, you might find some inputs for Metal Man, but I'm putting those on hold until I'm confident in the Quick fight.

Info Download

#48877130464294925 - New subpixel optimization tech - proof of concept
flashman_3frame.fm3 (130kB fm3 movie [NES])
Uploaded 2018-08-02 04:16:27 by warmCabin (14 files)
For NES Mega Man 2 (7 files)
In 01:32.75 [5574 frames], 120490 rerecords)
1830 views, 83 downloads
I've discovered a new subpixel optimization technique! It doesn't always save time, but a subpixel's a subpixel. You never know when an extra couple might come in handy.

When you fall off a ledge and need to turn around, it may seem like you should turn around and brush up against the edge of the wall to get the best position. This is not always the case. Sometimes, you can actually be a few subpixels inside the block; that is, the ejection routine (which runs when you push in the opposite direction) puts you just a bit further out than the first position where you can actually fall. By moving past the wall on the last possible frame, you can save around 0x10 subpixels, depending on your subpixel alignment.

Sometimes, this maneuver may not be possible at all, and it will be better to brush up against the wall and get a X8.00. You just have to try it for each jump.

Note that this does not work if you encounter a left-facing wall (you are holding right) that transcends a screen border; you will be ejected to X8.00. Right-facing ones seem to be OK, though.

To demonstrate this concept, I've utilized it to shave 3 frames off the current TAS (although in reality it's 1 frame + a door frame rule). I simply copy/pasted their inputs and executed proper turnaround subpixels on each relevant jump. I think this stage nicely illustrates all the quirks of when this technique is useful and/or possible. Branch 1 is the current TAS. Branch 2 is with my technique. Each branch is marked on the frame Flash Man dies. I highly recommend you watch this with RAM watch on (X pixel: 0x0460, X subpixel: 0x0480) to see exactly what's going on.

Fun fact: Much like ladder fidgeting, I discovered this while doing some playaround/TAS fidget stuff. I thought it might look cool to have Mega Man turn around at the last possible frame, but then I realized I was actually landing at better positions when I tried to do that! If you're working on a TAS, I highly recommend you do some silly stuff in your run. You never know what you might accidentally discover!

Info Download

#48553221790148505 - Mega Man 2 - Zipless: Part 2.5
mm2_zipless.fm2 (1.27MB fm2 movie [NES])
Uploaded 2018-07-18 14:10:42 by warmCabin (14 files)
For NES Mega Man 2 (7 files)
In 24:41.09 [89012 frames], 27003 rerecords)
2011 views, 75 downloads

(Link to video)

I found a way to make the Crash Bomb glitch work, but I don't like it. I had to take an extra hit from the final Sniper Joe, which leaves me with an extra Item 1. Although, it'll certainly come in handy for the alien fight, so I guess it worked out (Didn't know about that secret ledge when I set out to make this movie).

It's likely I'll be saving yet another Item 2 in Wily 2, if I'm right that using Wood on the drills will be faster. If I do, being able to get good MadWidth from the unavoidable bullet would be extremely useful. I've had little luck with this myself, but do let me know if you can find a way to make that happen. Bear in mind that this is a rough draft v1.0 type of movie, which will be scrapped for a better version that attempts to fix all the mistakes. Therefore, the frame you might find here will almost certainly not work in v2.0.

Info Download

#47641550972708655 - Mega Man 2 - Zipless: Part 2
mm2_zipless_part2.fm3 (185kB fm3 movie [NES])
Uploaded 2018-06-07 12:48:04 by warmCabin (14 files)
For NES Mega Man 2 (7 files)
In 24:40.58 [88981 frames], 26163 rerecords)
2571 views, 107 downloads
A continuation of my zipless run. I didn't fix any mistakes, just pressed onwards towards the finish; I figure I'll probably make some more mistakes, so we can fix the old and new ones alike in version 2.0.

This movie plays until the Boobeams, which have me stumped! Going by finalfighter's extremely handy lua script, I can't seem to get a large enough MadWidth. I have to damage boost through that one sniper joe bullet at frame 7720, which essentially gives me 2 choices for MidWidth and MadHeight: 22 or 24. I can only seem to make these variables smaller the further to the right I go, although, frustratingly, you'll see them cycle through some super good ones like 56 before they settle on their final values (frame 7757).
These outlier values seem like a good place to start, but I may also try to take damage in the fight.

Info Download

#47393292247559483 - Mega Man 2 - Zipless
mm2_zipless.fm3 (150kB fm3 movie [NES])
Uploaded 2018-05-27 08:28:17 by warmCabin (14 files)
For NES Mega Man 2 (7 files)
In 19:45.96 [71275 frames], 19378 rerecords)
2784 views, 112 downloads
(Note: this file is for the Japanese version, Rockman 2.)

This is a popular category to run RTA (I myself run it), but I've never seen a TAS of it. I believe there are two reasons why:

  1. The zips in Mega Man 2 are some of the coolest tricks in speedrunning. Who would want to remove them??
  2. The ancient SDA rules make this category a bit ambiguous.

Regarding the first point: Well, I think zipless shows off a few neat things not seen in a regular TAS. For instance, WOODMAN'S ENTIRE STAGE.

Regarding the second point, the rules of this run are as follows:

  • No zips
  • No delay scrolls
  • No screen wraps
  • All other glitches are fair game

This might more acurately be called, "No Major Glitches." But whatever.


(Thanks, feos!)


The Quick Man fight

I'm pretty embarassed about this. I take damage twice... Not for no reason, mind you. I do it to manipulate Quick Man's position and take advantage of i-frames. But I still feel like this fight could be a lot tighter. I could use some advice.

Frame data:

     (1st Hit)
     40 (+20 frames)
     58 (+38 frames)
     24 (+4 frames)
     22 (+2 frames)
     39 (+19 frames)

     Total time loss: 83 frames

Crash Man's Stage

In the opening room, I didn't realize you could jump up the first ladder without getting hit, so I utilized a unique buster strat. But apprently we've known about this for 15 years, so...

Minor Mistakes

These don't seem worth redoing, but I'd surely fix them if I did redo the run:
  • Shitty RNG for Air Man's last shot
  • Didn't think to shoot the drills in Metal
  • I don't think I handle mech damage boosts quite right
  • Why does no one ever change weapons in the boss rooms?
  • Made an unecessary landing in Bubble
  • Didn't test many Item-1/2 routes for Crash

Good Things

Buster-only Quick Man strats

For some reason, I thought Quick Man was immune to the air shooter when I was doing this stage. But ellonija mentioned that the old TASes used to use the air shooter? It sounded pretty dope: use air to kill all the enemies, just like RTA, then defeat Quick Man with some super finicky and cool air shots.

But I've done the math, and I believe my uninformed buster-only route is faster:

Air Shooter and Buster both do the same damage to Quick Man, and a perfect fight with both weapons would take the same amount of time, so that doesn't figure into our calculations. As I defeat the mechs at the end, I spend a total of 28 frames not holding right. The menuing to switch from P to A takes 45 frames, so the question becomes: Is it 17 frames slower to do all those jumps when shooting the fire head guys?

Well, Mega Man spends 246 frames in the air during that section. If we assume the air shooter route spends all those frames on the ground (which it doesn't; there are several jumps in that section), we can do some worst case math.

     air speed = 01.50
     ground speed = 01.60
     difference = 00.10 (that's 1/16).
     00.10 * 246 = 15.375
This means the buster route ends up 15.375 pixels behind the air shooter route. On the ground, we can make those pixels up in 14.47 frames, call it 15.

So, in this situation which is worse than reality, the buster route is still 2 frames faster than the air shooter route. That is CLOSE! But in reality it's even faster-er, so I believe the buster route is optimal.

Ladder Fidgeting

Not sure if this is a known trick, but it's a technique that provides a way to ascend slightly on ladders in some circumstances. When climbing ladders, shooting any weapon locks you in a shooting animation in which you cannot gain height. Unlike Mega Man 1, letting go of the ladder and re-grabbing it does not cancel this animation. However, there is a trick to gain a pixel or two that I call the Ladder Fidget, which can be performed as follows:
  1. Do the following 3 frames of input: A, nothing, Up. This is a frame perfect ladder fidget.
  2. Check if your Y position is higher up.
  3. Repeat the process until the animation ends, or you see you've stopped gaining height.

I can't figure out a pattern for when you'll rise and when you'll fall--It's all trial and error at this point. But I believe vertical velocity is being stored from before. It looks pretty silly when executed, and in fact, it started off as a "siliness tech" to pass the time in Crash Man's stage, until I realized Mega Man was actually ascending!

Info (2 comments) Download

Back to user movie storage