Submission #8030: ikuyo's Linux Bastion "game end glitch" in 04:46.53

(Link to video)
Linux
game end glitch
libTAS 1.4.4
17192
60
3634
PowerOn
Bastion.bin.x86_64
Submitted by ikuyo on 2/13/2023 3:17:55 AM
Submission Comments
  • Genre: Action
  • Genre: Role-playing
  • Heavy Glitch abuse
  • Heavy luck manipulation
  • Abuses programming errors
Bastion is an action RPG made by Supergiant Games and launched in 2011. It tells the story of a soldier known as The Kid, who wakes up in the aftermath of a catastrophe called the Calamity, which has destroyed his land. He then travels across the remains of his world, searching for a way to rebuild.
This submission beats the game as fast as possible, starting from a New Game file.
Before starting the game proper, we take a quick detour to the options menu. The PC port of Bastion supports three different controller schemes: Slinger-style (mouse + keyboard, the default), Mason-style (mouse for movement, with keyboard for actions), and Trigger-style (controller). We opt for Mason-style, for reasons that will be explained later. Then we start the game.

The Rippling Walls

As The Kid wakes up, we move him directly to the first point of interest. We do so by pressing the left mouse button towards his intended location, similar to MOBAs and old Action RPGs. Using the mouse for this purpose provides very granular control of The Kid’s angle compared to keyboard movement or even controller.
We then pick up the hammer, and with it the ability to roll! Rolling is by far the fastest form of movement in the game, as it provides a substantial speed boost that slowly decays during its animation. This is also why we picked Mason-style controls: due to an oversight, only when using these controls and moving, the game will add our walking speed to the roll speed rather than override it as long as we keep holding the left mouse button. This extends the length of a roll by about 30% and can be disabled granularly by releasing the button at any point, acting both as our fastest movement option and as a great way to precisely control our speed and position.
Rolling also deals 2 HP of damage to enemies and objects. This allows rolls to break past fences, boxes, and other debris found across the game without losing any momentum.
We keep moving and reach the first Gasfella. It has a total of 30 HP. We can quickly defeat it with two hammer swings. There are three kinds of hammer swings: the moving one (a simple sweep), the uppercut (a hammer uppercut motion, done stationary), and the overhead (a slow but powerful overhead hammer bonk), which deal 10, 15 and 20 HP of damage respectively. You can get the moving swing if swinging while moving, and the other two alternate if swinging while not moving, with the first being the uppercut.
As we hit the Gasfella, we ensure to hit it at a precise angle that avoids breaking the nearby walls. Hammer swings can easily break those walls, and doing so incurs freeze frames.
We keep moving forward, getting past the Fang Repeater laying at the floor and heading directly to the fountain right on top of the stairs. We collect one Tonic from it and drink it immediately. Doing so sets a 3 second timer to spawn a wave of Squirts, which gives us enough time to go back down, pick up the Repeater, and return before the Squirts are done spawning.
A wave of 6 squirts spawn, and killing them all is required to proceed. They have 4 HP, and the Fang Repeater shots deal exactly 4 HP damage… 50% of the time. Heavy RNG manipulation is performed to hit as many of them with the maximum damage roll.
Sadly, the fountain itself prevents us from damaging all 6 enemies from a single position, so we have to attack one with our hammer before heading into the Sole Regret.

The Sole Regret

After clearing out the area by destroying a turret from afar and removing the clutter for later, we receive our shield. We get into position to hit another turret, then we get a special delivery: Gasfellas!
The boxes come in two waves, and each have 21 HP. If we break them early, nothing spawns from them, but failing to do so spawns one Gasfella per box. The first wave can be easily cleared by hitting them with two moving swings + a roll each. The second waves spawns too many boxes for us to break them all, but we can use an interesting trick to speed this up:
Waves are coded in the game by assigning enemy groups to a specific wave, and they’re counted as completely if there’s no enemy in the raid currently loaded. Boxes take one frame between blowing up and spawning their respective Gasfellas. As such, breaking all the boxes in the final wave before the last box blows up causes the game to assume the wave has been cleared the first frame after the box blows up, allowing us to bypass it altogether.
After the boxes, a wave of Squirts show up. In this wave, it is enough to kill all but two of the enemies. Additionally, a green large Gasfella spawns, but it’s not considered part of the wave. Not only we don’t have to kill it, but this baby is capable of friendly fire, so we manipulate its attack patterns to get it to hit squirts for us, as its attack deals at minimum 5 damage.

The Wharf Fortress

We enter the Wharf Fortress by falling from the sky, and we break a box containing the Breaker’s bow. Sadly we’re busy so we don’t pick it up. We make our way towards the two stores at the south. While doing so, we’re required to destroy two turrets, which we can do from afar by countering their shots with a well timed shield.
We’re required to interact with both the Distillery and the Armory to progress. Once we do, we run to the barge we’re expected to board to reach the next part of the level, activate it, immediately turn around and leave before the door closes behind us. Autoscroller skip!
The game has a failsafe mechanism that guarantees we’re spawned in the area we were supposed to once the barge arrives if we’re not on it, so we ca use this time for… not much, really.
Once we’re warped, we can get to the corner next to the next gate and roll constantly. By doing this, we get ever so close to the tiles past it, and as we do, we can eventually skip the gate altogether, removing the need to kill a lengthy wave of enemies.
We get to the first Core for the Bastion and the game is never the same from here: welcome to Menu Storage
Almost all menus in the game contain a significant critical bug: it is possible to mess with them by pressing Escape (to leave them) and activating an option at the same time. This is most useful for the menu that confirms if we want to quit the game: accessing it via Esc + click returns control of the Kid while keeping the menu open, and thus preventing events from running. With this, we spam the interact button to collect 14 cores from this one core, close the menu, and die right away so we’re teleported to the next stage.

The Bastion

We get to the Bastion, ready to finish the game. We first talk to Rucks, the narrator, twice in quick succession. This allows us to make sure both cutscenes from his dialogue happen at once, saving time.
Once we’re done with him, we run to the Monument and dump our 14 cores one after another. As we finish, we’re teleported into the Monument. Here, after speaking to both Zia and Rucks, we activate the bastion and reload the universe’s savestate, ready for another run…
Bastion is an action RPG made by Supergiant Games and launched in 2011. It tells the story of a soldier known as The Kid, who wakes up in the aftermath of a catastrophe called the Calamity, which has destroyed his land. He then travels across the remains of his world, searching for a way to rebuild.
Special thanks go to the Bastion speedrunning community for their help and guidance.

Last Edited by ikuyo on 5/29/2023 5:21 PM
Page History Latest diff List referrers