Hetfield90's Mega Man X2 TAS in 31:15.15. It is 1900 frames(~31.5 seconds) faster than the published run in terms of actual gameplay improvements, and 1453 frames(27.3 seconds) faster outright due to disparities in lag/load time emulation as well as frame rate between Snes9x 1.43 and BizHawk. Emulator used was BizHawk 1.9.4.

Goals

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

Overview

For as long as I've been involved in Mega Man X2 speedrunning, it had been largely taken for granted that the fastest method of completing the game involved obtaining the Shoryuken, and such has been done in RTA and TASing of this game ever since Blechy's TAS from 2004. But while I was on Gator's stage in the making of this TAS (at this point still collecting items for Shoryuken), FractalFusion brought it to my attention that the two routes could actually potentially be very close. After testing the differences between the two routes using known any%/low% strats, I concluded that it was ~5 seconds faster to forego obtaining the Shoryuken. However, over the course of making this TAS, through the development of new strats specific to this route which acquires only the buster upgrade, the time saves of the route reached as high as ~18.5 seconds. More details on the differences between the two routes can be found in this table.
Now what was previously the category most similar to real-time gameplay within the SNES Mega Man X games, Mega Man X2 Any% now is arguably the least. Because of the nature of Shoryuken cutting out a substantial amount of RNG and difficult execution, the route/strats in this TAS will likely never be attempted by any real-time speed runner seriously intending to compete with top Shoryuken times.

Tricks used

  • 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.
  • Shooting while remaining charged - This can usually be done by pressing shoot during the load time before a boss fight.
  • Storing charges - By pressing shoot during a period where X cannot actually fire(door transitions, wall jumps, pause menu, etc...) after your first charge shot has already been expended, you can store the secondary pink charge shot while starting a new charge.
  • Luck manipulation - Creating dust sprites by sliding down walls, killing more(or less) enemies, and shooting Bubble Splash were the main methods of RNG manipulation used in this run.

Stage Info

Table of time saved per stage

Here is a simplified version of the of stage by stage comparison table which discounts lag and load time disparities between Snes9x 1.43 and BizHawk. The detailed version can be found here. Obviously the large time saves and losses can be attributed primarily to route differences, but this was done mainly to measure emulation differences.
Hetfield90 FramesPublished FramesFrames SavedTime Saved(approx.)
Intro1605161050s
Sponge339237153235.5s
Gator522154622414s
Stag300435085049.5s
Moth50126757174529s
Centipede5079572064110.5s
Snail30105560255042.5s
Ostrich25814058147724.5s
Crab305935895309s
X-Hunter 13101313736.5s
X-Hunter 22329233010s
X-Hunter 3282332774547.5s
Boss Rush69342107-4827-80.5s
Sigma Stage50013221-1780-29.5s
Stage Selects94594500s
Total5309654996190031.5s

Intro Stage

  • Shooting a random buster shot before the first ladder avoided a lag frame. This phenomenon was extremely prevalent in X1, but interestingly enough this was the only time it was used in this TAS.
  • I had to take some really specific movements to avoid lag in the Giant Mechaniloid fight, but 3 frames at the start were unavoidable.

Wire Sponge

  • Better sub-pixel positioning to set up higher ladder gap jumps and the left wall jump after the second ladder were the only two real improvements on this stage.
  • I delayed killing Sponge by 7 frames because of the game's global timer and how it corresponds to recurring screen shakes in Gator's stage and the arm upgrade capsule.

Wheel Gator

  • The game has a global timer which repeats every 64 frames and is responsible for a couple things(namely the interval of screen shakes in Gator's stage, the duration of Centipede's tail spins, the speed of Snail's spiral, and when dust sprites from dashes/wall slides occur). This global timer is particularly annoying, because it can't be manipulated in any way, and you simply have to work around it. For Gator's stage, every time the global timer resets back to 0, it initiates a screen shake. The duration of this screen shake is then determined by the RNG value on that frame, which can be anywhere between 32 to 64 frames, and for whatever reason, capsules in this game do not open until the screen is perfectly centered. Unfortunately, the only way to optimize this in routes that start Sponge>Gator(whether you are collecting the upgrades in Sponge's stage or not) is to manipulate a 32 frame screen shake just before you reach the capsule(namely through dust sprites from wall slides during the Sponge fight), and then delay your movement so that you reach the capsule the frame after said screen shake ends(so that you can get your toe in the capsule during the dialogue with the strike chain). I had to delay 12 frames in the buster upgrade-only route, and FractalFusion had to delay 9 frames in the Shoryuken route.

