Top Qs
Timeline
Chat
Perspective
Tool-assisted speedrun
Video game technique From Wikipedia, the free encyclopedia
Remove ads
A tool-assisted speedrun or tool-assisted superplay (TAS; /tæs/) is generally defined as a video game playthrough or speedrun composed of precise inputs recorded with tools such as emulators. Tool-assisted speedruns are generally created with the goal of creating theoretically perfect playthroughs. This may include the fastest possible route to complete a game or showcasing new optimizations to existing world records.
This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these messages)
|
TAS requires research into the theoretical limits of the games and their respective competitive categories. The fastest categories have no restrictions and often involve a level of gameplay impractical or impossible for a human player, and those made according to real-time attack rules serve to research the limits of human players.
The TAS developer has full control over the game's movement, per video frame, to record a sequence of fully precise inputs. Other tools include save states and branches, rewriting recorded inputs, splicing together best sequences, macros, and scripts to automate gameplay actions. These tools grant TAS creators precision and accuracy beyond a human player.
Remove ads
History
Summarize
Perspective
The term was coined during early Doom speedrunning. When Andy "Aurican" Kempling released a modified version of the Doom source code that made it possible to record demos in slow motion and in several sessions, it was possible for the first players to start recording tool-assisted demos. In a few months, in June 1999, Finnish Esko Koskimaa, Swedish Peo Sjöblom, and Israeli Yonatan Donner opened the first site to share these demos, "Tools-Assisted Speedruns".
In 2003, a video of a Japanese player named Morimoto completing the NES game Super Mario Bros. 3 in 11 minutes and performing stunts started floating around the Internet. The video was controversial, because not many people knew about tool-assisted speedruns, especially for the Nintendo Entertainment System. The video was not clearly labeled as such, so many people considered an emulator cheating. It inspired Joel "Bisqwit" Yliluoma to start the NESvideos website for TAS for the NES, and it was renamed TASVideos.
Nowadays, both tool-assisted speedruns and unassisted (regular) speedruns are recognized as two distinct and legitimate categories. Authors of both categories often cooperate to help perfect their respective speedruns.
Remove ads
Method
Summarize
Perspective
Creating a tool-assisted speedrun is the process of finding the optimal set of inputs to fulfill a given criterion — usually completing a game as fast as possible. No limits are imposed on the tools used for this search, but the result has to be a set of timed key-presses that, when played back on the actual console, achieves the target criterion. The basic method used to construct such a set of inputs is to record one's input while playing the game on an emulator, all the while saving and loading the emulator's state repeatedly to test out various possibilities and only keep the best result. To make this more precise, the game is slowed down. Initially, it was common to slow down to some low fraction of normal speed. However, due to advances in the field, it is now expected that the game is paused during recording, with emulation advanced one frame at a time to eliminate any mistakes made due to the urgency.
Further advances lead to re-recording emulators that capture the entire state of the emulated machine in savestates and allow for arbitrary repetition of any section of the game until perfection is achieved, often assisted by scripts to search for the best input for speficic non-trivial game sections.
The use of savestates facilitates luck manipulation, which uses player input as entropy to make favorable outcomes. Examples include making the ideal piece drop in Tetris, or getting a rare item drop from a defeated enemy.
Input files
Tool-assisted speedrunning relies on the same series of inputs being played back at different times always giving the same results. Due to this, all that's needed for playing back a TAS is a sequence of inputs (such as which button to press/release at which moment in time), the game (typically referenced by its name and a cryptographic hash of its data) and of course a reference to the emulator used for creating the TAS.
Packaging all this in a single file has several advantages: It's way smaller than a video file would be (typically kilobytes), easy to share, typically contains no copyrighted content and makes it easy to verify its legitimacy by playing it back and checking that it reaches the claimed goal such as finishing the game.
In cases where emulator accuracy is sufficient and actual console hardware behaves deterministically as well, it's even possible to play back TAS on real hardware using custom devices such as TASBot that emulate console controllers and send recorded inputs directly to the console through the controller input.[1]
Desyncs
Emulation must be deterministic with regard to those saved inputs, and random seeds must not change. Otherwise, a speedrun that was optimal on one playback might not even complete it on a second playback. This desynchronization occurs when the state of the emulated machine at a particular time index no longer corresponds with that which existed at the same point in the movie's production. Desyncs are often caused by emulators not being fully deterministic or using a different emulator version for playback. Incomplete savestates that don't reset the machine to the exact same state it had during recording or manual edits in input recordings can also cause desyncs – for example, a minor player movement change might cause the game to poll its random number generator one time less, leading to later polls yielding different outcomes and ultimately enemies that depend on this random number generator behaving differently.
Verification
Some players have posted videos of fraudulently recorded speedruns, either by creating montages of other speedruns or altering the playing time. Because tool-assisted speedruns can account for all aspects of the game code, including its inner workings, and press buttons precisely and accurately, they can be used to help verify whether any speedrun record is legitimate.
One of the best-known cases is Billy Mitchell, whose Donkey Kong and Pac-Man Guinness records were revoked in 2018, because it was shown that the original hardware could never have created the video recordings he handed in and they were instead caused by inaccuracies in the emulator MAME he probably used.[2]
In 2018, the world record for Dragster by Todd Rogers was removed from Twin Galaxies and Guinness records after an experiment showed that his 5.51 second time was impossible to achieve even with a TAS.[3][4]
In 2025, the world record for Diablo by Groobo was removed from the Speed Demos Archive (SDA) after a TAS author team proved that it was spliced together from multiple video recordings done with different game characters and different game versions.[5] While the SDA rules permit splicing videos for the Segmented category, such splices are only permitted to skip the gap between saving the game and continuing later on a reload of that exact save.[6]
Remove ads
Examples
In Super Mario Bros., the current Famicom and NES human-theory world record, created by Maru, stands at 4:57.54 (4:54.265 in RTA timing).[7]
In Super Mario Bros. 3, arbitrary code execution along with a credits warp setup allows injecting custom code that simulates a Unix-like console, providing extra features to Mario. The current TAS standing at 216 milliseconds (13 frames) was performed by exploiting a small bug with the Famicom and NES hardware in which the CPU makes many extra "read" requests from one of the controller inputs, registering many more button presses than have occurred; the A button is mashed at a rate of 8 kilohertz (8000 times per second), performing the credits warp glitch.[8]
In Super Mario World, arbitrary code execution allows injection of playable versions of Flappy Bird,[9] Pong, Snake, and Super Mario Bros.
See also
- Time attack — a mode which allows the player to finish a game (or a part of it) as fast as possible, saving record times.
- Score attack — the attempt to reach a record logged point value in a game.
- Electronic sports — video games that are played as competitive sports.
- Piano roll
- Meta Runner — an animated web series inspired by the tool-assisted speedruns.
References
External links
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads