Submission #5128: nrg_zam's SNES Mega Man X in 29:08.45

Console Super NES Emulator BizHawk 1.11.6
Game Version unknown Frame Count 105080
ROM Filename Megaman X (USA).sfc Frame Rate 60.0988138974405
Branch Rerecord Count 46214
Unknown Authors nrg_zam
Game Mega Man X
Submitted by nrg_zam on 5/30/2016 6:04:28 PM

Submission Comments
Mega Man X in 29:08.46, about 4.5 seconds faster than the currently published TAS. I'm not certain which version of the game it is, I think it's 1.1, regardless, it's the same one used for the current published TASes of this game.
temp encode:


  • Uses no passwords
  • Aims for fastest time
  • Abuses programming errors in the game
  • Manipulates luck
  • Takes damage to save time
  • Dies to save time
  • Uses speed/entertainment tradeoffs
  • Uses the Ride Armor in Chameleon after years of neglect


I was considering getting into TASing, but didn't know how I should go about getting my feet wet, so I decided to go with a game I know fairly well, so I could focus more on learning how to use the tools without needing to also learn the game as well. That said, there isn't really anything groundbreaking in this TAS compared to the currently published one, it does make use of a minor wallclimbing glitch to save time (turnaround kicks), and improves on lag reduction in many areas. Overall strategy usage is essentially identical to Hetfield90's TAS, though at his suggestion I opted for a different maverick route, ending with Mammoth instead of Octopus (for luck manipulation purposes, among other ideas that didn't pan out).

Turnaround kicks

When right up against a wall to the right, pressing left+right will cause X to grab the empty space to the left to slide down. To take advantage of this, press jump the frame after the left+right input and X will kick off the empty space on the left instead of the wall on the right. This allows for more optimal climbing of a single wall straight up, and is exceptionally good for walls that are fairly short but still require 1 wallkick to get past (since you can use the forced momentum of X kicking away from the wall to make real progress through the stage, rather than going the wrong direction, see Kuwanger stage). As far as I can tell, it's only possible on a right wall, probably because of how the game treats left+right inputs, sort of giving priority to left over right. This trick also works in X2 and X3, though I don't know how helpful it would be. No clue if this was a known thing before, but I found them by accident during the creation of this TAS.

Stage by stage comparisons

Timed using when X teleports out of the stage to separate stage times.
Sigma 113139131309
Sigma 28226821511
Sigma 3121971216532
Sigma 4656265557

Intro stage (0 frames saved)

This stage is probably the one that's most like the published TAS, for lack of anything unique to do. One of the few differences is the use of a glitch where you hold both weapon swap buttons which make X not glow himself during a charge, but keeping the particle ffects around him. This is a wacky stage, seemingly arbitrary inputs created/removed lag frames (using the currently-useless weapon swap buttons, for instance). I managed to gain an edge on lag management, only for virtually all of it to go away due to cars and Vile's ship. I finished the stage 1 frame ahead, somehow picked up another frame during the ensuing cutscene, then lost both frames because X walked a longer distance to the center to teleport out of the stage (then lost a frame on load times for penguin's stage, but that wasn't accounted for in my timing scheme).

Chill Penguin (9 frames saved)

Hetfield was helping me try to improve the log zips at the start of the stage, since the first one is fairly weak, but the best I could do was a marginally improved first zip for a delayed slope jump, and then the second one was completely ruined. So I just went back to the tried-and-true method of doing slope jumps as soon as possible and everything worked out nicely. The penguin fight was when I discovered the turnaround kicks while being lazy and not erasing right dpad inputs in TAStudio, so I went back and added them into the stage in the spots they'd be helpful. Normally, you'd want to jump out of the Ride Armor as late as possible, since the Ride Armor dashes faster than X, but with the turnaround kick you just want maximum height when you reach the ledge you wallkick off of.

Boomer Kuwanger (20 frames saved)

