Submission #8108: Vexxter's Flash Vex in 04:32.03

(Link to video)
Adobe Flash
baseline
LibTAS v1.4.4, Ruffle 2023/01/28 version
8161
30
2115
PowerOn
Vex.swf
Submitted by Vexxter on 3/13/2023 7:40:44 PM
Submission Comments
To fix the game from being way too bright put -g vulkan --dont-warn-on-unsupported-content Vex.swf in Command-line options

Note: The video embedded in the submission page is not the version optimised for TAS timing, so just imagine that the player slows down a bit before the portal


The game:


Vex can be divided into 10 different segments: The Tutorial, Acts 1 through 8 and the Credits level
Before I talk about the run there are a few odd movement strats I want to explain:

Corner clipping:

When you cancel a wallslide with the down arrow, your vertical speed gets set to 0 and your ceiling collision disables for as long as you are moving down, this is used to cut corners on the bottom of blocks way tighter then usually possible.

Water momentum glitch:

In the game, there is a variable that determines your speed while swimming, the game moves you with that much speed into the direction you are facing.
When holding the up arrow in water, the game first checks if your speed is below 5 and if so it adds 1 to your speed
When not holding the up arrow in water, the game first removes 0.4 from your speed and if your speed is below 0 it sets your speed to 0
(Holding the down arrow does not affect your speed and simply moves you back by a constant amount, so it's not relevant)
The maximum swimming speed appears to be 5, however, if you have between 4 and 5 speed and hold up your speed still increases by 1 since you have less than 5 speed and you will end up with a higher amount of speed than 5 afterwards you can continue swimming at this speed.
The most optimal up press pattern then becomes:
  • 0.0 speed Not moving
  • Forward - 1.0 speed (+1.0) Getting to 5 speed
  • Forward - 2.0 speed (+1.0) Getting to 5 speed
  • Forward - 3.0 speed (+1.0) Getting to 5 speed
  • Forward - 4.0 speed (+1.0) Getting to 5 speed
  • Forward - 5.0 speed (+1.0) Got to 5 speed :)
  • Nothing - 4.6 speed (-0.4) Slowing down by 0.4
  • Forward - 5.6 speed (+1.0) Increasing by 1, going over 5 speed
  • Nothing - 5.2 speed (-0.4) Slowing down by 0.4
  • Nothing - 4.8 speed (-0.4) Slowing down by 0.4 again to put the decimal to .8 which is the best possible value you can get
  • Forward - 5.8 speed (+1.0) Speeding up again to get to the max speed possible
  • Continue holding forward going at 5.8 speed
Ok, now I'm finally ready to talk about the run!

The TAS:


After getting through the excruciatingly long 13 second intro, I click the Play Game button off-screen to start the game. (fun fact: there is actually a button off-screen that unlocks after beating the game and takes you to the Credits level, so you could technically click it and go to the Credits level beating the game in under 20 seconds, but I didn't do that for obvious reasons)

The Tutorial:

In the Tutorial I jump very late into the first wall, because you can walljump while moving upwards, you can get over the wall very quickly.
After that are some walljumps, I made sure to walljump as low down as possible so I can get onto the block as early as possible and then skip the section with the purple blocks by simply walljumping off the ceiling block.
At the bouncer block I start a wallslide at the side of the bouncer since that very quickly reduces my vertical speed and allows me to activate it way earlier than just jumping on top of it, I also hold up as that places you a few pixels higher for some reason.
In the ending I use the mentioned corner clip to get past the final block at the end as fast as possible with some funny movement while falling to get the best possible position.

Act 1:

In Act 1 I begin by walljumping up the starting area to skip about half of the level
The other half of the level is skipped by doing a precise corner clip off the block above the ending portal, since this would not be possible if it weren't for wallslide cancels stopping your vertical momentum.

Act 2:

The beginning should be pretty self-explanatory
About 8 seconds into Act 2, you can stand on the very edge of the block with spikes on it, the hitbox doesn't actually fully cover the top of the block.
After waiting a short bit I walljump off the orange block and back to the main level to skip a tunnel section with shurikens in it.
I get a little boost from a conveniently moving green block and enter the water section where I swim to the end using the water momentum glitch.

Act 3:

In Act 3 I start by getting to the bouncer block, however, when bouncing on it I reset the level using R. When you reset a level (or respawn from a checkpoint) while on a bouncer, you will spawn at the height of the bouncer you were on and then get the bounce, so I can use this to skip a small part of the level.
After that is some sick shuriken dodging and the rest should be pretty easy to follow, just skipping some purple platforms.

Act 4:

In Act 4 you can skip the entire level by jumping to the left and falling all the way down, when your falling angle is over 90 degrees away from straight up you will die, but you can avoid this by simply changing direction reversing the angular movement, then I just wallslide to avoid dying from fall damage.
After that I push the box while jumping over the spikes, at the last set of spikes I do a wallslide to get on top of the sliding box earlier and jump into the ending portal.

Act 5:

Act 5 should be pretty easy to understand.

Act 6:

In Act 6, it might look like I lost some time getting the key, but this is intentional:
There is a small region above those spikes where you can get inside of the spawning radius of the spinning sawblade thing at the end of the level. Going into this region saves a lot of time in the ending as you don't have to wait for the cycle.
The TAS goes so fast that it gets a cycle known as Lightning Act 6, it doesn't really require anything special except for fast movement but I think it's still worth mentioning because it's very infamous in the Vex speedrunning community.

Act 7:

Yeah you can kinda stand on the edge of the beginning keyblock.
Ok now no one knows why this strategy works, but if you hold down and right after getting off the second swinging pole you clip through the ground right to the end, if you have the in-game quality settings set to something other than high this will result in a death which for some weird reason respawns you at the portal but that loses time so the deathless version is done here.

Act 8

Fast

Credits

At the booster block section you actually move so fast that you end up offscreen. When you are offscreen collision does not affect the player anymore so I am able to clip very far into the block that is above the 2 laser shooters before being pushed out.
At the end I do a smart little optimization with the keyblock. You see, you could just run back a little and then run right again to get the most amount of momentum before being able to get past the keyblock, but you can actually get in between the keyblock and the sawblade while it's opening to be just a little more to the right when the keyblock hitbox disappears. (This saves 1 frame so it is vital to explain this in detail).

And that's Vex beaten in 4 minutes and 19 seconds RTA time! Hopefully you enjoyed it and thanks for reading my explanation all the way through :)


Samsara: Fixed platform.

feos: Claiming for judging.
feos: Accepting per the agreement about out-of-bounds mouse movement in Flash. It's too similar to simultaneous Left+Right which we traditionally allow, because it's just digital input that the platform accepts. While normally Flash games were (and still are) embedded into web sites, and the latter don't let you click the game outside the screen, it's on developers to properly handle things that official FlashPlayer can do.
While sending OOB mouse input to FlashPlayer is currently not a thing to even test due to tools limitations, resizing its window to include the OOB area still makes it accessible for normal mouse input, and OOB input just simulates that.

Samsara: Setting to Delayed at the author's request.
feos: Vexxter improved the initial movie by 39 frames overall, and TheAmazingYucemu's input ended up being rerecorded over, and not contained in this submission anymore. Since this is basically what I should have managed by contacting the author earlier, I'm doing it now. Submission file updated and set back to accepted.

despoa: Processing...
Last Edited by despoa on 4/26/2023 9:31 PM
Page History Latest diff List referrers