- DeSmuME 0.9.9 with Advanced Bus Timing ON
- Aims for fastest time
- Normal Difficulty
- Takes damage to save time
- Genres: Action, Platformer
Introduction
Hello and welcome to Megaman ZX, my name is Flameberger. This project is Joka's first foray into TASing, he recruited me to help and we split work each doing around half of the missions and with me putting in finishing touches to the whole project. A few general notes before getting into the details of the game and it's TAS. First, the re-record count is 100% invalid. The vast majority of my portion of the work was done through a desmume movie editor that I coded, Joka did more traditional frame by frame TASing although even those measured rerecords did not necessarily transfer when I combined our works. Please disregard the number entirely. Secondly, we used a more recent version of DeSmuME (0.9.9) with Advanced Bus Timing on. Due to this version difference we experienced significantly more lag on basically every screen transition and certain other events. Purely by file length our movie is an improvement of 3906 frames, if the lag difference due to emulator version is disregarded then our actual savings are 5013 frames. Time saves came from a combination of new movement tech, small route differences, and various other optimizations. As usual I will detail these changes in the following submission text.
Overview
The game starts with a character choice with two options, Aile or Vent. They have very minor gameplay differences, Aile crawls slightly faster and Vent doesn't get knocked back as far when hit. In terms of actual gameplay Aile is slightly better thanks to the crawl speed. They also have different dialogue in cutscenes, Vent seems to talk less overall which would probably make for a slightly faster run. We settled on running with Aile for similar reasons to why we played the English version, trivial reductions in text amount didn't seem like a worthwhile change and Aile is the character used in the previous TAS and in RTA.
The main mechanic of the game is the various models that the player can transform into. Each model has it's own attacks and special abilities. Additionally, the models that are unlocked from defeating bosses have energy bars (comparable to weapon ammo from classic or X games). This energy can be used to toggle an overdrive state that powers up all attacks, it can also be spent on charged special attacks. Collecting and managing the energy resource is a major element of the TAS.
Model X is available at the start of the game. It has no notable abilities other than holding up to two charged shots that can be used in sequence.
Model Zx replaces Model X shortly into the game. It's a versatile model with chargeable buster shots and various sword attacks. Unfortunately the absence of the overdrive mechanic and a general lack of unique abilities means we have no reason to use this model after we start to unlock the others.
Model Hx is the first boss model we collect because it is by far the best. The model has a wide array of powerful saber attacks that can combo into each other and be empowered by overdrive. It is overall the best at killing bosses, only being set aside when a different elemental weakness can be exploited. Hx's charge attack is a lightning orb that can be used as part of boss killing combos, it is also very regularly used to kill regular enemies that are in our way. Any saber attack connecting with an enemy will generate 4 frames of hitlag so we prefer to clear a path with these orbs instead when possible. Later in the run a second level charge is unlocked that can release a tornado. This is primarily used on bosses that are too high in the air to combo with regular attacks and for damage stacking on minibosses. Damage stacking occurs when multiple hitboxes touch an enemy simultaneously, it allows rapid repeated hits to occur and is a very quick way to kill miniboss type enemies that do not get invincibility frames. Now if you thought all these powerful attacks weren't enough, model Hx has the additional advantage of having by far the best movement options thanks to it's airdashes. The specifics details of movement will be covered in the next section but suffice it to say we will be spending a lot of time set on this model.
Model Fx has powerful double busters that can be mashed extremely rapidly by alternating between them. Any non-boss enemy can be absolutely shredded by TAS level mashing with overdrive. Generally it's not worth switching to the model just for this feature, but there are a few cases where we get to take advantage of it. When charged the model will do a powerful punch attack / fireball that can send enemies flying, this is particularly amusing and is done when possible. The second charge level is a ground-pound firewave that unfortunately we found no use for.
Model Lx has rather limited attack options, it's used to take advantage of bosses that are weak to ice, and for it's ability to move at full speed underwater. An ice sled can be placed with a charge attack and then stood on, this is jumped off of midair in a couple instances to get some extra vertical movement. The second charge releases an epic ice dragon, this is used twice as Lx's only convenient way to kill an enemy without hitlag.
Model Px has no element type to use for boss kills and no notable abilities for our purposes, it will not be used during the run.
Alright, let's talk about movement. Horizontal movement is quite simple at first. The goal is to simply maintain dash speed continuously by chaining dashes and jumps. Later when we unlock model Hx the formula changes significantly. Generally a horizontal airdash moves at the regular 3.5 pixels per frame dash speed. However, Joka discovered that performing an attack in the air and then immediately afterwards going into an air dash gives a significant speed boost. The first frame of this dash moves you 5.5 pixels and the other up to 14 frames move you along at 4 pixels per frame. In total every full dash performed in this way gets you ahead by a solid 8.5 pixels, which is worth nearly two and a half frames of regular speed movement. Thankfully this was discovered relatively early in production and only about half of one stage had to be redone to take advantage of the new tech. The noise Aile makes sounds to Joka like the Swedish word såja (pronounced soya), so he called them soya dashes. Optimizing movement around this new tech was a bit of a challenge. Enemies in the way are a particular annoyance because simply jumping over them is now a time loss because it means you spend less time soya dashing. Generally using a charged lightning orb to get enemies out of the way is the fastest way to get through but doing so can cost energy if the enemy isn't generous with the drops or it can be impractical for other reasons. Combinations of awkward terrain and enemy placement led to many situations where identifying the best possible movement was quite challenging.
In a strange inversion from my work on Zero series games, vertical movement was actually relatively easy to optimize compared to the horizontal variety. Performing an attack while walljumping cancels all but the first two frames of recoil away from the wall. This allows for very fast climbs as we do not need to wait until we get back to the wall to start our next jump. In terms of pure average pixels ascended per frame the optimal movement was four frames holding the jump before releasing and re-walljumping, however in many cases a smaller number of slightly longer jumps can work better. It depends on the exact details of how high you need to climb. When walljumping over a ledge we can use a delayed dash walljump to get a slight edge on our horizontal movement. There is a short grace period where you can hit the dash button after jumping and it will give you the dash speed at that moment. By taking advantage of that we can spend the two frames where we recoil backwards away from the wall at walk speed, 2 pixels per frame. Doing this leaves us 3 pixels further forward than if we had dashed for the entire walljump. Model Hx also has a vertical airdash that it can do. The updash is a bit slower than how fast we can generally climb a wall but it does have some very valuable applications. Normally while climbing you will lose all vertical speed on the frame that you release the jump button before repressing it to start your next one. By performing an updash on that one frame we get to keep ascending continuously, replacing what would be a frame of 0 movement with a decent 3 pixel boost. The updash can also be useful on it's own when we don't have any walls to climb off of. While updashing we move at a constant 3 pixels per frame straight up, with no ability to move side to side. After the dash ends (either from being held to completion or let go early) holding jump allows us to keep our upward momentum and rise a bit further while regaining horizontal control. Doing a tiny updash at the peak of a jump and then using that momentum to climb higher can be used as a sort of a double jump, though it does cost 1 frame of horizontal movement to do it.
While dashing (in the air or on the ground) our hitbox is wider and shorter. For general movement purposes this fact has two major applications. When going through a door that doesn't send us through a screen transition we move a fixed distance from where we touch the door, meaning that if we enter the door from relatively far away (such as by dashing into it with a wide hitbox,) we will be standing very close to the door on the opposite side when we regain control. Dashing along the ground from the point will cause us to get pushed forward several pixels by the door behind us when our hitbox widens again. For doors that do give a screen transition our starting point on the other side is fixed, it's still best to dash into those simply for the sake of hitting the door as early as possible. Soya dashing into doors was surprisingly fast for reasons I don't really know. Even on no-transition doors it was generally equal to ground dashing then getting the boost on the other side. Sometimes though the door wouldn't get triggered properly when hit while soya dashing, in these cases I would cut dash inputs off the previous one to give up half pixels until it worked properly.
The second major, though much more situational, use of the hitbox change is from a technique called the airdash wallpunch. In certain rare cases it's possible to airdash just underneath a piece of terrain and then release the dash just before coming out the other side. Our hitbox getting taller would collide with the ceiling so the game either needs to move us forwards or down, if we are far enough forward it zips us forwards up to a rather large number of pixels, often around 12.
Managing RNG is an important part of the run. In ZX the RNG value changes every frame, it also advances when a random event happens (this can include killing enemies or shooting walls with buster shots). Most screen transitions where the screen fades to black will also reset the RNG to some base value. The frequency of these RNG resets mean that changes made in one part of the run will not affect random events that happen later. Models X, Zx and Fx are very good at doing manipulations because you can simply shoot the terrain however many times you want to cycle the value. Because we spend most of the run in Hx our only manipulation options for the most part are killing more or less enemies, and delaying events until a frame with a good RNG value. The main reasons we care to manipulate RNG is to get more energy drops from enemies and to get good boss patterns.
Naturally, optimizing boss fights is an important part of the run. Megaman ZX has a combo systems that I've alluded to earlier, here's how it works. Hitting a boss will give them 90 frames of invincibility (iframes). Each attack has a certain so-called combo value, if you hit a boss with a higher combo level than your previous hit then it will go through (and refresh) their iframes. Performing a sequence of hits like this can allow you to get many consecutive hits within a single invincibility period. A good example of a combo that's used in the run with Hx looks like this: Charged Lightning Orb > Jumping Slash > Walking Slash > 1st, 2nd and 3rd Standing Slash Sequence.
Some bosses also have elemental weaknesses that cause them to take double damage from attacks of that type. Ice bosses are weak to Fire (Fx), Lightning bosses are weak to Ice (Lx), and Fire bosses are weak to Lightning (Hx). The fire bosses in particular will have a very bad time because Hx is already so powerful, adding an elemental advantage makes it so we can easily kill them within a single combo. Certain bosses have no element type and no weakness.
Lastly, the bosses that drop models have weak points. Hitting those spots will cause an additional 1 damage only for the first hit of any combo sequence. Depending on how many times you hit their weak spot we get a level rating at the end of the fight. The maximum energy of the model we get will be determined by that level. In many fights we don't care about the mechanic at all, but for Models Hx and Fx we need to get certain levels.
Okay, I think that's everything I needed to go over, time to talk about the specific stages, and our various timesaves and strategies therein.
Intro Stage
After selecting our character a Start input lets us skip past the following animation, getting us a nice lead of about a second and a half.
The stage itself is relatively simple. There are a couple spots where we have to walljump up over a tall ledge, performing delayed dash walljumps there is a small optimization these save us a few frames. In the second half of the level (after the black screen transition when I go through the door) I need to aggressively manipulate the RNG by firing tons of lemons into the terrain as I go. A very specific pattern is needed for an optimal fight against the snake boss so getting to a value that gives us that fight requires a lot of work. Some shots are fired into the bosses body during the fight for further manipulation. There are two main factors determining if a snake fight is fast. First is we want to be able to shoot him at the first possible moment as soon as we finish charging our shots, certain attacks of his will cause him to move his head too high up for us to shoot, or worse go offscreen entirely. Secondly his death animation can be faster or slower depending on how his body is positioned when he dies. The pattern we got is excellent in both regards. Credit for the boss kill goes to ALAKTORN, his WIP from long ago featured this strategy.
After some dialogue we get to select one of two missions. The map layout makes Pass the Test preferred as our first pick.
Pass the Test
This mission requires us to talk to various npcs scattered around the city area. On the way there we encounter the first of what I would call a background door, going through them requires us to stand in front of it and press up. There is a slight trick to them where if you come down from a jump exactly in front of them it will let you enter the door from slightly further away than if you were dashing along the ground. The difference is small, I'd roughly estimate it's about a 50/50 on if it saves a frame or not, in this particular case it did.
There are a few cases during the level when we have to switch into our human (Hu) form. Mostly because of cases where we need to crawl through small passages, and then one case where an npc will get scared and teleport away if we come at him while transformed. After we talk to that guy we will notably not transform back right away. This is unintuitive because we can not dash for that entire duration we spend in Hu form, however it ends up being a solid 48 frames faster than transforming into Model X and then transforming back again when we get to the next crawlspace. There is one slight amount of movement tech in Hu. Normally going from a full stop to running on the ground has some amount of acceleration time where you move at a very slow 0.5 pixels per frame, by jumping as our first input in these cases we get to start at full speed. After getting out of a crawl and transforming back to model X we can get a small boost by dashing along the ground and having our widened hitbox push off the wall behind us. Small optimizations throughout the area add up to a handful of other framesaves. After talking to everyone we had to find we can move on to the next mission.
Locate Giro
This is a tiny little mission, we just have to go through a couple connecting rooms, grab a chip, and then fight an airplane. We have control for one frame after picking up the chip so we can dash back the way we came a tiny bit before the dialogue stops us. This upcoming boss is another fight where we are going to want a very specific pattern, on the way to the chip we machine gun a ton of lemons into the terrain to get the manipulation we need. The previous run accomplished their manipulation by giving up a few frames before the plane fight, using lemons as we did is preferred when possible because it does not slow us down at all.
The fight itself is among the greatest time saves of the run, second only to the huge amount of speed boosts we get from soya dashes with Hx. Generally it's not possible to hit the plane directly with any of our attacks, the only way to damage it is by destroying the explosive blocks it drops. There is an exception though, the fully charged shot in model X has a pair of smaller pink shots orbiting the main one, when the central blue shot is destroyed from hitting a solid object the orbiting shots can fly out in various directions. This is done a few times up to this point merely as a stylish way to kill enemies, but here it can be used to great effect by getting an extra hit in after each tower explosion. Doing so lets us kill the boss in three cycles instead of four, saving a huge 469 frames. This is not technically a new technique, I first introduced it to RTA several years ago, but the previous TAS was published even earlier than that. The large amount of manipulation that was done was to minimize how much the plane moves between cycles and to setup being able to hit it with the released orbit shots.
Some plot happens and then we are sent to the intro stage from Megaman X
Opening Highway
Most of this stage is pretty basic horizontal movement. Early on there is a bridge segment that needs to be dropped by shooting a control mechanism. Firing at it from as far back as possible saves some time, as it finishes lowering into place we dash jump into the invisible wall instead of staying on the ground, this allows us to be as far forward as possible at the moment when we are free to move on. There are two giant bee minibosses which we managed to improve on a good amount. The previous strategy was to jump into them for a damage boost and then buster them down, this does allow you to begin mashing lemons into them as early as possible. The problem is that we need to reach the right side of the screen before ending the fight or we will drop into the pit with the bee when it dies, so getting early damage in doesnt actually save time if it significantly delays you from getting to that right side. The simpler approach of just getting our charge hits in then going directly to the side of the room before finishing the fight ending up being more efficient. In addition to making the fights 37 frames faster between the both of them, avoiding the damage has an additional benefit later on. Anytime we use a trans-server (where we turn in missions, accept new missions and teleport) our health gets refilled, this process takes up time so we will save another 20 frames later on thanks to staying at full health.
The fight against Giro mostly boils down to simply Shooting him at the earliest possible moment when we finish charging our shots. We shoot him at point blank range when possible but this isn't actually important to the optimization of the battle. The limiting factor on how frequently we can hit him is our weapon charge time, not his invincibility frames. Obviously for the final shot we do need to hit him as early as possible. After the fight ends Aile and Giro both move to opposite sides of the room in preparation for the following cutscene. Interestingly Aile's movement will delay that cutscene, but not Giro's. Ending the fight on the left side of the screen so that we don't need to move at all saves a nice 34 frames. Epic cutscenes ensue and our Model X gets replaced with Model Zx, so now we've got a sword.
Search the Plant
At this point we are given the option to select from four different missions. These correspond to the other four models we can unlock. As you maybe can guess from the opening exposition about how op model Hx is, we're going to the mission that will unlock that one first.
There's a neat little trick right after we teleport to Area B. Normally after grabbing a ladder there is a few frames delay before you can start actually moving. If we shoot a lemon ahead of time and are holding the gun it lets us start climbing immediately when we grab it. Otherwise we move through the zones with little complication. We do have a sword to play with now but it will generate hitlag if we touch an enemy with it so it's mostly just swung around for fun.
In the first room inside the plant itself there is an interesting mechanic with rotating lightning bars, their direction of rotation can be reversed by pressing buttons on the ground. The previous TAS presses the button as quickly as possible and then waits for the lightning to rotate enough to get through. We wait a little bit before pressing the button and then sneak under right after, which ended up being a small 5 frame improvement. The following room has a large crusher the blocks the path periodically. The timing causes it to get in our way for quite some time, we collect a nearby sub tank while we wait. This has no significance or application in the run, it was just there and we could get it without losing any time.
The following room has a crusher miniboss and our first application of damage stacking. I described it in the overview but the quick reminder is that when multiple hitboxes touch an enemy simultaneously it will cycle through them, hitting the enemy with a different one each frame. After taking a damage boost for some much needed invulnerability time we jump at the boss, release our charged shot and then do a charged saber swing. Note that the charged shot in Model Zx has the pink orbiting shots the same as Model X had, so in total there are three buster shots flying through the air along with our saber swing. The saber hits first, then one of the orbit shots, then it goes back to the saber, then the main blue shot, then the saber again, then the second orbit shot, all in rapid succession. Afterwards we continue to get repeated saber hits by wiggling left and right rapidly in front of the enemy for the rest of our long jump attack. We then finish with a bunch of rapid fired lemons and a dashing saber attack which is used to move us further to the right while the boss is exploding. The previous TAS did the fight almost entirely with the buster, overall the difference between the strats was pretty small, just a 12 frame advantage for us. Although our damage output was much higher by using the saber we also generate a very large amount of hitlag that nearly balances it out.
In the last major room of the plant there is a tall ladder through the center of it. Each time there is a ledge sticking out close enough it's worth dropping off and wallclimbing a bit, instead of staying on the ladder the entire time. Each time we go back to the ladder we'll shot a lemon first to make sure we start climbing a bit faster. Before the final room we pick up a health drop to heal from the damage boost we took on the miniboss, this is an optimization. I described how healing up at a trans server after the mission will cost frames, healing from health drops also costs the same number of frames. Intuitively it wouldn't make a bit of difference when you healed, but there is a little gimmick to it. It turns out that the first unit of health restored is free, in both forms of healing. This means that dividing your heals up into multiple events will save time because you will get more free health. We will be taking more damage on the upcoming boss, so healing once from the drop here and a second time from the server after that fight let's us double up on free healing.
The boss is Hivolt, bane of ZX speedrunners everywhere. His wings? I guess they are, those are his weakpoint. Hitting them too many times will cause us to get a lower level for the kill, meaning our Model Hx will come in with less maximum energy. This is a serious concern for the run so we want as high a level as possible. Unfortunately avoiding his weakpoints entirely does not seem to be possible while still getting a quick kill, so we settle for a level three victory (with level 4 being the maximum.) Model Zx has pretty good boss killing combos, we start with a fully charged shot, get repeated spinslashes while he's in the air and then finish up with some ground swings. It's not as quick as our kills will be after this, but it works when it's all we've got. In the end we come out one frame faster and one level higher than the previous version, though not with any significant new strats. Just slightly more optimized execution.
With Hivolt defeated we can say goodbye to the game's namesake model and instead enjoy a good run of Megaman HX. We transform immediately so that we can take advantage of soya dashes as we make our way to the next mission.
Fight the Mavericks
We select this mission second because it has the next most useful model to unlock. Unfortunately we havent activated many of the trans servers, so a good amount of time will be spent redoing the highway area we've been through earlier. At least this time we have Hx to get us through a bit faster.
No need to climb the ladder in area B this time, we can just do a tiny updash as a sort of double jump and get directly up to the ledge above. We stop briefly to kill the first enemy with a slashing attack, generally this is avoided because of the hitlag it causes but because we have no energy we can't use a charged lightning orb instead. We pick up some energy from him but even with that we cant really get passed the sawblade enemies quickly without killing them also with slashes. They have too much health to kill with a single orb and we're low on energy anyways. These several cases of hitlag are a consequence of switching to Hx early, if we were still in Zx it would be trivial to kill these enemies with buster shots while collecting lots free energy. Unfortunately the movement advantage of Hx is too great to justify delaying our transformation in this case. In the following rooms we will be able to kill enemies and get drops hitlag free with lightning orbs, though it will be a constant struggle to keep our energy reserves up as we need to spend it constantly to get more drops and clear our path.
We have to refight the bee minibosses on the way through, we will make short work of them with our new model. A small damage stack is done at the start with jumping slash into lightning orb into a second hit from the slash. A few extra hits as we make our way to the right side of the screen will take it out. You'll note we jump through the bee without taking damage, this is because enemy hitboxes get disabled while they are electrified from Hx's lightning (the fire and ice models can do this as well.)
After we get to Area G (with the background on fire) there's a neat new bit of movement tech. After walljumping up and over a ledge we want to begin soya dashing as soon as possible to keep up speed. However, because we use attacks while walljumping we can not immediately do an attack into airdash as we get over the wall. At first there were two strategies for this situation. We could either jump a little higher than we needed to and start a soya dash as soon as we got out of the previous attack animation or we could do a tiny regular airdash to cancel the attack, and then land and jump and go from there. During the finishing touches phase a superior, third option was discovered. If we airdash over the wall at exactly the right vertical position the game will simply register us as dashing on the top of that wall, and we can jump directly out of it from there. This lets us get back to our soya dashes extremely quickly. Technically the trick is subpixel perfect but because of the intervals you move at while jumping or falling it's more like quarter pixel perfect. It takes some finesse to get the setup just right but it's manageable.
Inside the building there are several NPCs that we need to rescue. Some of them will only talk to us if we are are in human form which leads to a neat trick. If we simply transform in front of them and then try to talk there will be some delay before it's possible, but if we take a tiny step first it will let us talk to them right away, saving a few frames each time. We use updashes to get up to the next level each time instead of taking the stairs. Because we have a significant distance to cover both horizontally and vertically to get from the door we came out of to the next floor up it's best to only do small updashes and rely on the height we can get from the jump and double jump as much as possible, so that we can keep moving left while we ascend. After this rescue we can make a pretty speedy trip to the stage's boss.
Fistleo is a fire element boss and is thus weak to lightning. This is very unfortunate for him because it means we can combine Hx's powerful combo attacks, extra damage from using overdrive and extra damage from the elemental weakness. The combo will be lightning orb, air dash attack, walking slash attack and then the first two slashes of the three hit combo. This is slightly faster than previously used combo which skipped the walking slash and did all three hits of the combo instead. We face away from the boss for our final two slashes because the second attack starts with a small hitbox backswing behind us. We go for a perfect level 4 kill (without having to give up any time to accomplish it) because our new boss strategy for the next mission will require quite a lot of Model Fx energy.
We run into a strange, small 2 frame timeloss on the following trans server. As well as each of the rest in the run where we are in Model Hx at the time. There seems to be some kind of frame rule involved in activating the server, so even though we get to and use it faster thanks to soya dashes we end up giving those frames back immediately.
Find the Survivors
Now that we have the fire model we're good to go to the ice level. We teleport to a different area of the map than the previous version and take a much shorter route to get to the stage. The journey itself is mostly uneventful, in the final room before Area F we climb up a giant wall and then airdash over to the entrance to the stage. In this instance we do a regular airdash instead of a soya dash. This is because the latter can only be held for 15 frames, whereas a regular airdash can cover a much greater distance.
Early in the stage we switch to model Fx because the blue totem enemies are very awkward to kill in Hx and then a little later on there is a shortcut blocked by ice that can be removed with fire. The underwater sequence has another shortcut for Fx only and then we get to the main room of the area. A row of ice blocks above us block our path, while standing on the ground with Fx it's possible to shot directly upwards to destroy them, but that requires stopping for several frames. Instead we use a charged punch while wallclimbing and it has a tall enough hitbox to clear the path for us seamlessly. After this we switch back to Hx briefly for some vertical movement that wouldn't be possible without updashes. It's awkward switching back and forth mid-stage like this but there doesn't seem to be any good way around it. We will need Fx for the end of the stage, specifically the boss fight, and the upcoming miniboss is much faster with it as well so we switch back after we're done with our climbs.
The miniboss itself is quite straightforward, basically I just start blasting. We do take a slightly different approach of destroying the cannon on the front of the tank at the start. An interesting phenomenon happens when you fire enough shots into an enemy, only one can actually hit on each frame and it seems to prioritize more recently fired shots. This means that if you keep shooting enough some of the shots will be able to pass all the way through the hitbox, and in this case hit the miniboss itself on the other side of the cannon. This strategy allows us to get some damage in a little bit faster than simply jumping to fire over the cannon. It has the added advantage of letting us jump later in the fight which allows us to move a little further forward, and thus be closer to the door after the fight.
After that fight and a cutscene we can make our way over to the boss. The second to last room is mostly filled with water, we do our best to spend as much time as possible jumping out of it to try and keep up our speed. The bit where we dash along the ice blocks is a little interesting. It's possible to dash on ice but you can not dash jump off of it, we would lose our speed if jumped. In order to avoid that we do a technique that allows us to dash continuously along the ground. Normally we would have to release the dash button for one frame before starting the next one but if we input a double tap dash at the moment the regular dash would end it lets you just keep going. After we've dashed far enough out over the spikes (but before going so far that we get killed, obviously) it will let us dash jump to the next ledge because it doesn't count us as jumping off of ice at that point.
In the little boss hallway we shoot a bunch of oranges to get the rng manipulation for the Lurrere boss fight. Jumping into the door instead of dashing into it is important because it means we will not have to walk as far in the cutscene on the other side of it. This is a common strategy when entering boss rooms. We have a new strategy for the fight itself. The old run did two medium combos of shot, shot, charged fireball. This makes a lot of sense because Fx simply doesn't have enough attacks to kill in a single combo, you can only hit with up to two regular shots and then two charged punches / fireballs. Doing the full combo of both charge attacks after both shots is awkward because you can only charge one of your weapons ahead of time (you use the other to fire the first two shots,) so you end up waiting on the second charge. On this fight though there is a neat trick that makes the full combo worth doing. If we hit her weak point, the top of her head, too many times she vanishes and then tries to eat us as a giant fish. When this happens her invincibility time gets reset and we can get the last hit we need while she charges at us from offscreen. The kill is 21 frames faster like this. We don't mind going down to a level 3 kill here, Model Lx will be used a handful of times but we don't need a ton of maximum energy on it.
Save the People
Every time we complete one of these missions that unlocks a new model it also opens up a mission where you can get the second half of that model. Doing that gives you even more maximum energy as well as the second level of charged attack. At this juncture we are not going to the mission that unlocks the last model, Px, instead we are going to get the second half of Hx. Now is a convenient time to do it for two reasons. First is that we are already set to Model Fx, which is used at the beginning of this stage. And second is that we now have the ice element model to kill the lightning element boss.
The reason we use Model Fx here is to access a shortcut behind a damaged wall that we can punch through. This allows us to skip the majority of the level and a miniboss. We also take this opportunity to fill up a bit on energy, Fx is great for this because we can kill enemies without spending energy or generating hitlag. Inside the building we go through a few rooms where the lights are out and visibility is poor. The second of these rooms has an interesting situation, there is an enemy sitting on a little floating platform and it shoots a lemon at us as we approach. We need to dash underneath the shot before we can jump up and start climbing over the wall just beyond the enemy. The timing on when he shoots seems to be based on a frame cycle that starts at the beginning of the stage, so what happened is we saved a couple frames from small movement things in the beginning of the level but getting here faster ended up meaning that we just had to wait that much longer for the shot to get out of our way. Again we do a little rng manipulation by shooting oranges before the boss and then we switch to Lx for the fight.
Lx has powerful attacks but a very small number of them. The biggest combo we can do is dropping a charged ice platform on the boss, then a jumping slash and lastly a standing slash. Doing the full combo twice is overkill so we skip the ice platform on the first combo. Starting the fight with the platform is awkward because if you try and drop it on the boss while they do not have invincibility you will end up hitting them with the slash as you use it, you have to leave it some distance away then wait for the boss to move into it. For the second combo don't blink or you'll miss it. We setup the ice early while the boss is going through her invincibility, then we hit with our jump slash the frame after. Normally there is a lengthy delay after doing a jump slash in Lx before we can do the standing ground slash, by sliding on the wall behind the boss we cancel out of the animation into an instant finishing move. Overall this setup is a comfy 17 frames improvement, mostly thanks to the wallslide cancel technique. This does cause us to drop to a level 3 kill which will cut it close on how much max energy we need for Hx. We end up having exactly enough to do the final boss with no time loss.
We'll stay in Lx for the end of this mission and the beginning of the next. Switching to Hx here would save us on the order of 60 frames in movement in these sections but that isn't enough to justify the 120 or so frames to do the extra transformation.
Guardian Ship
This is a sort of intermission stage that you are forced into after completing four of the regular ones. We have to destroy some boarding pods up on the ship's deck and then fight a boss in the engine / flower room. On the way up we make an ice platform to jump off of in order to avoid having to ride the elevator up, then we switch to Fx to kill the pods themselves. No other model can kill them nearly as fast as Fx, and also we are going to want to farm a lot of energy on the way to the boss.
Now you might be thinking, “But Flameberger, you just farmed a bunch of energy on the last stage with Fx, why do you need to do it again?” It's true that we still have a decent amount left over but our needs are great. Since we unlocked the 2nd half of Hx it's max energy has doubled, so we basically need to fill it again. On top of that it will be nice to top off what we've used in Fx and Lx since then.
Prometheus is weak to lightning, which as we know is a very unfortunate weakness to have in this TAS. We don't do exactly the same combo as we used against Fistleo earlier. In this case we're going to skip the walking slash after our lightning orb / dash attack opener, and instead finish with the full three hit combo. This kills slightly slower but it has the advantage of letting us end the fight from further to the left, which saves walking time as Aile moves into position for the end of battle cutscene. Overall it's a net 9 frame savings.
Attack the Excavators
The other three missions that are left will all be done as a group because of their proximity on the map, so this one either has to happen right now or be saved for last. We didn't determine there to be any difference between the two routes.
Mostly this stage involves a lot of horizontal movement with a ton of enemies in the way. We'll be spending a lot of energy and also trying to get as many drops as possible to keep up. The first room features some armored enemies that pop out of their shells to attack and which are otherwise invulnerable. For the first two we're capable of moving fast enough to get over them before they block our path by popping out to attack, for the third one we get slowed a bit by the water and it will end up getting in our way. To deal with this we drop a charged tornado, our recently unlocked second level from Hx. The tornado will stun it immediately as it becomes available and allow us to safely jump off of the enemy as it comes up under us.
The lava miniboss gives us a lot of setup time before it shows up. We use this time to setup a lot of damage ahead of time, dropping two lightning orbs that will fly into it just as it's becoming vulnerable as well as a tornado on top of it. The tornado uses an interesting new trick that lets us save a lot of critical energy. In Hx if we use two charge attacks back to back while in the air the second one will not cost any energy, by doing lightning ob first (costs only 2 energy) and a free tornado second (normally costs 4) we get a nice discount. After this setup we simply dash attack into him as he appears and get a tremendous amount of damage from all of the hits connecting at once and damage stacking. We save 4 frames on how fast we kill him. Another 4 frames from having the finishing blow dealt by the tornado instead of the slash, thus avoiding his slightly slower cut in half death animation. And lastly another 13 frames from ending the fight in the center of the platform, which causes us to fall into the next room earlier as the floor collapses.
In the second room inside the mines there are several obnoxiously placed enemies that we can't easily get over due to the terrain, but also can't kill in a single lightning orb so we suck it up and take the four frames of hitlag to kill them. The last room has some lava jets that can be hit like regular enemies, and electrifying them makes them harmless, for... some reason?
The boss Flammole is wiped out as quickly as we've come to expect from fire element bosses. As an interesting case on this fight we position our attacks specifically to hit his weak point as much as possible to get down to a Level 2 kill. The reason for this is the way that excess energy gets distributed. If you collect an energy drop that would overfill your current model's bar it will go towards one of your other models instead, the priority it uses is Hx > Fx > Lx > Px. This means that if we are in model Hx and we want to fill up our energy bar for model Lx we need to completely fill Hx and Fx first. By having a lower maximum in Fx it becomes easier to accomplish this later in the run. Doing this does not cost us any time on the fight, nor does the lower energy bar in Fx have any downsides for us.
Recover the Disk
To get to this next level we need to take a pretty long trip through the intro area. Between the large amount we spent on Flammole's stage and the sawblade enemies that get in our way here we end up pretty low on energy. Thankfully the rest of the trip has a lot of weak enemies in the way that we can refill on pretty effectively. Just before we get to the crawlspace that leads to the next area we do a neat little trick with the ladder that's there. We get a bit of leeway on how far we can be from a ladder and still be able to grab onto it so what we do is soya dash near it, grab the ladder from max distance which effectively zips us forward a bit, then let go and do a second quick one away.
The next area will be mostly spent underwater so we'll be using Lx for the stage. Jumping off an ice platform lets us very slightly improve on the movement through that's left of the cave area. In addition to being able to move at full speed through water, Lx also has a water dash that can be used repeatedly any number of times (unlike Hx air dashes which are limited to one per jump.) They are slower than regular movement and we didn't find any tech comparable to soya dashes with them, but they are good for certain places where regular jumping and dashing movement won't get us through. After water dashing through the spike-lined tunnels we will do our first case of spike jumps. I don't know the details of how or why it works, but if your subpixels are correct it's possibly to do a frame perfect walljump off of spikes without dying. This saves around 3 frames each time by allowing us to get back to regular dash jump movement earlier than if we waterdashed all the way to the ground.
At the beginning of the miniboss fight we drop an ice platform as soon as we gain control, you'll only see the ice shards though as it breaks from spawning inside solid ground. This is an RNG manipulation to get a good pattern here. The kill itself is basically just wiggling left/right as we attack to hit repeatedly.
As we come up on the boss room we'll do something a little bit different. We want to fight with Fx and we'll be doing the combo of two shots and then a charged punch. Instead of transforming at the very start of the boss we will instead switch a short distance before we get to the boss room. This costs us a bit in movement because we will be moving through some water in Fx, but it allows us to start charging earlier to get the punch as soon as possible during the fight. When you use a weapon and then hold the button it won't start charging right away because of the attack animation, in order to get around that we press both weapons simultaneously, only one actually fires and the other can start charging instantly. Thanks to this we can get all the charge we need while spending the least amount of time in Fx. We jump up and punch him directly instead of shooting from the ground because that's a bit faster, and then there's one small but not obvious timesave at the end. Before the second combo we slide into the wall for a good while and then drop, doing this causes us to be as close to the wall as possible. It might be unintuitive that I would want to be far away from the boss before the last combo but there's a good reason for it. After firing the two shots it takes some time to get the punch hitbox out, by firing earlier from further away there will be less downtime between when the shots hit and when the punch comes out. In total we pick up 8 frames from the early switch to Fx, 11 frames from the jump and punch for the first combo, and 1 frame from the wallhugged shots on the second combo.
After the boss we actually have a pretty surprising route change. Going to the right gets us out of the water and there's a long tunnel that leads back to the start of the stage, this is the way RTA and the previous TAS goes but it turns out that simply switching back to Lx immediately and going back the way we came comes up 131 frames faster. The downside here is that going through the tunnel as Fx was an amazing way to farm drops, by switching the to the left route we ended up being down probably 40 or so units of energy and scrounging up all the drops we could in other parts of the run became very important after this change got implemented. On the way back we use the second level of Lx charge that we picked up just now, it shoots out an ice dragon which is useful as Lx's only way to conveniently kill an enemy in our way without getting hitlag. We use it once to get an energy drop and a second time just to get a turtle out of our way.
Secure the Biometal
The reason this group of missions is done together and in this order is because there simply aren't any teleporters in the area. After doing Leganchor's stage we need to backtrack all the way through Area A again so going to a level that happens to also be in that area works out nicely. The journey itself is largely what we've come to expect at this point.
The giant met miniboss is similar to the lava guy. I don't have as much setup time so I just use one tornado and one lightning orb. Unfortunately because of when and where we had to drop the charge attacks we ended up spending full price on both. If some other change in the future caused a new energy shortage then trying to change this to get one of them free (preferably the tornado) could be a good idea. In order to minimize hitlag I do only the minimum amount of damage with saber attacks and then I let the tornado burn through the rest of it's health. Just sitting around waiting on tornado damage would be slow but we can spend that time productively by getting a head start on our movement to the right.
The next room with the toy pit is one of the better demonstrations of the air dash wallpunch. The little columns coming down from the ceiling are perfect for airdashing under and then getting a boost forward as the dash ends. The following sections also give us more opportunity to showoff the ladder grab dashes. All in all a great room to blitz through in Hx.
Purprill will be our first case of a non-elemental boss fight with Hx. Since he has no weakness to take advantage of we simply fight with the model that has the highest damage output. We do most of the full combo while he's on the ground, skipping the walking because it does lower damage and wouldn't save us a hit later. He has a wide variety of attack patterns he can do and all of them except one will cost time. We don't have good options for changing the RNG value in model Hx, especially because there aren't any enemies that we can choose to kill or not kill in between the previous RNG reset and the boss. Normally this would have meant having to delay for numerous frames before starting the fight to get the pattern we want but we did come up with an alternative. By jumping higher than I normally would need to before doing my starting orb + dash attack I manage to avoid hitting his weakpoint, his arms. This costs a few frames during the fight but overall saves times because it puts us on the good pattern with less loss than if we simply waited for it.
This is another stage that doesn't have a teleporter available at the end but the next mission is in this same area. We'll pick it up and then just backtrack a little bit to get there.
Protect the Lab
This stage is actually very awkward to go through in Hx, there are a bunch of stacks of giant blocks in the way as well as jamming devices that will either disable your weapons (red) or your dash (blue). Model Fx was used in the previous TAS because it allows you to easily blast the blocks out of your way and you can turn off the jamming devices by shooting them from afar. However, convenient doesn't always equate to fast. Turns out the extra two transformations to switch to Fx and then back to Hx for the boss is not worth it. Even without soya dashes it would be around 180 frames faster to just stay in Hx, and when you do add them in it's another 160 or so frames in favor of everyone's favorite green model.
There are several cases where avoiding the jamming devices is not a realistic option. The blue ones need to be dodged at all cost because giving up the ability to dash for that long would be a huge loss, but the red ones are not a huge deal. Because they disable weapons it turns off soya dashes for awhile but if there's no other good way through then it is what it is. The blocks in the way are annoying obstacles, they can be killed somewhat quickly by hitting them with a couple quick slashes and a lightning orb but in most cases it was better to just climb over them because of the terrain on the other side, or in one case because we actually couldn't destroy them because our weapons were disabled at the time.
Potatoes is another non-elemental boss that will we fight in largely the same way as the last one. One long combo at the start then just a few hits to finish him off as the second.
At this point we've finished the last of the main missions. After a bit more plot aboard the guardian ship we'll move into the final three missions.
Stop the Dig
This mission sends us all the way across Area A again, so this is gonna look a lot like the trip we made to get to Leganchor's stage awhile ago. Really could have gone for a teleporter over here somewhere but it's whatever, we pick up some more energy along the way.
We're forced out of our transformation on the cutscene. We'll go to Fx first for the miniboss, which basically just gets mashed away in moments.
After a couple rooms of relatively standard movement there's one big area with a rising and falling water level that you are supposed to use to get through. Instead we will go along the ceiling with a combination of air dash wallpunches and spike jumps. In the final room before the boss area we drop a lightning orb as we drop through a ladder so it will float over and kill an enemy as we move on. This is done as an RNG manipulation to save what would otherwise be numerous frames of waiting for a value that will give us a good boss pattern.
Repel the Army
A little ways into this stage we get a repeat of the boarding pods we fought when we defended the Guardian Ship. This is another case where Fx would be faster, but switching to the model and then switching back afterwards is not worth it. The pods come out in pairs of two, with the first arriving quite awhile before the second. The next wave will get ready to spawn after the previous two are destroyed, killing the first of the pair as quickly as possible doesn't save time since we have to wait for the second to spawn anyways. So in order to kill those first ones with the least amount of hitlag we leave a tornado on them and let that do most of the work. While doing that we drop a lightning orb positioned to hit the 2nd pod the moment it's vulnerable. This helps speed up the kill on that pod and is also used to cast the tornado for free, otherwise the strategy would be prohibitively expensive on energy.
We also refight a version of the miniboss from Leganchor's stage. We're in Hx instead of Lx for this one but the strategy is basically the same, pretty much just spin back and forth with slash attacks to hit repeatedly.
Turns out the whole mission is just a stage of refights, the boss is Prometheus and Pandora again, this time the both of them together. They have more health and inconveniently Prometheus can't do the same attack that we killed him in on the ship, he is still weak to lightning though so after getting what hits we can at the start just drop a charged orb and tornado on him and watch the health burn. Once he's low enough we end with an air dash attack while staying as far left as we can to minimize cutscene walking after the fight.
Destroy Model W
This is the final stage. Our main features here will be elevator autoscrollers and boss refights. The first elevator ride will be spent farming as much energy as we can get our hands on. The floating helicopter enemies are surprisingly resilient, instead of using multiple lightning orbs on them we'll mostly just drop tornadoes. Taking better advantage of the free charge techniques should be possible here if a future rework ever required it. As is we manage to get enough energy for our purposes. Note that simply filling Hx isn't all we're doing, we also get enough surplus to top off Fx and refill Lx a bit. The lightning bosses are up first so we'll use the ice model for them.
We can't charge our weapons ahead of time for the fights, the charge gets reset when we go through the teleporters. This makes the Harpuia fight a little awkward when combined with the fact that he's way up in the air at the start. Basically it means for our first combo we don't have anything other than a single jump slash to hit him with, and it ends up taking three combos to kill him because of this. Hurricuane is basically identical to how we fought her in her stage.
After the next elevator ride we'll fight the ice bosses in Model Fx. We transform into Fx early just because it gives us a lot of fun stuff we can do on the elevator and it doesn't make any difference either way. This section of bouncing the enemies around with Fx punches was always one of my favorite bits from the previous TAS, I was committed to going above and beyond to live up to and build upon the entertainment value here. The boss fights with Fx are essentially the same as their original form, the only difference being slight delays at the start to get the charges we need.
After this will be the fire bosses, the non-elemental bosses, and the final boss. All of which will be done in Hx so we switch back right away to benefit from the faster movement as we make our way to the next elevator. Showing a total disrespect for the elevator and the spike-lined walls we will simply climb all the way to the top of the room while we wait. Although it's entirely for style points the technique for doing spike jump wallclimbs like this is a bit interesting. As mentioned previously it's a rather precise trick that depends on your subpixels, if you do a regular dash walljump, or non-dash walljump your pixels will not be right after the first spike jump and you will die when going for the second. In order to get multiple jumps in sequence like this we need to have a combination of dashing and walking speed in our jump. Surprisingly this is one thing that Hx is bad at, in any other model we could simply use a delayed dash walljump to set up the pixels. In Hx if you try that the delayed dash will just be an airdash directly into the spikes. The trick ended up being to non-dash walljump and then do a tiny updash, which gives us dash speed afterwards. This lets us control our pixels well enough to climb to the top of the world with just barely enough time to get back to the elevator before it's first stop.
For the fire element bosses we can't come in with a charged lightning orb ready so instead we do the full saber combo with both the walking slash and the third hit of the slash sequence. On the last elevator ride we refill on energy and otherwise just troll around a little bit. The last couple bosses are again just repeats with one extra hit in the first combo to make up for no charge. We get one last hallway to refill again and then it's onto the final boss.
In his first form Serpent jumps around a lot, has a lot of health and no weakness. We'll do two full Hx combos with an air-slash + lightning orb mini-combo in between them. His pattern is manipulated for him to be standing on the ground doing his shotgun attack during both of the long combos because this is the best move of his for being able to get a lot of hits on him quickly.
In his second form he again has no weakness and he's way up in the air so our regular combos are off the table. This fight is split up into three phases, one for each of his health bars. For the first phase we will simply use air slashes and lightning orbs to whittle him down. Energy is very tight, even going in with a completely full bar we will have only exactly enough to do the fight optimally. The two orbs in the first phase are dropped one after the other in order to get the second one for free, this requires precise timing and placement in order to have both of those orbs reach the boss on the exact frames that his invincibility runs out at two seperate points in the fight. The long transition times are used to charge up tornadoes for both the second and third phase. For phase two we drop an extra lightning orb to get a free tornado. For phase three we can't do that because of some interesting ways the systems work. At this point we have 6 energy, if we turn on overdrive and drop a lightning orb we'll drop to 3, which should be fine because the tornado is going to be free. Or so you might think, instead the game notices you don't have enough to afford a tornado and it just drops your charge level down instantly. Sure, no problem, we'll just drop the orb without turning overdrive on and instead activate it the moment we drop the tornado. Turns out that doesn't work either because when you do the free charge attack trick the second charge uses the overdrive state that you had for the first charge, so if we don't overdrive the orb then our tornado will get weak. This means that we have to just cast the tornado at full price, which thankfully we have just exactly enough to do so while holding up the one energy we need to overdrive our final hit.
Closing Thoughts
This project was a lot of fun to work on, even if it ended up taking a lot longer than it probably should have due to various things that I went through during production. All in all I'm happy with the final project, I think it was a good improvement on the previous TAS with both major new techs and strategies as well as a lot of small optimizations throughout. The game is great casually, for RTA and for TAS and I'm happy to contribute to it in this way.
Here's a breakdown of the timesaves throughout the run:
2558 from Soya dashes
469 from the 3 cycle plane boss
459 from going through Area A on the way to Lurrere's stage (Not counting speed dashes in that segment)
178 from doing Potatoes' lab in Hx (Not counting speed dashes in that segment)
168 from using Hx for the boarding pods in the second to last mission
131 from backtracking through Leganchor's stage
1050 from various other optimizations
Credits / Shoutouts
Joka: Did a great job with his first tasing project and was also extremely patient with me as I failed to make any progress on the project for like an entire year.
Rolanmen and Mothrayas: As usual the works of the TASers before us serve as the baseline to build off of. I'm a big fan of their work with the game and it was a great starting point to work with.
Our early access beta testers: Ikki, Tiki, Zinfogel, Ariel and Elpis who watched through the early drafts looking for possible improvements. More specifically credit for going left after Leganchor goes to Zinfogel, and we can thank Elpis for the Lurrere strategy, an airdash wallpunch we missed in Pandora's stage, and spotting a movement error before Potatoes.
ALAKTORN: He started a WIP a long time ago, the major improvement to the snake boss in the intro stage was his work.
Hetfield: Thanks for the encode and the epic thumbnail picture as always.
suggested screenshot: 111049
arkiandruski: Claim.
arkiandruski: Everything looks good here. That new movement tech looks much smoother and much more obviously a TAS trick.
Accepting as an improvement to [1720] DS Mega Man ZX by Noxxa & Rolanmen1 in 1:09:14.29.
Spikestuff: Publishing.