Flame Stag

  • Flame Stag comes after Gator instead of Crab(which would have been weakness order), to get the X-Hunters off minimap during stage selects sooner, and to have Sonic Slicer to kill the giant fish in Crab's stage later on.
  • The charged Spin Wheel to kill the all of the flying squirrels in the final volcano climb is a pretty cool strat shown to me by JRTA'er Gameopoona which I had never thought of before. It allows you to take more optimal movement than climbing the right side and Strike Chaining across.
  • 60 frames were saved over the published run on the Stag fight. By forcing him to come down at a specific point in his climbing pattern, you are able to make better utilization of his i-frame reset from throwing fireballs.

Morph Moth

  • With no helmet upgrade in this route, ammo drops had to be manipulated half-way through the stage to facilitate more liberal Speed Burner usage.
  • While doing the Morph Moth refight, I learned that taking damage in the first phase (so that you are flashing while the junk is on screen) actually reduces a lot of lag, and was able to hex edit this into the first fight to save 13 frames. This made all of the subsequent segment start and end frames inaccurate in my detailed table, but this does not matter since it had no effect on the durations of the segments.

Centipede

  • I overlooked that you can wall jump while box zipping(as opposed to when you reach the wall on the other side) on the first time through the stage in this run. 3 frames can be saved by doing this on the last box before Chop Register.
  • I didn't discover the infinite tail spin glitch on Centipede until doing the refight of this run. 34 frames can be saved here by implementing the glitch. Here is a bk2 [dead link removed] of what the fight would be like].
  • A stored charge shot was used at the beginning of this fight to take away the long shooting animation of the first pink charge shot.
  • If you fire a Silk shot on the very first frame you reach a pink charge, you can sometimes hit Centipede for 4 damage without taking off his tail. For whatever reason, though, this seemed to work only once on this fight and not at all on the refight.

Snail

  • The Crystal Snail miniboss skip can actually be performed via 6 different methods on BizHawk, SNES, and VC. 4 of these even work on Snes9x 1.43. Here is a video [dead link removed] of the various skip methods being done on both emulators if anyone is curious. The likely reason for the possibility of the glitch is the camera lock not initiating in time due to fast movement speed and/or sprite overload.
  • FractalFusion discovered that jumping after firing a pink charged buster shot while dashing glitches out your hit box to retain dash height indefinitely as long as you don't stop moving, touch a wall, or dash. This allows you to walk under the large crystal and jump to zip outward when it reaches a certain spot. This trick saves about half a frame.
  • The speed at which Snail does his spiral before the fight starts is determined by the global timer. It varies by 30 frames from best to worst, and the pattern repeats every 8 frames. I didn't notice this until I was hex editing some things in the boss rush, so I was able to hex edit the best pattern into the refight, but unfortunately the first fight got the worst pattern.

Ostrich

  • Grabbing the ledge before the bike after the final ladder clip was just barely possible. The first ladder clip broke even, and clipping through the 2nd ladder would have lost frames due to lag.
  • Starting with buster on Ostrich, I was able to save 16 frames on this fight over the published run. Originally I tried to keep him far away from me to get an off screen explosion, but then I learned that off screen explosions do not actually reduce any lag in X2. So instead, I kept Ostrich as high up as possible so that his i-frames reset sooner by hitting the ground sooner after being frozen.

Crab

  • I didn't think to use Crystal Hunter in the final climb until Hidaigai pointed it out to me after seeing my WIP, which saved a couple frames.
  • gameO Shiki Energy Bon-Bon Kani Goroshi: After firing a charged Spinning Wheel, the core of the lingers in the place you fired it for some amount of time(although it is invisible). By positioning it at a specific height over Bubble Crab's head, he will take damage from the bottom petal and then jump into the core to take a second instance of damage just before it despawns. I started with a stored charged shot because you can't swap off buster fast enough to place the first uncharged Spinning Wheel so it despawns before you would place the subsequent charged wheel to do a double hit. Since a stored charge shot with a tier 2 buster does 5 damage, only 1 charged wheel double hit was needed. Thanks to Gameopoona for coming up with this strat.

