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

Submission #4868: Hetfield90's SNES Mega Man X2 in 31:06.34

Console: Super NES
Game name: Mega Man X2
Game version: USA
ROM filename: Mega Man X2 (USA).sfc
Emulator: BizHawk 1.11.1
Movie length: 31:06.34
FrameCount: 112165
Re-record count: 27672
Author's real name: Richard Fitkin
Author's nickname: Hetfield90
Submitter: Hetfield90
Submitted at: 2015-10-04 02:32:01
Text last edited at: 2015-10-08 11:52:43
Text last edited by: Spikestuff
Download: Download (50614 bytes)
Status: published
Click to view the actual publication
Submission instructions
Discuss this submission (also rating / voting)
List all submissions by this submitter
List pages on this site that refer to this submission
View submission text history
Back to the submission list
Author's comments and explanations:
Hetfield90's Mega Man X2 v2 TAS in 31:06.4. It is 529 frames(8.8s seconds) faster than the published run. Emulator used was BizHawk 1.11.1.

Downloadable Encode

(Link to video)


  • Uses no passwords
  • Aims for fastest time
  • Heavy luck manipulation
  • Abuses programming errors in the game
  • Takes damage to save time


The bulk of the time save over v1 comes from new strategies for 5 out of the 8 Maverick fights(all but Sponge, Gator, and Crab). A number of minor improvements were made throughout the stages as well.

Tricks used

  • Gate Neon - Firing the 1st tier-3/4 buster shot into a boss door allows you charge as well as weapon swap while storing the 2nd buster shot.

  • Neon Kick - Firing the secondary tier-3/4 buster shot and wall jumping off a left wall during the animation will cause X to turn around and jump off an invisible wall to the right instead.

  • Strike Chain Disjoint - Gravity continues to increment X's y-velocity during the duration of a strike chain without changing his y-position. His y-velocity is normally reset to 0 after the strike chain ends, but spinning around for a frame during it will disjoint the the chain while preserving X's y-velocity. This can be used to fall out of a strike chain at terminal velocity, or jump out of one to clear short ledges while still gaining the x-axis speed increase from the chain.

  • Strike Chain Elevate - Firing a strike chain at a wall while jumping so that it connects the frame before X lands will cause him to touch the ground for a frame then get pulled back up to the chain's y-position. Since dash jumping has a 2 frame animation, starting the a dash jump on the frame X is on the ground will cause it to finish on the frame X is in the air, giving him a small boost that allows him to clear walls that are barely too tall to clear otherwise.

  • Shooting while remaining charged - Buffering a shot during boss load times will cause an uncharged shot to go off on the first frame of the fight without expending your charge.

  • Charging during projectile travel time - Creating distance between X and a boss before you fire an uncharged shot allows you to gain a head start on your next charge equal to the projectile's travel time. This makes some pattern of alternating between charged and uncharged shots the fastest way to kill the majority of bosses in the SNES X games, although it was only used on 3 bosses in this run.

  • Luck manipulation - Creating a dust sprite by sliding down a walls, killing enemies, firing bubble splash, firing speed burner, and delaying frames as a last resort are the best ways to manipulate RNG.

Stage Info

Table of time saved per stage

v1: Frames v2: Frames Frames Saved Time Saved(approx.)
Intro-Arm Capsule 14208 14198 10 0s
Gator(Post-Arm Capsule) 9294 9254 40 .5s
Stag 6548 6488 60 1s
Moth 8297 8206 91 1.5s
Centipede 8336 8267 69 1s
Snail 6389 6290 99 1.5s
Ostrich 6717 6697 20 .5s
Crab 6435 6416 19 .5s
X-Hunter 1 5852 5831 21 .5s
X-Hunter 2 5362 5359 3 0s
X-Hunter 3 5494 5492 2 0s
Boss Rush 20353 20255 98 1.5s
Final Stage 9409 9412 -3 0s
Total 112694 112165 529 8.8s

Intro-Arm Capsule(10 frames saved)

  • Since the arm capsule only opens when the screen is centered and Gator's stage's screen shakes are dictated by the global timer, these 10 frames saved were from lag reduction. I found a couple ways to save gameplay frames at the beginning of Gator's stage, but somewhere around 10-15 more frames would need to be saved to make an earlier screen shake cycle(I don't know the exact number since I sacrificed some gameplay frames in favor of lag reduction in some places).

Wheel Gator(Post-Arm capsule)(40 frames saved)

  • Wall kicking off the capsule during the buster upgrade demonstration not only allows you to gain dash speed to dodge the platform below, but prevents the second shot from going off to let you start charging much earlier. This allows you to get 2 charged strike chains in before the ride armor instead of only one, and removes the necessity of waiting on the floating platforms.

  • Two strike chain elevates were used in the final climb of the stage. It's almost always faster to avoid wall jumping over short walls if there is another alternative(strike chain elevate, slope jump, damage boost, etc...)

Flame Stag(60 frames saved)

  • The neon kick near the heart allowed me to save 1 frame by taking more equidistant wall jumps. I wish there were more uses for this trick. It works in X3 as well but I couldn't find any uses for it there.

  • Using a spinning wheel to charge up a t3 buster shot adds one extra damage at the cost of 0 frames since Stag's first i-frame reset occurs at a fix time after his first climb. Forcing him to dash up the wall at the end of the fight for a specific number of frames allowed me to get a frame perfect i-frame reset for the final hit.

Morph Moth(91 frames saved)

  • I wasn't lucky enough to get 2 big ammo drops from the mid-stage bugs this time around like I did in v1, so I had to get creative. Since charge strike chain guarantees a small drop from anything it kills, including bosses and miscellaneous objects, I was able to use it to farm ammo off the floating junk during the down time of the 2nd miniboss.

  • Not only does the secondary t3 buster shot takes off Morph Moth's "burning" i-frames, but it does not even cause i-frames itself, allowing you to hit him with speed burner>charged buster>speed burner in rapid succession.

Magna Centipede(69 frames saved)

  • Using speed burner to trigger the the last set of blocks that you have to wait for triggers them 4 frames later than the normal strike chain, but it lets you starting charging earlier so you can use 2 speed burners after instead of 1, and still have enough time to charge silk shot for Chop Register.

  • Strike chain's duration is determined by the X buster's distance from X's hitbox at the time he fired the chain as well as the time it finished retracting. Since the dashing animation has the greatest distance between buster and hitbox and the idle animation has the shortest, firing the chain from a dash pose then standing idle while it finishes retracting is the only way to get the max duration strike chain(40 frames), and taking damage from Centipede and standing inside of his hitbox with i-frames is the only way to pull this off.

Crystal Snail(99 frames saved)

  • Hitting Snail with a secondary t3/4 buster shot while his shell is being detatched from a mine hit will cause his shell to disappear for some reason.

Overdrive Ostrich(20 frames saved)

  • You can get small horizontal zips going up the big incline by jumping on specific frames(or you can crash the bike by zipping into the floor if you jump on the wrong frame). I didn't use these zips since I ended up getting way too much lag in the stage later on when I did them.

  • Starting the fight with crystal hunter instead of buster allows you to hit an unfrozen Ostrich with crystal hunter while he is on the ground once during the fight. This saves time since the timer for him to thaw does not start until he lands if you freeze him midair.

Bubble Crab(19 frames saved)

  • Turns out it's faster to use charged strike chain before the water draining sequence instead of during it.

X-Hunter 1(21 frames saved)

  • Violen's post fight diologue does not start until X is standing. Because of this, I had to manipulate specific actions so that I could finish the fight with a ball and chain that did not last long enough to cause lag.

X-Hunter 2(3 frames saved)

  • I avoided a lag frame around the junk robots, avoided a wall jump pose change during the elevator skip, and took a slightly more optimal damage boost at one frame worth of improvement a piece.

  • You can kill the green robot before the door faster with silk/wheel, but then you would just end up having to wait longer for charged magnet mine to set up the Neo-Serges fight.

X-Hunter 3(2 frames saved)

  • The wall at the beginning of the stage is prime real estate for a strike chain elevate, but since you have to kill all the enemies instead of passing through them with i-frames while charging like in the pizza damage boost strat, it ends up being slower by losing a speed burner later on.

  • The Neo-Agile strat didn't change from version 1, but I feel the need to reiterate how painfully awful it is to manipulate. To pull this off, you have to simultaneously manipulate the direction of Agile's left/right movements, how many of these movements he does before each attack, which attack he does(it has to be girders), and how long he waits before dropping the girders, all so that you can get inside of him and fire the buster shots from wall slides to remove a little travel time.

Boss Rush(98 frames saved)

  • Capsule Room - Avoiding a wall jump in favor of a platform jump while going to the top 2 capsules saved 6 frames each time.

  • Stag - Nothing changed in this fight from v1 either but I also feel compelled to reiterate how painfully awful it is to TAS a fight with bubble splash. Not only are the bubbles' speed, duration, and trajectory determined by RNG, but each bubble manipulates the others' patterns as well, which is very problematic when you need the bubbles to pop at specific times so you can switch to buster. I somehow managed to avoid the fireball around the 2nd buster shot, which I thought was impossible in v1. This allowed me to save 3 frames on Centipede by taking an additional damage boost.

  • Centipede - There was a glaring flaw in this fight in v1 which I somehow didn't notice until making this run. Since one strike chain during the fight is not used to set up a buster shot, it should be the first chain of the fight where Centipede is not already under i-frames. Even though I had enough hp to take another damage boost, it saves more frames in lag reduction to do one on Moth instead.

  • Ostrich - Moving close enough to Ostrich before the fight so that you can buffer a crystal hunter shot during the load time will allow you to bypass his initial deflection period(he is only vulnerable for 1 frame at the start of the fight).

  • Crab - Since it requires somewhat of a specific pattern to get a frame perfect fight, I hex edited bubbels before Ostrich until I was able to get the pattern I needed for it.

  • Snail - Buster can hit Snail at the start of the fight 7 frames before mine can. You can make up the damage by hitting him an extra time with the charged magnet mine.

Final Stage(3 frames lost)

  • Using strike chains at the beginning of the stage instead of speed burner like in the first visit doesn't save or lose frames.

  • One frame was lost from the blocks in the middle of the stage that you have to wait for moving slower than in v1. I didn't even realize it was possible for the blocks to move at different speeds until after finishing the TAS, but since it is not caused by RNG, I don't think there is anything that can be done about it(perhaps it is determined by global timer or other uncontrollable factors). The other two frames were lost from a random lag frame during the Zero/Sigma cutscene and a longer load time before the Neo Sigma fight. I don't think these frames can be saved without sacrificing frames somewhere else.

  • To get a frame perfect Neo Sigma fight, you need RNG to yield a swipe pattern at specific intervals throughout the fight in order to abuse his i-frame resets to get the triple and quadruple sonic slicer hits. Getting him to swipe 7 times in a row and then end the fight with a non-immunity action like this has about a 2% chance of occuring. Luckily there was a seed that yielded this pattern within 27 values when I got to the fight, so I was able to manipulate it with 9 bubbles beforehand, but if necessary I could have reached as far as 100+ values by manipulating bubbles into the Morph Moth refight transition phase like I did in v1.

In Closing

People who I owe thanks to for helping me complete this run:

  • FractalFusion: for coming up with 4 of the Maverick boss strats that were improvements over v1, his lua scripts, and providing his encode.

  • Hidaigai: for showing me his WIPs of his Shoryuken run that had several optimizations that were improvements over v1.

  • Gameopoona: for coming up with the arm capsule kick, neon kick, and Morph Moth fight strats which were improvements over v1.

Screenshot Suggestion

Samsara: Mega Claim X2!

Samsara: Impressive work in your continued domination of the classic X series, Hetfield. Accepting as an improvement to the published run.

Spikestuff: Mega Man! Mega Man!

Similar submissions (by title and categories where applicable):