As cool as the first laser damage boost is, a turnaround kick is way faster. For whatever reason, shotgun ice is the greatest weapon at eliminating lag (with Ride Armor punches being a close second). The elevator skip is a bit different, but still the same idea, get to the top and reach the checkpoint, then commit suicide. The very next section can potentially be done a few frames faster, but for the life of me I couldn't manage to do it and still get the right position+subpixels to get the gap jump on that third ladder, so that bit remains basically unchanged from Rolanmen1 and Fractalfusion's old WIP.
Essentially the whole second half of the stage was kind of a disaster, I kept getting unfortunately timed dust sprites while dash jumping which caused lots of lag frames, so I had to take some sub-optimal movement in places to avoid making the game plummet to 2fps due to a dust sprite and and enemy being on screen at the same time.
The fight itself is done in the same way, manipulate Kuwanger to stay in the corner to provide a good amount of charge time while a dash shot crosses the screen.

Sting Chameleon (38 frames saved)

The cave was extremely rough. I don't know exactly what determines where the rocks fall, but I tried killing or not killing an enemy or two and the result was always the same, so maybe they're just on a global timer or something, that or I just got really unlucky with luck manipulation. The movement looks a little goofy in spots, that's just subpixel manipulation since you have to wait for the boulder guys to fall down anyway. One rock I had to wait a moment for so I could kill it without bonking, and I had to use a boomerang as I left the cave to avoid another rock.
I attempted to phantom grab the first hoganmer's shield, but there wasn't a viable drop available, and I would have had to wait about a dozen frames to get it.
As for the Ride Armor, it takes 43 frames to enter, but dashes 4 pixels per frame, compared to X's ~3.5px/f. This means that in about 4-5 seconds of dashing, the Ride Armor breaks even. Over a large enough section (like the long flat stretch in this stage), the Ride Armor proves to be a good bit faster if you can mitigate the lag and deal with the enemies properly. Disappointingly, punching the opposing Ride Armors is a terrible idea due to excessive lag. Instead, it's better to take damage from a nearby enemy, then jump past them, causing them to attempt a jumping punch toward you, getting them off screen and despawned as soon as possible.
Roughly half of the time save was due to less lag during the boss explosion.

Storm Eagle (34 frames saved)

The setup for the phantom grab looks a bit wonky, but it causes just the right boomerang movement to grab the platform without having to wait for the boomerang to loop around. I couldn't manage to improve the "real" mount on the platform with all the wallkicking, there's probably a way though.
After killing a boss, it's not unusual to get lag as the screen fades to white, but when the boss is offscreen it generally reduces all the lag. I have absolutely no idea why, but Hetfield got 15 lag frames after the explosion, when the screen was fading from white back to normal, so that's where about half of the time save came from.

Spark Mandrill (22 frames saved)

Mostly very minor improvements in this stage, things like jumping out of a dash to get onto ladders going downward instead of prematurely ending them, avoiding bonking X's head on the ceiling jumping over the first turtle (and coming 1 subpixel away from actually bonking the turtle), and a slightly faster Thunder Slimer fight despite using exactly the same strategy.
Mandrill himself is scary, so X uses some Let's Play strats and hides in the corner. I only noticed when I was trying to manipulate Mandrill for the refight, but I completely forgot to manipulate a punch at the start of this fight, losing 4 frames or so.

Armored Armadillo (18 frames saved)

This stage had a buttload of extra lives, there were more that came up in the RNG but I couldn't manage to get them. I actually have no idea why there was this much time saved in this stage, it's practically an auto-scroller. I used a c.sting shot into tornado to kill bats and reduce lag near the second cart, I suspect more lag could be reduced by not being a dummy and dash jumping instead of just dashing.
I tried really hard to manipulate dillo to roll the whole fight, but he was committed to stopping.

Launch Octopus (35 frames saved)

This stage is so laggy. Everything you do underwater causes lag. Almost everything you attempt to mitigate lag just causes orders of magnitude more. I managed to pick up a few frames of lag on the two fish submarine minibosses from killing the searchlight first, so it goes away faster during the explosion. I'm not sure if that's actually what caused it or if the game just arbitrarily decided to be less laggy this time around, it's honestly hard to tell with this game sometimes.
The bulk of the time save came from the utuboros. Killing the utuboros as soon as possible makes it take longer to blow up, lifting the camera lock. Delaying the shot by just a few frames enabled roughly a 30f faster lift of the camera lock.