X-Hunter 1

  • Since there are several walls in this stage which are just barely too tall for X to clear, sometimes it is fastest to wall jump at the top of them and then use Speed Burner to eliminate the time that you would be moving away from the wall if you had allowed the wall jump animation to continue its full course.
  • The bubble fired at the end of the boss hallway helped to manipulate Violen's pattern. He absolutely had to do a triple jump pattern for 2 reasons: the ball and chain move causes immense amounts of lag, and so I could end the fight on top of the block for a faster warp-out.

X-Hunter 2

  • Air dash is actually pretty useful on this stage, so I lost almost a second during the stage itself over the published run, but part of the time loss was to set up the charged Magnet Mine that takes out 2 of Serges' cannons before the fight even starts, where I saved a second over the published run. Unfortunately, since the charged Magnet Mine spaces out the destruction of the cannons, only 2 platforms are left during the fight, which were too far apart at the end of the fight for me to climb to the high one to get a shorter warp out.

X-Hunter 3

  • Neo-Agile was a pretty difficult fight to manipulate. I manipulated him to be near the wall for the first buster shot with Bubble Splash during the spike section at the end of the stage, and every subsequent buster shot required even more specific manipulation. Not only did the interval between his actions needed to be manipulated, but they also needed to be manipulated to be him playing Tetris. He then needed to be manipulated to break the girders at a specific time so that I could take damage, fire the charged buster shots from a wall slide inside of his hitbox as soon as I attained a tier 3 charge but before the girders fell too low for me to hit him. Timing of the last one occurred so that he died just before he was able to scroll the camera up, giving me a shorter warp out.

Boss Rush

  • Flame Stag - I don't even want to talk about how painfully annoying of a weapon Bubble Splash is to TAS with. Not only are the speed, duration, and trajectory of the bubbles based on RNG, but they manipulate boss RNG themselves when you fire them. I started my charged during the warp in at a specific time so that I would reach t3 charge and stop firing bubbles as soon as the last one that hit him before the first charged shot was fired. By firing it from far away I was able to reach a full t4 shot before his i-frame reset from the fireball throw occurred. Another annoying part of TASing this fight is that you want to fire the buster shots from wall slides to remove the shooting animation time, but shooting bubbles forces Stag to throw fire balls which resets X's i-frames and interrupts his jumps, so it is almost impossible to jump over him to get to the wall closest to him. I managed to get around this on the final shot by expending my first charge shot by taking damage at a specific time and letting go of shoot during the knock back animation.
  • Bubble Crab - Spinning Wheel is almost equally annoying as Bubble Splash to TAS, but for different reason. For whatever reason, Spin Blade doesn't start dealing damage until 13 frames after firing it, and then only attempts to do damage every 11 frames thereafter. Because of this awkward interval, Spin Blade would normally only damage Bubble crab every 66 frames, and you would lose 6 frames on each hit. However, by manipulating Crab's movement so that he walks out of the wheel, allowing it to fall for a specific number of frames before he throws up his pincers, catching the wheel again, the wheel's damage interval is thrown out of whack and can actually damage him every 60 frames.
  • Centipede - The infinite tail spin glitch is pretty simple, so simple that I'm amazed no one has ever found it before. All you have to do is dash jump at a wall and slide down it while the tail pieces are homing in on X and they derail. The more you come into contact with walls throughout the fight, the more their trajectories change until they will eventually sync back up around X.
  • Sponge - This fight has to separated by damaging him to get him to 10 health as quickly as possible, then killing him from there as quickly as possible without knocking him off his vine and forcing desperation mode. Charged Sonic Slicer double hits are the fastest way to damage him at 10 damage a piece; you can fit two in during phase 1 with the addition of a Speed Burner, uncharged slicer, or buster shot. You can't double hit him in phase 2 without knocking him off his vine, so a magnet mine(1 damage) was used to bring him to 5 hp while allowing a charge as soon as possible for a charged slicer single hit to finish him off.
  • Gator - The first chain was fired on the last possible frame to reduce lag.
  • Morph Moth - The bubbles in between the two phases were manipulation for Neo-Sigma.
  • Capsule room movement - Using Strike Chains to get to the top 2 capsule causes a lot of lag on BizHawk, so I opted for Speed Burner instead.

Final Stage

  • Zero - Starting with speed burner not only hits Zero sooner than buster, but it allows you to use some more optimal Strike Chains/Speed burners during the stage as well. The subsequent buster shot can also damage Zero while he's in i-frames to save even more time. The fight ends when Zero reaches 1 hp, so a 3 damage buster shot is worth two 2 damage Speed Burners. I tried as hard as possible to make it look like Zero has an AI in this fight since all of his attacks are strictly positioning based. You can literally stand just outside of saber range while jumping over his green shots and spamming Speed Burners into him every 60 frames for the whole fight. You want the fight to end with X near the left wall and Zero near the right, otherwise they will take time walking into the positions before Zero dashes to X and starts his dialogue.
  • Neo Sigma - Even with ample time to fire Bubble Splash beforehand, this fight was a nightmare to manipulate. Every time Sigma leaves slashing animation, his i-frames reset, so you want him to literally do this for every single attack throughout the fight(the final action can be anything but Kamehame which turns him invincible). Dude nice quadruple Sonic Slicer hit.
  • Sigma Virus - This fight wants to be very laggy on BizHawk, but it can be executed without lag by using only point blank Strike Chains and avoiding pressing 3 inputs simultaneously on any frames that a Strike Chain, ammo drop, laser, or enemy was out. FractalFusion redid the end of this fight to save 8 frames over what I previously had by reducing lag and getting a quicker head rotation after the fight was over.

Possible Improvements

  • Charged chain into a wall jump instead of ground jump at the start of the final climb in Stag: 5 frames.
  • Use the infinite tail spin glitch on the first Centipede fight: 34 frames.
  • Wall jump on the first possible frame during the last block zip before Chop Register: 3 frames.
  • First Snail spiral: 30 frames.

In Closing

I am glad I made this TAS since the route is something so different from what has ever been seen in TASes and RTAs before, but I don't think I will try to improve it any time soon unless some more optimizations are found, despite some already being known that weren't feasibly hex-editable into this run. Since this TAS obsoletes the Shoryuken run, my next submission will be a 100% run which collects the Zero parts in addition to Shoryuken.

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

  • FractalFusion: For his published any% and low% runs, making a different Lua script for every single difficult boss fight in this run, coming up with the strats for multiple end game fights (Neo-Agile, Sponge refight, Zero, Neo-Sigma, Sigma Virus), watching my stream and offering input every step of the way during the TAS, and providing his encodes.
  • Gameopoona: For coming up with a lot of strats in RTA which were improvements over the published run and ended up being used in this run.
  • Hidaigai: For watching my WIPs and notifying me of improvements that could be made.
  • The"Half a Frame"Sid: For being a genius ahead of his time.

Screenshot Suggestion


Nahoc: Judging...
Nahoc: Accepting.
Guga: Processing...


