Submission #9817: keylie's Linux Axiom Verge in 20:48.996

Linux
baseline
(Submitted: AxiomVerge )
libTAS v1.4.6
149784
119.92355158388148
46020
PowerOn
335031523cc4b296287afdc4b54d81ce
Game: Axiom Verge, version 1.58, Steam, 64-bit binary.

OS: Debian 12 amd64, libTAS v1.4.6. Game executable is `/path/to/game/AxiomVerge`.

libTAS must be configurated with `Runtime > Virtual Steam client` checked. In `File > Executable options`, library path must be set to `/path/to/game/lib64`.

For encoding purpose, the resolution of the game can be changed in-game in the options, it does not affect sync. The options must be set by launching the game from libTAS with `Runtime > Prevent writing to disk` unchecked, so that the options are saved on disk. Then, `Runtime > Prevent writing to disk` is checked again and the TAS can be played back.

			
Also syncs on v1.59 (catalogued version)
			
Submitted by keylie on 7/23/2025 4:25 PM
Submission Comments
Trace is back for a third trip into Axiom Verge, with a slight route change and even better grapple movement.

Game objectives

  • Emulator used: libTAS 1.4.6
  • Takes damage to save time
  • Uses a game restart sequence
  • Genre: Platform, Action, Adventure
You can refer to the previous submission for most of the tricks and glitches. Here is all the new stuff only.
Commentaries as subtitles: UserFiles/Info/638888839881881085

Door transition optimization

Door transitions could be improved even more. In general, we want to reduce the size of Trace's sprite along the axis of the door as much as possible. Because when entering the door, the animation lasts until the whole sprite is inside the door. Also for the exit, Trace is placed so the sprite is entirely inside the door, and we take back control when the whole sprite is a fixed number of pixels away from the door.
So, for horizontal transitions, we want the sprite that has the smallest width size. The best one is when looking up or down in the air, so we jump while looking up just before entering the door, and press forward the next frame, so that the previous sprite is kept when entering the door. This is an illustration compared to just walking, with how long the animations of going inside and outside a door take:
For vertical doors going up, the best sprite is looking diagonally down. For vertical doors going down, it is better to crouch while entering the door.

Framerate manipulation jumps

One specific jump was made possible by some framerate manipulation during the jump. By setting the framerate to 30 during the rise of the jump, Trace will bonk on the ceiling later. Then, using a high framerate (300) on the fall of the jump, it will just barely help clearing the gap. This is not a bug, but is due to the fact that the engine is tied to framerate, and to how and in which order the game updates Trace's position and velocity on each frame.
Here is an example of a simulated jump with coyote time, where you can change the variables, including the framerate (f). This was made by speedrunner RareBeeph from the game's code and variables.
With this jump made in the drone room, we can access the grapple without grabbing glitch gun 2. This saves about 110 seconds from the old route.

Grapple tricks

Instant swing

This is fastest movement possible with the grapple. When we are very close to a ceiling and we grapple up, Trace will snap down a bit because the grapple has a minimum length. However, Trace's position is not fully updated yet, so if we press right or left on the next frame, Trace will swing considerably on the opposite direction to try to match its vertical position. We can then cancel and grapple up again, to move horizontally very fast.

Swinging clip

Using this, we can clip through 1-tile walls, by grappling one the ceiling next to the wall, and start a swing

nymx: Claiming for judging.
nymx: Trying to expand my emulator base. Sorry, I have ran into problem after problem trying to get this set up. Maybe next time. I will say this, its a very sharp and optimized looking TAS...I just have to perform a sync test and that will be all. Leaving this for another member to complete.

nymx: Claiming for judging.
nymx: Thanks to fsvgm777 for the sync verification. I had already went through this TAS and confirmed that it is good to go. So I'll just go ahead and finalize it now. Really good work and it has a strong showing of roughly 10 minutes over https://www.speedrun.com/axiomverge/runs/mk2ol85m.
Accepting.
fsvgm777: Processing.
Last Edited by fsvgm777 on 11/9/2025 8:44 AM
Page History Latest diff List referrers Change Log