Burnin' Noumander (33 frames saved)

Another stage with lots of good turnaround kicks. Time save was just improved movement, and I managed to get the second utuboros head zip, but the rest of the enemy spawns were awful. Jumping from the final hoganmer straight into the door saved a dash input.

Sigma 1 (9 frames saved)

Sigma 1 is the reason Mammoth was done last, so I had a real point to go back to and manipulate rng, since you can't make dust sprites underwater and there's almost nothing to kill in Octopus's stage. In order to manipulate the one-up to appear when I wanted it, I had to delay killing Mammoth by 1 frame (which caused a different amount of explosions, advancing the RNG by more values) and create ~17 dust sprites during the fight, hence the wonky fight with taking so much damage.
That phantom grab setup was the best I could come up with, firing the boomerang about as early as possible and dashing right into the enemy to take damage for Vile. The Vile skip itself was not too bad, I had to delay entry into the room a few frames from lack of enough enemies to kill (without adding lots of lag) in order to get a pattern that actually worked. He kept shooting the trapping shot at mach speed making it impossible to actually get hit by, luckily I found the god pattern right away and it was like ~20 frames faster than hetfield's.
I had some ideas for different Kuwanger skip setups, some were just bad, some had droughts of item drops so were impossible to attempt. So I was basically forced to use the setup straight out of the published TAS.
I needed to use 2 ice sleds, and kill a lot of enemies during the final hallway, sacrificing some frames on movement, in order to manipulate the zero-crossing first cycle on Bospider. I got fairly unlucky with RNG in this fight, a few of the cycles had absolutely no hope of a zero-crossing pattern, requiring over 100 rng advances (ie. 100+ dust sprites on walls, 10+ ice sled breaks). Because of that fight, and the preceding manipulation, I only gained 9 frames in this stage. Shoutouts to Fractalfusion for dumping every possible Bospider pattern for all RNG values, I probably would have just quit making this TAS right here without that info.

Sigma 2 (11 frames saved)

The Ride Armor strategy I was considering turned out to be by far slower, which is disappointing, because you can get a gap jump on that first ladder by jumping out of the Ride Armor. Minor improvements in this stage for the most part. Slightly different phantom grab setup, different climb pre-Penguin fight. I picked up a few frames in the pre-Eagle climb, but that was more to do with getting lucky with my subpixel positioning, letting me get upward zips in the ladder gaps faster.
Eagle was rough to manipulate, I needed a handful of dust sprites back at the penguin refight, which is fine, but the timing of killing an enemy was guaranteed to coincide with a drop if i used the right number of dust sprites, and there's no way to avoid killing said enemy. All I could do was make less dust, then delay entering the fight for a frame to get the right pattern. The ideal (I believe) pattern for the Eagle refight is if he uses two short wing flap attacks, one tornado, then goes upward to dive. His wing flapping attack can last 2, 4, or 6 seconds (maybe more, actually, I'm not sure what the cutoff is, but I haven't seen longer I think), then he pauses for 40 frames before deciding his next attack. His tornado attack lasts 180 frames. That combination of attacks enables you to get the final hit while he's off screen just beginning a dive with minimal time from when his invincibility expires.
The climb before Rangda Bangda is where I gained the majority of time in this stage. For whatever reason, Hetfield got insane amounts of lag, despite delaying movements to attempt to reduce it. For some reason I got virtually none at all, just cruising on by.
All of the wall sliding in the Rangda fight was for manipulating a punch in the Mandrill refight, apparently they're rare or something.

Sigma 3 (32 frames saved)

