Tool-assisted game movies
When human skills are just not enough

Submission #7012: keylie's Linux Flywrench in 19:42.23

Console: Linux
Game name: Flywrench
Game version: unknown
ROM filename:
Emulator: libTAS v1.4.1
Movie length: 19:42.23
FrameCount: 70934
Re-record count: 13081
Author's real name: Clément Gallet
Author's nickname: keylie
Submitter: keylie
Submitted at: 2021-01-25 14:41:14
Text last edited at: 2021-02-22 17:52:23
Text last edited by: fsvgm777
Download: Download (20925 bytes)
Status: published
Click to view the actual publication
Submission instructions
Discuss this submission (also rating / voting)
List all submissions by this submitter
List pages on this site that refer to this submission
View submission text history
Back to the submission list

Version info:

libTAS version: 1.4.1

Annotation info:

Game: Flywrench, Steam version. The latest Linux version is buggy (wrong files, no executable), but the previous version is working fine. It can be download from the Steam console.

Open the following link in a web browser: `steam://nav/console` then `download_depot 337350 337353 6888663543024499238`.

The libraries `libcrypto.so.1.0.0` and `libssl.so.1.0.0` must be taken from the Steam runtime libraries. Alternatively, libTAS can be launched with included steam-runtime libraries using `~/.steam/bin/steam-runtime/run.sh libTAS`. 32-bit version of library libswresample is needed for sound to be encoded (`sudo apt install libswresample3:i386` on Ubuntu).

OS: Debian Buster amd64 with Linux kernel 4.19.0-5-amd64, libTAS v1.4.1. Game executable is `/path/to/game/runner`.

libTAS must be configurated with `Runtime > Time tracking > clock_gettime()` (set by the movie) checked. In `File > Executable options`, library path must be set to `/path/to/game/lib`. The game starts in fullscreen mode, so `Video > Virtual screen resolution` can be set to get the desireable resolution (does not affect sync afaik).

Author's comments and explanations:
Flywrench is an action game released in 2015 (also known as a playable character in Super Meat Boy). This TAS completes the whole game in normal mode, achieving a final in-game time of 6:55.75.

(Link to video)

Photo-sensitivity warning! This games features abrupt camera movements. Here is a slightly cleaner encode with in-game disabled vfx.

Game objectives

  • Emulator used: libTAS v1.4.1
  • Aims for fastest in-game time

All levels must be completed to access the last level of the game.


The mechanics of this game are well explained in this page. Regarding TASing, horizontal and downward acceleration are very slow, only upward acceleration is fast using super-flap (up+flap). Only two super flaps are required to gain the capped velocity (super flaps can be pressed every other frame, no double binding shenanigans). So, the general rule is that to go toward a direction, it is faster to go upward, and toward a wall to bounce to the desirable direction.

It is possible to clip through barriers without touching them (used against pink barriers in several stages). The game checks collision on every frame, so by going fast enough, we can go from one side on the previous frame to the other side on the next frame. It is not possible to achieve the necessary speed when the barrier is not moving, it is only possible when the barrier is going toward us, to get a high relative speed.

Suggested screenshot

Frame 33585

feos: Judging...

feos: Updated movie to contain more accurate annotations. Required game version still can't be downloaded directly via Steam, but we've mirrored the 3rd party app that still can do it (see the thread). Hard to tell if it always continues to work, but looks like it's our only solution at this point.

feos: I watched a full human playthrough of this game to understand the mechanics in all the levels, and then also a human speedrun record, and this run is awesome. But it's really hard to comprehend that if you don't know the game. The levels are tiny and you don't have enough time to understand what just happened, and there's constant fullscreen flashing between all the levels that makes you forget what you just saw. Probably a slowed down encode would be easier to absorb. There's been no feedback despite of me asking for it in chats, and the votes aren't great, so I'm accepting this run to Vault.

fsvgm777: Processing.

Similar submissions (by title and categories where applicable):