General

libTAS has been initially developed to support games that are using Simple DirectMedia Layer (SDL) for rendering (both software and OpenGL rendering). SDL is a cross-platform library for developing games. It is used in many commercial Linux games, either directly, or by using a high level framework that uses SDL as an intermediate layer. This includes FNA, a reimplementation of Microsoft XNA, or Chowdren, a cross-platform runtime for Clickteam Fusion games.
There has been some development to handle low-level rendering/inputs to support more games, including GameMaker Studio or Unity games.
Also, Steam games are partially supported right now. We can't let the game connect to Steam because Steam is messing with our code injection by spawning multiple processes and injecting code itself (such as game overlay). To fix that, a dummy Steam library is implemented, but it is still under development and games have many ways to connect to Steam so this does not work for all games yet. On the game compatibility below, it is noted if the Steam version of the game is supported. If not, you must use a drm-free version, except if the Steam game is or can be made drm-free.

Rendering

LibTAS supports SDL1 software rendering, SDL2 software and OpenGL rendering, and low-level GLX (OpenGL) rendering.

Inputs

Supported inputs are:

Audio

Audio playback needs to be controlled for a correct playback when game is paused, and for audio dumping. Audio sources are intercepted from the audio library calls made by the game, and are mixed together by libTAS and played back at frame boundaries. The currently supported high-level audio libraries are SDL1 Audio, SDL2 Audio and OpenAL. Also, low-level ALSA API is supported, so that other high-level libraries (like FMOD) are still working.

Compatibility

Engine Compatibility

This is a list of game engines/frameworks that libTAS should be able to run, with their specific settings. Most games of the indicated engines should run fine with the required settings. Some games may be noted as not compatible in the next section.

Recreated Engine Compatibility

Taken from this post, thanks to Slamo for gathering all this data.

Emulator Compatibility

Having an emulator compatible with libTAS does not mean that submissions of games running inside this emulator are accepted. I suggest you contact one of the TASVideos staff member if you are interested in such submission, or wait for an official statement.

Game Compatibility

This list contains games that don't use the above engines, or require specific settings.
Game Framework Steam Comments
1001 Spikes ??? Yes Needs to create a file steam_appid.txt containing the Steam appId
Braid SDL1 or SDL2 ??? Offset between system and game cursor
Dead Cells Heaps/SDL2 ??? Needs Time tracking > gettimeofday() to prevent softlocks, randomness not controlled, audio effects not supported
Dustforce SDL2 ???
Limbo SDL2 ??? Needs Time tracking > SDL_GetPerformanceCounter() to prevent a softlock at startup
Metal Slug SDL2 ???
Osmos ??? ??? Needs Time tracking > gettimeofday() to prevent softlocks
Shovel Knight SDL2 Yes
SteamWorld Dig None ??? Needs Time tracking > clock_gettime() to prevent a softlock at startup
SteamWorld Dig 2 SDL2 ??? Needs Time tracking > SDL_GetPerformanceCounter() to prevent a softlock at startup, variable loading times
Spacechem Tao/SDL2 ???
Super Hexagon SDL2 ???
Super Meat Boy SDL2 Yes
The End Is Nigh SDL2 Yes Variable splash screen time
Volgarr SDL2 ??? Needs -vsync=2 to get consistant startup. Variable loading time between levels, removed by a game setting
VVVVVV SDL2 ??? fps is 1000/34, letterbox mode forces 320x240 because logical size is not supported
Wonder Boy: The Dragon's Trap SDL2 Yes
Game Framework Steam Comments
Antichamber Unreal Engine ??? Crash at startup. Issue
Enter the Gungeon Unity Yes Prompts the game window then crash. Spawns more than 30 threads!
Guacamelee SDL2 ??? Softlock at splashscreen. Issue
Hotline Miami Qt5 ??? Instable. Common freezes, relies entirely on time hack, rendering thread is not main thread (thanks Qt...)!
La-Mulana Remake SDL2 ??? Only run with Uncontrolled time and Native events. At least three different threads render on screen (wtf)
Papers Please OpenFL ??? Softlocks at startup. Uses SDL Timer which is not supported
Steredenn Unity Yes Prompts the game window then crash. Spawns more than 30 threads!

EmulatorResources/LibTAS/GameCompatibility last edited by Randomno on 8/20/2023 8:30 AM
Page History Latest diff List referrers View Source