Hetfield90's Mega Man X 100% TAS in 33:48. It is 1329 frames (22.2 seconds) faster than the published run by gameplay improvement, and 400 actual frames (~10s) faster (due to emulator frame rate and lag emulation/load time accuracy disparities). Emulator used was Bizhawk 1.9.1.
- Uses no passwords
- 100% item collection
- Aims for fastest time
- Uses speed/entertainment tradeoffs
- Abuses programming errors in the game
- Manipulates Luck
- Takes damage to save time
- Dies to save time
There were two main inspirations which catalyzed this run: one of which came from a glitch (known as the Phantom Grab) discovered by Luiz "The Pride of Brazil, Slayer of Goku" Miguel, which allows you to replace objects inside of a boomerang by collecting another item with the boomerang on the same frame the new one spawns. This glitch was utilized to save a substantial amount of time and even changed the route to one which was previously thought to be impossible. Since this route is still far less than practical for real-time speed runs, I wanted to showcase it (as well as other optimizations that have been discovered by myself and other RTAers since Dezbeast's run was published) in a TAS.
The other came from FractalFusion and Rolanmen1's 100% TAS WIP, the movement of which I essentially copied exactly for the first 3 stages of this TAS (and even some of their downtime swag as well). When I saw their TAS WIP it was like art in motion to me, and it really got me thinking about what new things can be added to a 100% TAS.
Table of Time Saved in levels:
| Published: Total Frames|| My Run: Total Frames|| Published: Lag Frames|| My Run: Lag Frames|| Published: Gameplay Frames|| My run: Gameplay Frames|| Gameplay Frames Saved|| Time Equivalent to Gameplay Frames Saved(approx.)|
| Intro|| 5735|| 5758|| 4|| 23|| 5731|| 5735|| -4|| 0.1s|
| Penguin|| 6587|| 6540|| 1|| 5|| 6586|| 6535|| 51|| 0.9s|
| Kuwanger|| 5341|| 5278|| 14|| 53|| 5327|| 5225|| 102|| 1.7s|
| Chameleon|| 6313|| 6401|| 9|| 17|| 6304|| 6384|| -80|| -1.3s|
| Eagle|| 6029|| 5753|| 49|| 129|| 5980|| 5624|| 356|| 5.9s|
| Mammoth|| 5127|| 5157|| 2|| 37|| 5125|| 4120|| 5|| 0.1s|
| Penguin Revisit|| 2218|| 2205|| 3|| 6|| 2215|| 2199|| 16|| 0.3s|
| Mandrill|| 4740|| 4718|| 8|| 38|| 4732|| 4680|| 52|| 0.9s|
| Armadillo|| 12229|| 12314|| 136|| 309|| 12093|| 12005|| 88|| 1.5s|
| Octopus|| 4807|| 4938|| 125|| 252|| 4682|| 4686|| -4|| -0.1s|
| Sigma 1|| 4780|| 4869|| 6|| 34|| 4774|| 4835|| -61|| -1s|
| Sigma 2|| 3080|| 3127|| 1|| 20|| 3079|| 3107|| -28|| -0.5s|
| Sigma 3|| 3274|| 2486|| 26|| 65|| 3248|| 2421|| 827|| 13.8s|
| Sigma 4|| 1706|| 1697|| 0|| 0|| 1706|| 1697|| 9|| 0.2s|
| All Stages|| 71966|| 71241|| 384|| 988|| 71582|| 69253|| 1329|| 22.2s|
Because the published run was made on Snes9x 1.43 (which saves a substantial amount of time over Bizhawk 1.9.1 in lag emulation/load times) and I wanted to know how much I improved upon the published TAS in actual gameplay (and in which places), I measured the the parameters of each section of gameplay in each TAS (to discount load time disparities) and counted lag frames to discount those as well. Of course, this undermines the fact that both TASes were made to achieve fastest completion time and reduce lag as much as possible (and that different parts of each TAS did a better job at reducing lag than the other), but I felt that knowing this extra information couldn't hurt. More info on what parameters I used to exclude load times and which frames were lag frames in each TAS can be found here
All frame save/loss values exclude lag frames and load times.
Intro(4 frames lost)
- This vile is far from optimal, but after 15+ hours of trying to manipulate him, this was the best I could get and I really wanted to continue with the rest of the run at that point. The fact that didn't notice the ship misalignment on the iteration I ended up going with is mind boggling.
Chill Penguin(51 frames saved)
- Walking backwards for exactly one frame and then jumping two frames later makes utilizing slope speed from even gentle inclines worth it. Also, log zips are cool.
- I didn't use the soft music glitch on this stage or any other stages in the run even though it saves frames because I like Mega Man X's sound track and want to hear it at full volume.
Boom Kuwanger(102 frames saved)
- This is essentially an exact replica of the Kuwanger stage from FractalFusion and Rolanmen's 100% TAS WIP, so all credits go to them here. Time saves over Dezbeast's run include the right wall climb in the first room, an additional laser damage boost, elevator skip, 2 additional gap jumps, and the ceiling kick after the heart.
Sting Chameleon(80 frames lost)
- Generally Sting Chameleon is the 8th Maverick in 100% so you have water in the pit to get the heart, but by getting the heart with the Phantom Grab instead you can move Chameleon before Storm Eagle which is more conducive to boss weaknesses. The time loss here is from not having buster upgrade or Rolling Shield yet in this route.
- It took some experimenting to figure out how to do this Phantom Grab optimally, but juggling the life drop with a second boomerang set it up almost perfectly. It's normally faster to do the miniboss before getting the heart, but since that would cause me to have to backtrack to get a life drop from the nearest enemy, the inverse order was better.
- I started with Shotgun Ice on the miniboss since I don't have the buster upgrade yet in this route. It hits the boss earlier than any other weapon at my disposal, and the fight still takes 22 hits regardless.
Storm Eagle(356 frames saved)
- Aside from saving 5 seconds on the boss fight by having c-sting, there were number of small time savers over the published run throughout the stage as well. These included the Luizerang™ (a strategy developed by Luiz Miguel where you arc the boomerang downward to grab the heart earlier), jumping underneath a platform in the first section and wall kicking the other side of it, some lag reduction, a more optimal pre-capsule climb, and using Shotgun Ice to break the barrier to the capsule.
Flame Mammoth(5 frames saved)
- Jumping left after the buster upgrade demonstration allows you to reach a full charge 7 frames sooner (because you get the pink charge shot off screen quicker), and you can still get into position to create the ice sled on time anyway.
- The jumping after boomeranging the E-tank was done to cause the E-tank to take an as direct as possible trajectory to the point where I needed to do the Phantom grab. I was able to save 9 frames with this over the published run's strategy.
- I found out that you can manipulate what kind of enemy is dropped onto the conveyor belts with your y-axis position, which allowed me to get a zip through an Utuboros head in the second conveyor belt section.
- The charged Storm Tornado strat for the Flame Mammoth boss fight was far too laggy on Bizhawk to be worth it, so I just went with the standard any% strat.
Penguin Revisit(16 frames saved)
- Upon entering this stage with the dash boot upgrade, I got confused as to which game I was actually playing and started using Maverick Hunter X strats everywhere(which explains the excessive use of Fire Wave). Luckily it didn't cause me any extra lag frames.
- Doing this revisit at this point in the run saved me 2 frames in stage select inputs over any other alternative.
Spark Mandrill(52 frames saved)
- I'm glad I was able to kill the 2nd blue mech to reduce lag and get the ceiling kick after the 2nd ladder without slowing down at all.
- The reason I used Fire Wave on 2 of the fireflies in the hallway before Thunder Slimer was because that was the only weapon I could kill them with at a time where they wouldn't give me an item drop (or if they did I could pick it up right after). Amazing how the laggiest weapon in the game can have situational lag reduction applications, lol.
- This Thunder Slimer pattern killed the miniboss in the same amount of time as the pattern in the published run (the time I lost to lag from hitting two bubbles with charged Storm Tornado was balanced out by being able to get 2 additional C-sting shots in after my first wall jump), but I ended up saving time in lag during the explosion with 2 less bubbles at that point.
- This heart grab(discovered by Megiddo) was where most of the time save in this level came from. I think it may have potentially been faster to phantom grab it with a drop from the turtle, but I didn't think of this till much later in the TAS(probably not because of lag though).
Armored Armadillo(88 frames saved)
- I was initially anticipating this to be a time loss in this route since having the body armor prevents you from taking enough damage from the cart to die to the bird at the end of the stage, but it turns out that e-tanks have a significantly greater spawn distance than hearts which allowed me to forgo dealing with the first burrower and a venture into lag city entirely.
Launch Octopus (4 frames lost)
- I popped charged C-sting on the first sub to reduce lag during the fight, but ended up getting it back during the explosion. I also tried popping the C-sting earlier in the stage so that it would run out precisely when the Submarine does, but this just displaced the lag to earlier in the stage, lol.
- I lost some frames by having to dodge a torpedo from the ship, but I still have no idea how I could have manipulated it.
- I then somehow managed to despawn the ship (maybe from going too fast?), which lost me frames on the climb out, but at least I was able to do the Luizerang 2.0™ and arc the boomerang downward to get the heart sooner even with this low ceiling.
- I lost 5 frames from Octopus jumping high at the start of the fight, but I have no idea how to manipulate this without causing lag city from killing the blow fishes before the boss door. As you can probably tell by now, this stage did not really go my way, lol.
Sigma 1 (61 frames lost)
- I have no idea how I lost an entire second in this stage, but all of it was before the Vile fight. I guess it either had something to do with how I spawned the floating platforms/where I did my damage boosts, or maybe I did the Vile text skip incorrectly.
- I figured out that you can buffer the entire Hadouken input during the load times before boss fights, this saved me 1 frame on each of Boomer Kuwanger, Spark Mandrill, and Sigma.
- Each of the current fastest published MMX TASes have 3 crossovers for their first Bospider pattern, and mine did not break the tradition. I thought having ample time to wall slide after the Kuwanger fight and at the beginning of the Bospider fight with several optional enemies to kill in between would be RNG manipulation heaven to get the god pattern easy, but of every iteration, this was the only one I got that had even as few as 3, lol.
Sigma 2(28 frames lost)
- A double kick in the first climb allowed me to utilize the platform jump without overshooting the top.
- It's faster to use C-sting in the final section but I couldn't get a decent Rangda pattern with it to save my life. The red eye first pattern which I ended up taking isn't even optimal.
Sigma 3(827 frames saved)
- Using the ice sled to zip past the range of pixels that pan the camera up before the Armadillo fight allows you to skip him entirely.
- Timing my Fire Wave to run out after the last necessary flame to kill the 2nd miner before Sting Chameleon is released saved a pretty significant amount of lag. I even had less lag frames in this section than the published run did on Snes9x 1.43.
- The ice sled zip through the wall before Spark Mandrill was half a second slower than not doing it, but it was too cool for me to pass up, lol. I guess I'll just chalk this one up to speed/entertainment tradeoff.
Sigma 4(9 frames saved)
- After hours of going back to Flames Mammoth's room in Sigma 3 and killing caterpillars, I was somehow lucky enough to get an optimal Velguarder pattern and not get blocked by the left claw at the start of the Velguarder Sigma fight in the same iteration.
- The two-pronged always catches Velguarder Sigma off guard. He never expects you to attack him from both sides.
- I mentioned most of the big areas for improvement in the stage by stage descriptions, but I think that lag reduction could have been better overall. There was a lot of random lag that likely could have been eliminated with buster shots which I didn't notice until I was counting lag frames after the TAS was finished.
This run is far from perfect, but I enjoyed making it and was able to showcase the new route/optimizations which made me want to make it in the first place. Making my first full game TAS was definitely a valuable learning experience, and I think I'll be able to do a much better job now when I tackle my next one (which will likely be Mega Man X2 Any%).
I'd also like to give thanks to:
- FractalFusion and Rolanmen1 for their 100% WIP which inspired me to do this run.
- Dezbeast for his published run which I used as a reference for the majority of my run.
- The MMX speedrun community who are constantly looking for new ways to optimize this and the other X games.
- My stream viewers who watched me spend hours smashing my face into a wall trying to manipulate RNG.
Screenshot Suggestion: (frame 64755)
: While there are still opportunities for further improvement throughout the run, this is a worthy update of the 100% run for publication. Accepting as an improvement to the published run