There's really nothing new to show off in this TAS that wasn't already in the published 100%/Any% runs (outside of minor improvements). The reason I did this run was to update the Any% run with all of the new tricks that had been discovered and incorporated into 100%. If you want a more detailed explanation on some of the tricks used, such as phantom grabs, I recommend reading the submission text for my 100% run.
Stage Info
Table of time saved per stage
FractalFusion Frames
Hetfield90 Frames
Frames Saved
Time Saved(approx.)
Intro
6228
6192
36
0.5s
Penguin
7054
6995
59
1
Kuwanger
5742
5612
130
2s
Chameleon
4095
4094
1
0s
Eagle
4045
3634
411
7s
Mandrill
4971
4955
16
0.5s
Mammoth
3963
3972
-9
0s
Armadillo
4874
4874
0
0s
Octopus
4505
4600
-95
-1.5s
Sigma 1
11269
10514
755
12.5s
Sigma 2
6619
6578
41
0.5s
Sigma 3
11832
10568
1264
21s
Sigma 4
5473
5485
-12
0s
Total
80670
78073
2597
43.5s
Note: These values don't take into account disparities in lag/load time emulation between BizHawk 1.9.4 and Snes9x 1.43.
Intro Stage(36 frames saved)
The time save here was from lag reduction, slope jumps, destroying the final car from a jump off the 2nd to last car, and a better Vile pattern.
Chill Penguin(59 frames saved)
Slope jumps, log zips, lag reduction, etc...
Boomer Kuwanger(130 frames saved)
Clearing the first ladder gap with dash speed, an additional laser damage-boost, elevator skip, more gap jumps, lag reduction.
Doing less charged shots on Kuwanger, but firing the uncharged shots that precede charged shots only when Kuwanger is up against the wall is a slightly faster fight.
Sting Chameleon (1 frame saved)
Adjusting my movement after triggering the 2nd boulder guy, but before jumping over him, allowed me to dash under the 3rd without losing any frames from the inhibited movement required to set it up(since you have to wait to jump over the 2nd guy anyway).
Storm Eagle(411 frames saved)
This platform is the same platform that is grabbed after the capsule in the 100% run, only from the left instead of the right side of the platform spawn area.
Mandrill(16 frames)
Not using tornado on Thunder Slimer allowed me to save 1 frame over the published run (although I didn't check to see how much time I was losing through lag emulation disparities).
Mammoth(9 frames lost)
No new strats to add here, so the frames lost were from lag emulation during the 2nd conveyor belt section as well as the two load times before the boss.
Armadillo(0 frames saved)
There is a jump near a bat that requires some crazy sub-pixel nonsense as you are climbing the wall just before the second spike-cart that gave me hell in every TAS I've made of this game, and twice during the 100% runs because of revisits. Nrgzam came up with the idea to destroy one bat with C-sting and then kill the annoying bat with a boomerang that hits the bat behind X as the boomerang spawns. This not only eliminated the need to set up my sub pixels all the way back near the e-tank, but ended up being faster because of lag reduction with 2 bats beind dead.
Octopus(95 frames lost)
The frames lost on this stage were because of emulator differences. Not only does Launch Octopus have the laggiest stage in the game by far, but I even had to change up my strategy on the Utuboros(snake miniboss) because of extra lag. On Snes9x 1.43, the Utuboros can be damaged with boomerangs while underground without causing any extra lag, but on BizHawk, putting even one boomerang on screen takes the game from 60fps to 30 for the entirety of the boomerang's duration. There was no other option than to wait for him to surface before dealing damage to him.
Sigma 1(755 frames saved)
The beginning of this stage is probably my favorite part of the TAS; somehow I was able to manipulate an extra life drop for this phantom grab again, and the only damage I had to take to set up the Vile fight coincided with waiting for the boomerang to loop around during the grab.
The Kuwanger skip is the same as in the 100% run, only this time it saves ~10s instead of ~1s due to not having hadouken.
This Bospider fight was all the work of FractalFusion. This table shows which RNG values correspond to which web patterns(and starting positions), and show how many crossings it will take him to reach the ground from each of the 4 starting positions in that web. Using this information, he was able to find out how many dust sprites were needed to manipulation each starting position/web pattern based on where the TAS started the fight in the RNG sequence. He also discovered that breaking an ice sled advances the RNG sequence by 12 values, which made getting one of these 0 crossover patterns possible when there wasn't enough time to create 12 extra dust sprites.
Sigma 2(41 frames saved)
Most of the time save here was from the phantom grab at the beginning of the stage.
During the climb before eagle, I set up my jumps before the ladder gaps so that I wall jump inside of them before undergoing the animation change that freezes you mid-air for 1 frame after jumping away from the wall. I was able to save 5 frames over my 100% run in this climb.
I managed to get enough of an off screen kill on Storm Eagle such that all lag was reduced during the explosion. I only had to delay killing him by 2 frames to do this, but these 2 frames were also necessary for manipulating Rangda Bangda.
Sigma 3(1264 frames saved)
Armadillo skip saves a lot of time in Any%.
I still suspect it is somehow possible to have 3 boomerangs in the air while charging on the Maverick Tank fight, but I couldn't figure out how to do it. 7 frames could be saved here with a theoretical perfect fight.
Sigma 4(12 frames lost)
There are load times before each song in this stage(so pretty much before and after every boss) and lag during the first Sigma fight boss explosion, which explains the time loss on this stage.
I was able to save a few frames on Velguarder by taking a damage boost.
Possible Improvements
Sub-pixel min/maxing, lag reduction, RNG manipulation always has room for improvement; there are just infinite possibilities there.
Manipulating 3 boomerangs mid-air while charging on the Maverick Tank fight could save 7 frames, but I'm not sure if it is possible.
Some amount of time less than 1 second could maybe be saved in the phase 1 Sigma fight if it is possible to set up 2 charged E-sparks with uncharged shots from further away (and without using flame thrower). I am not sure if Sigma's patterns will allow this, since he likes to climb if you are in the top of the room for too long.
Closing
As said before, this run doesn't show off any new tricks that weren't already seen in the published 100%/Any% runs, but I felt the Any% run deserved an update with new strats seen in 100%. Nonetheless, I hope people enjoyed watching it.
People I'd like to thank for helping me with this run:
FractalFusion: For manipulating Vile, dissasembling and manipulating Bospider's RNG, giving me ideas while I was making the run, his published Any% run, proving his Nicovideo encode, and teaching me how to properly TAS Mega Man X games in general.
Nrgzam: For spitballing ideas with me during the making of this run and coming up with solutions for some areas where I could not figure out how to proceed, as well as providing the twitch encode(which wasn't really an encode but him streaming the .bk2 on my channel since my computer can't run BizHawk at 60fps while streaming).
Well done again Hetfield. I enjoyed watching the making of this, and really enjoyed the whole run when finished. Definitely a YES vote.
Keep it up. What game is next? lol
current TAS: Q*Bert 3 any% v2TAS<br>
next TAS: Q*Bert 3 X*Bert levels
Thanks for the comments everyone.
@JoshButro
Next is X2 any%, which may be on the cusp of undergoing a major route change(I'm still testing this, but it may turn out that obtaining the shoryuken isn't actually faster after all).
Unfortunately, Youtube does some bad things to uploaded movies (especially those involving video game graphics). For example, it reduces video framerate to 30fps, which is a very bad thing to happen to MMX (the flickering problem).
The site encoders are going to make a quality Youtube encode anyway which rectifies the problem, so just use that when this movie is published.
Joined: 8/14/2009
Posts: 4090
Location: The Netherlands
YouTube has been supporting 60fps on HD quality movies for several months now. Just upscale the video to HD formats and you're good to go.
http://www.youtube.com/Noxxa
<dwangoAC> This is a TAS (...). Not suitable for all audiences. May cause undesirable side-effects. May contain emulator abuse. Emulator may be abusive. This product contains glitches known to the state of California to cause egg defects.
<Masterjun> I'm just a guy arranging bits in a sequence which could potentially amuse other people looking at these bits
<adelikat> In Oregon Trail, I sacrificed my own family to save time. In Star trek, I killed helpless comrades in escape pods to save time. Here, I kill my allies to save time. I think I need help.
FractalFusion, thanks once again for the delicious encode. I can also confirm YT allowing 60FPS videos now, it was a huge complaint of mine for far too long.
Dat Bospider fight, sweating_towel_guy.jpg. I knew we were in for some improvements (based WIPs queue) but the sled break is a great example of RNG manipulation hidden in swag. I appreciate the any% update greatly, thank you, Hetfield.
This movie also made me think of something: 100% seems to be the hot category for RTA'ers, which always seemed odd to me, but now I realize it's the more reliable run with far less boss RNG. Funny how that works with MMX, it's usually not the case.
Currently obsessed with: Mega Man 2 hacks, SFA3, Super Metroid Zero Mission, MM8BDM (Skulltag MegaMan mod, it's amazing!)
FractalFusion, as pointed out, Youtube does indeed support 60FPS now (finally!!). All that is needed for Youtube to recognise it as 60FPS is to encode with full frame rate, of course, and upscale the encode to 720p or higher.
Keep in mind that the standard Flash Player will not play back at full frame rate. This only works with the HTML5 player. Firefox and Chrome are fully supported for this.
So the 1 frame walk after defeating a boss is unavoidable? It looks like you’re off-position by some subpixels. Maybe instead of dashing to the center of the screen, approaching it with lower speed such as walking could give a more precise position…?
What’s the story behind the spider boss thing’s 2nd pattern not being perfect like all subsequent ones?
7/8
The walk(i.e. the readjustment to the center of the room) is avoided by ending the fight within a range of 3 pixels at the center of the room. He will still enter the "walk" animation for 1 frame regardless, but his x-axis position does not change.
The better question is how was it even possible to get six perfect possible patterns in a row. This was a strike of pure luck of where the TAS happened to be in the RNG sequence at the time it got to Bospider.
If you search for "s0" in this table, you will find all of the values in that offer a straight drop for Bospider. They are not very common since they require all 8 crossovers in the web to be in either the left/middle positions or middle/right positions(so that one vertical thread is completely isolated). i23812 was the best pattern around the time the first web pattern was to be determined (the next straight down drop was not for another 224 frames), and i24153 was the best pattern around the time of the second web pattern (the next straight down was not for another 84 frames). You only have time to create maybe 20-30 dust sprites at best in between web patterns, and each dust sprite only advances the RNG sequence by one additional value. Breaking an extra ice sled was used to advance the sequence by 12 values at one point, but this requires you to have had time to place to preceding sled on the ground and have it slide into Bospider(because you can charge while that sled it out); it can't be used in every situation.
That table is really cool. Are wall dust sprites really the only way to manipulate the RNG? Well, and charging a sled into Bospider (can’t be into a wall?). In Mega Man ZX and the first Zero at least, shooting at a wall advances the RNG by 1 step, because the spark that appears for ≈ 3 frames can have 2 different “sprites” (really the same just specular) and they’re picked at random. Does X not work the same? If it worked in X I’d imagine the Bospider manipulation would be really easy… what about using all sorts of other weapons and their charge attacks against the wall or something? Wall dust sprites and sled into boss are really the only things that affect the RNG?
Edit:
If the X-axis position does not change, why is the game aware of how off-position you are? Sometimes it walks 1 frame to the left, sometimes to the right.
An ice sled breaking (regardless of where it breaks) advances the sequence by 12 values. Wall dust sprites are the best way to manipulate RNG mid boss fight, but killing an enemy advances the sequence by 1 value as well (which is usually used to change the boss's first pattern).
There are a lot of other things that advance the sequence by more than 1 value in 1 frame, but these are things that X does not have direct control over. For instance, each time Bospider spins a web, 10 advances are made, and each time Storm Eagle creates a dust sprite from flapping his wings on the ground, 1 advance is made. There are many others, but these are not particularly useful in TASing.
It doesn't really make sense to be honest. X attempts to walk to the center (if he is in the left half of the 3 pixel range, he will walk right; if he is in the right half, he will walk left), then realizes he doesn't need to move anywhere.
This movie has been published.
The posts before this message apply to the submission, and posts after this message apply to the published movie.
----
[2822] SNES Mega Man X by Hetfield90 in 29:12.91