TASVideoAgent
They/Them
Moderator
Joined: 8/3/2004
Posts: 15536
Location: 127.0.0.1
This topic is for the purpose of discussing #4714: Hetfield90's SNES Mega Man X2 in 31:15.15
Editor, Expert player (2071)
Joined: 6/15/2005
Posts: 3282
Note: The Youtube video is to be watched at 720p60 mode which has full 60fps; the other modes are bad because they are 30fps. Some more encodes: Downloadable encode at MediaFire(~98.9MB): http://www.mediafire.com/watch/x339i2ijk7vzk49/mmx2_hetfield90.mp4 Nicovideo: (account) Part 1: http://www.nicovideo.jp/watch/sm26417384 Part 2: http://www.nicovideo.jp/watch/sm26417342 (no account) Part 1: http://www.nicozon.net/watch/sm26417384 Part 2: http://www.nicozon.net/watch/sm26417342
AzumaK
He/Him
Joined: 5/5/2011
Posts: 42
I always see these amazing submissions right before I go to bed. Ah well, looking forward to more delicious FractalFusion encodes in the morning! Also pumped for 100% X2. Hetfield90, you are a beast.
Currently obsessed with: Mega Man 2 hacks, SFA3, Super Metroid Zero Mission, MM8BDM (Skulltag MegaMan mod, it's amazing!)
Player (184)
Joined: 10/8/2006
Posts: 145
Excellent!I'm glad you were able to find improvements significant enough to ignore the shoryuken. Immaculate work and highly entertaining. obvious yes vote.
Editor, Skilled player (1438)
Joined: 3/31/2010
Posts: 2106
That was sweet. Absolute yes vote.
Experienced player (766)
Joined: 12/20/2009
Posts: 120
Good job. I saw some improvement. Yes vote
Joined: 1/19/2010
Posts: 146
Jesus... Very highly interesting and entertaining. A yes vote from me. I can imagine a lot of situations here being very frustrating. Don't burn yourself out.
EgixBacon
He/Him
Player (184)
Joined: 4/15/2013
Posts: 331
Location: In the attic
This is the second MMX game. There are 12 physical buttons on the SNES controller. 2*12 = 24. The author's name is Hetfield90. 90 - 24 = 66. 66 turned upside-down is 99. Mega Man has two eyes. 99 is two digits of 9. You know what that means, people? Anyway, I'm happy to see that this is finally on the bench. Yes Vote!
FanFiction|Youtube Still on Win7! Take that, Microsoft!
Former player
Joined: 9/13/2010
Posts: 138
Location: Tallahassee, FL
At the end of Hunter Stage 2, would it not be faster to hit the last enemy with wheel as it comes out faster and kills instantaneously? I know you can shot the mine earlier but it is not an instant kill. Is their a difference in time? This is a great display of knowledge on all front of this game. Lots of subtle tec I have not seen before and is really is awesome. I also like how you troll the game in some areas... as if the entire tas is not a troll to the game in the first place...
Editor, Experienced player (884)
Joined: 1/23/2008
Posts: 529
Location: Finland
Huh, this might be my first time watching a Mega Man X2 TAS. And as expected, it's quite impressive. It's fun watching the fast action and creative use of different weapons. Seems like a great TAS, however... my interest weans towards the end because boss refights are the worst! But let's just say it's a yes vote.
Skilled player (1245)
Joined: 8/29/2014
Posts: 302
Heidman wrote:
At the end of Hunter Stage 2, would it not be faster to hit the last enemy with wheel as it comes out faster and kills instantaneously? I know you can shot the mine earlier but it is not an instant kill.
You can kill him faster with wheel or silk shot, but then you would have to wait around longer for a pink charge to take out 2 of neo-serges' cannons with charged mine before the fight starts. How early you start this charge is the only thing that matters here, so mine is used.
Fortranm
He/Him
Editor, Experienced player (877)
Joined: 10/19/2013
Posts: 1121
Congratulation for the new route and the half minutes improvement! YES vote.
Player (36)
Joined: 9/11/2004
Posts: 2630
EgxHB wrote:
This is the second MMX game. There are 12 physical buttons on the SNES controller. 2*12 = 24. The author's name is Hetfield90. 90 - 24 = 66. 66 turned upside-down is 99. Mega Man has two eyes. 99 is two digits of 9. You know what that means, people?
You're voting nein?
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Active player (263)
Joined: 8/14/2014
Posts: 188
Location: North Kilttown
Obvious NO vote due to no boomerang cutter :P I better not have to explain that this is sarcasm.
Somewhat damaged.
Invariel
He/Him
Editor, Site Developer, Player (171)
Joined: 8/11/2011
Posts: 539
Location: Toronto, Ontario
Next, Hetfield90 improves the X & X2 & X3 run and is the 2015 FractalFusion. Also, obvious yes vote for some incredible strats.
I am still the wizard that did it. "On my business card, I am a corporate president. In my mind, I am a game developer. But in my heart, I am a gamer." -- Satoru Iwata <scrimpy> at least I now know where every map, energy and save room in this game is
Active player (437)
Joined: 4/21/2004
Posts: 3517
Location: Stockholm, Sweden
Truly astonishing work. Very proud of you. Everything felt very calculated and improved to the maximum. Easy yes vote and I sincerely hope you keep improving the X-series. Here is hoping that your next run will be X2 100% or X3.
Nitrogenesis wrote:
Guys I come from the DidyKnogRacist communite, and you are all wrong, tihs is the run of the mileniun and everyone who says otherwise dosnt know any bater! I found this run vary ease to masturbate too!!!! Don't fuck with me, I know this game so that mean I'm always right!StupedfackincommunityTASVideoz!!!!!!
Arc wrote:
I enjoyed this movie in which hands firmly gripping a shaft lead to balls deep in multiple holes.
natt wrote:
I don't want to get involved in this discussion, but as a point of fact C# is literally the first goddamn thing on that fucking page you linked did you even fucking read it
Cooljay wrote:
Mayor Haggar and Cody are such nice people for the community. Metro City's hospitals reached an all time new record of incoming patients due to their great efforts :P
ALAKTORN
He/Him
Former player
Joined: 10/19/2009
Posts: 2527
Location: Italy
In the X series can you jump first and dash a frame or so after to get dashjumps or do you have to dash first?
Skilled player (1245)
Joined: 8/29/2014
Posts: 302
For ground jumps, the dash must be input either on or before the frame of the jump. For wall jumps, you have something like 5 frames where you can input dash after the jump to still get dash speed.
ALAKTORN
He/Him
Former player
Joined: 10/19/2009
Posts: 2527
Location: Italy
Hetfield90 wrote:
For wall jumps, you have something like 5 frames where you can input dash after the jump to still get dash speed.
Is/can that be abused to save time?
Skilled player (1245)
Joined: 8/29/2014
Posts: 302
Well after obtaining the leg parts, you have to input the dash after the jump if you are wall jumping from further away from the wall and not already in dash speed, otherwise air dash will override the jump.
bjw
Joined: 3/22/2014
Posts: 4
Location: CA, USA
Beautiful.
ALAKTORN
He/Him
Former player
Joined: 10/19/2009
Posts: 2527
Location: Italy
Hetfield90 wrote:
Well after obtaining the leg parts, you have to input the dash after the jump if you are wall jumping from further away from the wall and not already in dash speed, otherwise air dash will override the jump.
I meant if for example when walljumping over an obstacle going to the right, it was worthwhile to delay the dash for a few frames until the movement to the right kicks in rather than dashing from the start and getting a boost in speed while moving away from the wall.
Skilled player (1245)
Joined: 8/29/2014
Posts: 302
Oh I see. No because you are stationary for the frames which you are still able to input dash. Edit: Actually you pretty much described double-kicking. Since you can wall jump anywhere between 0-7 pixels away from a wall, sometimes you start with a non-dash jump from right up against the wall to give yourself extra height(while not moving away from the wall too quickly) then do a dash wall jump when you reach the end of the wall jump range. It was used in the exact scenario you described in phase 1 of the first Moth fight in this run.
Player (13)
Joined: 6/17/2006
Posts: 506
This run is amazing! I marvel at the precise movements, how you're using the charge so effectively and the bosses manipulation! Easy Yes vote from me!
EgxHB wrote:
This is the second MMX game. There are 12 physical buttons on the SNES controller. 2*12 = 24. The author's name is Hetfield90. 90 - 24 = 66. 66 turned upside-down is 99. Mega Man has two eyes. 99 is two digits of 9. You know what that means, people?
You mean...you don't know?! How could you not know?! That's...that's practically blasphemous. Say you're sorry! Apologize to the funyarinpa! #4infinity
Experienced player (643)
Joined: 11/23/2013
Posts: 2230
Location: Guatemala
EgxHB wrote:
This is the second MMX game. There are 12 physical buttons on the SNES controller. 2*12 = 24. The author's name is Hetfield90. 90 - 24 = 66. 66 turned upside-down is 99. Mega Man has two eyes. 99 is two digits of 9. You know what that means, people?
MM9 TAS confirmed. I'm done.
Here, my YouTube channel: http://www.youtube.com/user/dekutony