Fire Wave doesn't create sprites every frame, so I gained a frame by pure luck of when I decided to swap to fire to kill the turtle and my charge ended just before a new fire sprite was made, letting me swap to ice and perform the Armadillo skip earlier. I also picked up one more frame in the Chameleon refight from an earlier 2nd hit.
Keeping with tradition (it's happened twice now, so it's a tradition) I got an energy drain from Octopus which cost no time. That attack is extremely awkward, and if he does it at an inopportune time, there's no way to avoid losing time, but if you can hit him right before it starts, then you can mash out and hit him right as it ends as well.
Through the use of exceptionally bad movement, I saved a bunch of time in the hallway before Mammoth. Most of the time, just dash jumping everywhere is bad, but in this case avoiding dust takes precedence because one dust sprite might 'cause 5+ lag frames from all the other stuff going on in that section.
Most of the time save in this stage came from a new strategy in the Mammoth refight. Baiting him into jumping left repeatedly so he ends up as far left as possible at the end of the fight lets you get him far enough off screen to reduce a significant portion of lag, because the floor keeps moving you during the explosion.

Sigma 4 (7 frames saved)

There's not a ton to say about this stage, I think that's the optimal way to climb the shaft at the beginning. It'd be nice if you could just use the right wall and alternate turnaround kicks and normal wallkicks, but because you have to be flush with the wall in order to do a turnaround kick, it's better to cross over a few times in between.
I picked up some time on Velguarder somehow, despite getting a weird pattern necessitating two hits. I tried to get into the right position at the end of the fight, but there wasn't enough time to do so without Velguarder jumping again, it didn't cost time at least.
The first Sigma fight went about the same as the published TAS. I'm not sure it's possible to do it any faster. If you want to use multiple e.spark shots to get a full charge, I think you'd need two e.sparks along the wall to hit 60 frames apart, and I think they move way too fast along the wall for that to happen.
Because of taking so much damage on Velguarder, I couldn't style on Wolf Sigma too hard and do something fancy like cross to the right side.

Possible Improvements

  • As mentioned before, I totally forgot to manipulate a punch from the first Mandrill fight until it was way too late to go back and fix it
  • Getting the perfect 3 boomerang rodeo on D-Rex would save 7 frames, but I couldn't figure it out. Avoiding a chomp pattern and getting a lot of side-to-side movement instead might be helpful, but getting the boomerangs to avoid the lower half might be a chore as well.
  • Bospider was a big time loss, more heavily planning on this fight could be beneficial. Finding an "optimal" starting point in the RNG for the fight, and then shooting to reach that position in the RNG sequence would be sick, but that's beyond the scope of my ability.
  • Given how my first Mandrill fight went, I'm sure there's a bunch of silly things I overlooked, plus the usual subpixel min/maxing business. Depending on the exact position you start from when doing a gap jump, you can get the upward zip to the ground earlier. This also holds when climbing some walls.
  • The intro stage can most certainly be improved. I think at my peak, I was roughly 5 frames ahead, but lost it all due to luck and the cutscene stuff. Lag manipulation in the intro is rough.

Special Thanks

  • Hetfield90, for showing me the ropes with using BizHawk and TAStudio, offering advice and ideas over the run, and helping find the best ways to utilize turnaround kicks in the climbs.
  • Flameberger, for encouraging Ride Armor strats, suggesting to punch away lag frames, and paying attention to my incessant complaining about bad luck and dumb moments through the creation of this TAS.
  • Everyone who has created a TAS of this game in the past, I've really enjoyed watching them over the years, and the work put in has been invaluable.


This has been a fun first project, hopefully more to come in the future. Even though it's only a little bit faster than the published TAS, I hope everyone enjoys it nonetheless, as well as my essay that's too long.
Also, shoutouts to worm bois ajarmar, akiteru, allbeert, and luiz. Shoutouts to ded boi paulather.
TAS Tudio is best Tudio

Screenshot Suggestions

Samsara: Hell yes I'm judging this.
Samsara: Hell yes I'm accepting this. Excellent improvement to the published run.
fsvgm777: Hell yes I'm publishing this.

Last Edited by fsvgm777 on 6/4/2016 8:06:33 PM
Page History Latest diff List Referrers