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

Submission #6663: keylie's Linux 1001 Spikes "4 players, all skulls" in 22:37.15

Console: Linux
Game name: 1001 Spikes
Game version: unknown
ROM filename:
Branch: 4 players, all skulls
Emulator: libTAS v1.3.5
Movie length: 22:37.15
FrameCount: 81429
Re-record count: 19240
Author's real name: Clément Gallet
Author's nickname: keylie
Submitter: keylie
Submitted at: 2020-03-29 09:57:05
Text last edited at: 2020-04-15 14:57:15
Text last edited by: feos
Download: Download (38679 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.3.5

Annotation info:

Game: 1001 Spikes, Steam version (64-bit binary)

OS: Ubuntu 18.04 amd64 with Linux kernel 4.13.0-36-generic, libTAS v1.3.5. Game executable is `/path/to/game/1001spikes.x64`.

In libTAS, inside `File > Executable options`, library path must be set to `/path/to/game/x64`.

To make the game to run through libTAS, you need to have the Steam client running. Also, you need to create a file in the game folder called `steam_appid.txt` which contains the text `260790`. The reason is that the game will try to find the game id by looking into this file. If it does not find it, it will restart the game through the Steam client, which will mess up libTAS hooking method.

There's no in-game setting to change the window resolution, but it can be modified in `~/.local/share/1001 spikes/common.dat`.

Author's comments and explanations:
1001 Spikes is a platform game released in 2014, consisting of a series of levels with various traps and hazards. This TAS completes the whole game (both Ukampa and Antartica worlds) with four players, while collecting all skulls.

(Link to video)

Game objectives

  • Emulator used: libTAS 1.3.5
  • Uses 4 Players
  • Uses a suboptimal character
  • Collect all skulls
  • Genre: Platform

Category choice

This run completes the whole game with four players controlling the main protagonist Aban, while collecting all skulls. There's an additional restriction, where we don't allow switching characters in the middle of the run (characters are unlocked progressively after stages or skulls). The reason is for entertainment, because some characters totally break the level design of the game.

Stab launch

Stabbing another character launches it at a high speed, but with a dizzy state. This state lasts 139 frames, but can be reduced by mashing jump/attack buttons. With a perfect mashing, it can be reduced to 47 frames, which is low enough to be worth using.

Knife climbing

Your characters are invulnerable during the one frame following the knife animation. If during that frame, a character is hit from a knife of another character, he gains a small hop without the dizzy state. These can be chained to slowly gain height and cross gaps.

Stab clipping

When stabbing, Aban's hitbox is slightly moved forward, so it's back enter inside a wall. If he turns around at that point, the game will push him toward the closest free space, which can be downward, upward or to the side. When performing a high jump and a stab against a three-tiles wall, we have just enough height so that we can clip upward, resulting in doing a three-tile jump. By superposition two or more characters, they can stab each other without hitting each other.

Offscreen mechanics

A character that is offscreen for several seconds is killed. The camera tries to follow as much characters as possible, but also follow objectives. Sometimes we had to wait a bit for the group that goes to the key.



feos: There wasn't a lot of feedback, but this movie is much more interesting than the current run. The game shows how many skulls you've collected around 12:40, which is 30 out of 30 here. Accepting as an improvement.

fsvgm777: Processing.

Similar submissions (by title and categories where applicable):