Tool-assisted speedrun

Tool-assisted speedrun

A tool-assisted speedrun (abbreviated TAS) is a speedrun movie or performance of a video game produced by means of emulation and using features unavailable to regular players, such as slow motion or frame-by-frame advance of the gameplay, and re-recording of previous portions of a performance. The idea is that such "tools" compensate for human limitations in skill and reflex, facilitating gameplay techniques that are otherwise impossible or prohibitively difficult. Producers of tool-assisted speedruns do not compete with so-called "unassisted" speedrunners of video games.



The term was originally coined during the early days of "Doom" speedrunning, during which the first of these runs were made (although they were sometimes also referred to as "built demos"). 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. A couple of months afterwards, in June 1999, Esko Koskimaa, Peo Sjoblom and Yonatan Donner opened the first site to share these demos, which they aptly called "Tools-Assisted Speedruns".Doom tool-assisted speedrunning is sometimes referred to as "tools-assisted speedrunning", with the plural of "tool". This was the name of the site that shared these demos. A news post after the creation of the site, however, read "Indeed, I was wrong and the site should be called 'Tool-Assisted Speedruns' rather than 'Tools-Assisted Speedruns'. I'm not going to redo the logo though."]

Like many other tool-assisted speedrun communities, the maintainers of the site stressed the fact that their demos were for entertainment purposes rather than skill competitions, although the attempt to attain the fastest time possible with tools itself became a competition as well.Cite web | year = 1999 | url = | title = Information about Tools-Assisted Speedruns | author = Koskimaa, E., Sjoblom, P., & Donner, Y. | accessdate = April 8 | accessyear = 2006] The site became a success, updating usually several times a week with demos recorded by its maintainers and submitted by its readers. After a short while, when version 2.03 of Lee Killough's Marine's Best Friend Doom source port was released (based on the Boom source port), it became even easier for people to record these demos, adding the functionality of re-recording without having to replay the demo until it reached the point where you wanted to continue.

The site was active until August 10, 2001, at which point Yonathan Donner posted a news message stating that their site would be an archive from now on, and pointing towards The Doomed Speed Demos Archive, a site mainly for non-assisted speedruns, of which the author agreed to take over the posting of tool-assisted speedruns. Although popularity had dwindled since then, built demos have still been submitted until as late as November 2005, and are currently usually being made with PrBoom.Cite web | year = 2005 | url = | title = The Doomed Speed Demos Archive | author = Merril, D. | accessdate = April 8 | accessyear = 2006]


In 2003, a video of a Japanese player called Morimoto beating the NES game Super Mario Bros. 3 in 11 minutes and performing some other incredible stunts as well started floating around the internet. It was a very controversial video because not many people knew about tool-assisted speedruns back then, especially for the NES. Many people felt like they had been cheated when they found out it was done using an emulator. That video, however, gave the inspiration to Joel "Bisqwit" Yliluoma to start a website called NESvideos, which was dedicated to tool-assisted speedruns for the NES. At first it hosted videos only for the NES, but as the community grew, members of the community managed to add the features required for tool-assisted speedrunning into other emulators for other systems. Later the name of the site was changed to TASvideos [] . As of 2006, TASVideos is the largest English-language webcommunity which produces and hosts tool-assisted speedruns.

Tool-assisted speedruns have been made for some notable ROM hacks as well as for published games.Some notable ROM hacks are speedrunned, such as the popular Super Demo World - The Legend Continues hack of Super Mario World. This is not considered 'cheating' in any sense, since the hacks themselves are different in layout from the original games. [] ]

A joke personification of tool-assisted speedruns, called TAS-san (Mr. TAS), has become popular among Japanese internet users. Tool-assisted speedruns uploaded to video sites like Nico Nico Douga or Youtube may be described as a new world record by TAS-san, who is said to have the inhuman memory and reflexes needed to execute such a speedrun in real time.


Creating a tool-assisted speed run is the process of finding the ideal set of inputs to complete 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, using 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 (e.g. 5%) of normal speed. However, due to advances in the field, it is now expected that frame-advance, manually stepping through emulation one frame at a time, is used. A tool-assisted speed run done without this technique may be criticised for sloppy play.

Frame-advance also facilitates another common technique, luck manipulation, which is the practice of exploiting the game's use of player input in its pseudo-random number generation to make favorable outfalls happen. Using a savestate from before some event, it is possible to experiment with small input variations until the event has the desired outcome. Depending on the game and event, this can be a very time consuming process, at times requiring much backtracking, and can as such take up a large portion of the total time spent making a tool-assisted speed run. Making the ideal piece drop next in Tetris, or getting a rare drop the first time one kills an enemy, are examples of luck-manipulation.

A rarely used tool is brute-force searching for ideal inputs by making a computer play the game, trying all possible inputs. In theory, this process could find the ideal set of inputs for any game, but since the space of all possible inputs grows exponentially with the length of the sequence, this is only viable for optimizing very small portions of the speed run.

Another rarely used technique is to disassemble the game executable. By exposing the game logic, this can make it possible to manipulate luck without trial and error, or reveal bugs in the game engine. A more common, related technique, is to monitor the memory addresses responsible for certain effects to learn why and when they change.

All these techniques involve direct interaction with the game state in ways not possible without emulation, but the final result, the set of inputs that makes up the speed run, does not depend on such manipulation of the state of the emulated machine. The tool use in tool-assisted speed running is therefore different from the sort of state manipulation tools like Gameshark provide, since such manipulation would not be expressible as a sequence of timed inputs.

Re-recording emulators

Tool-assisted speedrunning depends heavily on the same series of inputs being played back at different times always giving the same results - the emulation must be deterministic. Otherwise, a movie that was optimal on one playback might not even complete it on a second playback. This phenomenon, where the state of the emulated machine no longer corresponds to what it was when the movie was produced, is called a loss of synchronization, or commonly, a "desync". Aside from nondeterministic emulation, desyncs can be caused by incomplete savestates, where the state of the emulated machine is different after returning to a saved state than it was when that state was saved originally.

Emulator inaccuracies like nondeterministic emulation and incomplete savestates are often only discovered under the stringent frame-by-frame conditions of tool-assisted speedrunning. Furthermore, they have little effect on regular gameplay, and so emulator developers often do not give these issues high priority. As a consequence, some emulators used for tool-assisted speedruns have been forked by the speedrunning community. Examples of these are Snes9X improvement, Gens rerecording, VBA rerecording and Mupen rerecording. Playing back a tool-assisted speedrun requires an emulator that emulates exactly the same was as the one that was used to make the speedrun. Thus, for the common case where a forked emulator was used to produce a TAS, playback on the normal, unmodified version of the emulator usually leads to a desync.

Emulators that currently feature the tools necessary to create tool-assisted speedruns include the Nintendo emulators Famtasia, FCE Ultra [] , Nintendulator and VirtuaNES, the Super Nintendo emulators Snes9x [] and ZSNES [] , the Genesis emulator Gens [] , the Game Boy Advance emulator Visual Boy Advance [] , and the Nintendo 64 emulator Mupen64 [] [Raiscan hosts a list of the TASvideos community's recommended emulators for tool-assisted speedrunning at [] ] .


Tool-assisted speedruns are created for many reasons, the major ones being noted below:

*To find a game's theoretical limit — runners are interested to find out what the fastest possible completion time for a game is under "perfect play," and tool-assisted speedruns allow for that.
*To provide entertainment — tool-assisted speedruns (and speedruns in general) are fun to watch for many casual gamers because speedruns allow them to learn tricks they never knew before from playing the game "normally."
*To provide a standard for comparison with unassisted runs; but only in special cases: both runs must be following the same or very similar routes, and using a similar set of tricks and/or glitches. Unassisted runners often use the TAS as a reference point to gauge their own performance.

Separation from unassisted runs

Tool-assisted speedruns are timed in a distinct category from unassisted runs, for reasons of fairness. In unassisted runs, a difficult path is often avoided in favour of an easier, but slower one, in order to avoid the risk of dying and having to start over. Depending on the game, the time differences between possible routes, along with other advantages from frame-by-frame precision, tool-assisted speedruns surpass their unassisted counterparts by a few seconds to entire hours. For example, the fastest Super Mario Bros. TAS currently stands at 04:58.18 (4'57" using Speed Demos Archive Timing), while the fastest unassisted run stands at 5'00". A trick in A Link to the Past allowing for walking through walls has allowed for an extremely short 3'45" TAS, but because the trick is impossible to reproduce in real time using a standard controller, the fastest unassisted run is over an hour long. Because unassisted speedruns can be made in much less time than tool-assisted speedruns, discovery of a time-saving trick may mean the fastest unassisted speedrun is faster than the fastest tool-assisted run. From August 13 to 21, 2007, the fastest unassisted speedrun of Pokémon Blue was 4 minutes faster than the best TAS, due to a new trick that allowed walking through walls. On August 21st, however, a TAS was submitted that was 20 minutes faster than the unassisted run.

Timing conventions

Tool-assisted runs are timed by input, i.e. from game power-on to the last input necessary such that the ending scene and/or game credits can not be prevented. Any introductory cutscenes, game-loading screens, and trailing dialogues after the last boss battle (if input is necessary to scroll through the text) are included in the final times. The times are exact (to the nearest frame), a level of precision that is not possible with unassisted runs because it cannot be determined from a recording when exactly the input ended. Speed Demos Archive and Twin Galaxies measure only the length of the gameplay proper, and begin timing when the player gains control of the character and ends timing when the player loses it. These differences in timing conventions can result in seemingly discrepant times between unassisted and tool-assisted runs. For example, the most recent Super Mario Bros. speedrun by Andrew G., an even five minutes by SDA timing, seems to be only 1.82 seconds slower than the current tool-assisted world record of 4 minutes and 58.18 seconds, but his run actually contains 5 minutes and 3 seconds of input.

Degree of glitch abuse

One of the most important differences between a tool-assisted and unassisted run, is the use of glitches in the game. Though glitch use is not uncommon in unassisted runs, many are negative towards them, some considering glitch use cheating. In tool-assisted speedrunning, glitches are held in much higher regard, to the degree that the term "glitch abuse" has positive connotations, and tool-assisted speedruns often make heavy use of them. This may in part be because the majority of glitches are very difficult to exploit without frame-precision and re-recording.

Entertainment factor

These differences also lead to different expectations from tool-assisted and unassisted speedruns. Taking damage when doing so does not save time and/or is not required may look sloppy in a tool-assisted run, while being hit by the occasional hard-to-avoid enemy in a relatively long unassisted speedrun would not prevent the runner from holding his world record title. After the advent of frame-advance, frame-precise movement has also come to be expected, the lack of which may be characterized as "sloppy play". Another difference is in the standards of use of waiting time in the speedrun: in situations where it is not possible to make the game move faster, and the player has to wait, such as in autoscrolling or any other areas of a game in which the runner does not have control over the speed, the runner is advised in TASvideos guidelines to do something entertaining for the viewers. An example of this is the gathering of 99 extra lives in the autoscrolling sections of the famous Super Mario Bros. 3 speedrun. In unassisted runs, however, players usually would not risk dying and having to start over to entertain the viewer.

frame|center|Tool-assisted speedruns usually extensively abuse glitches, such as this zipping trick which makes travelling through walls possible


In the context of tool-assisted speedrunning, many common terms, usually neologisms, have been created. These terms are necessary to understand most general discussions about the phenomenon. This list covers the most ubiquitous terminology. Note that some words may have a different typical meaning outside of the lexicon of tool-assisted speedrunning; for example, frame applies to movies as well as to video games, but only the latter has relevance in this case.
*Emulator:Software which allows console games to run on modern platforms (computer architecture and/or operating system) and provides the runner with the common toolset, such as save states. Emulators that currently feature the tools necessary to create these tool-assisted speedruns include the Nintendo emulators Famtasia, FCE Ultra [] , Nintendulator and VirtuaNES, the Super Nintendo emulators Snes9x [] and ZSNES [] , the Genesis emulator Gens [] , the Game Boy Advance emulator Visual Boy Advance [] , and the Nintendo 64 emulator Mupen64 [] .
*Input:The data that is inserted into the game, either by the actions of a player (both during normal play and during speedrunning) or by an input file. The data can for example represent button presses/releases and joystick positions (e.g. with the Nintendo 64) on the controller, and even the reset button of the console if the emulator's input file format records these events.
*Input file:A computer file that, among various other data, contains the analog or digital states of all buttons during every frame of a tool-assisted speedrun movie. This data is needed to reconstruct actions in a game, using an emulator. Unless the movie starts from the console power-on or from reset (as is the case with most movies on the TASVideos website), it might also contain a save state that is loaded at the beginning of the game.
*Frame:One of the still images composing the animation of a video game. Most gaming systems (and thus, emulators) update the screen 50 (PAL) or 60 (NTSC) times per second (although sometimes only every second or third frame is rendered on some systems, lag notwithstanding). Every one of such updates is called a frame. Almost all console systems check the input (which buttons are pressed on the controller) once per frame, which is therefore the highest possible resolution of input in tool-assisted speedrunning.
*Frame advance:An emulation feature which allows for the manual progression of frames, such as by pressing a button. It is similar to slow motion, the only difference being that the game is effectively paused until the player decides to resume the emulation for one frame. This is used in order to create input at exactly a specific time, seen as how one can find that particular moment simply by checking every frame at one's leisure.
*Glitch:An unintentional feature in a game ― usually considered an error. Many games contain glitches, some very small and hardly notable, but others very significant. Glitches are usually result of accidental or intentional sloppy programming. Because many console games are run on rather slow CPU power, perfect programming (such as pixel-perfect collision checks) would often be too slow. As a result, programming “shortcuts” have to be taken. See "Speedrun#Glitch_usage" for further information.
*Hex editing, Binary editing:The act of editing the raw data that composes a binary file (usually done with a tool that displays the file data in hexadecimal numbers). This is usually done in order to modify input files, such as to change small errors or to copy and paste parts of a movie. Due to its difficulty, it is fairly scarcely done.
*Lag:The effect experienced when the game runs slower than normal due to there being too many instructions for the CPU to calculate in the time of one frame. Thus, the CPU will spread the calculations over multiple frames. Because it cannot show the results of the calculations when expected, there will be identically rendered frames while it is working. Often, during lag, the game will ignore the player's input until the calculations are performed. There might also appear graphical anomalies, such as Head-Up Displays appearing in the wrong place. Note that lag often refers to delays experienced in computing communications, such as during online gaming.
*Luck manipulation:The act of recording a beneficial pseudo-randomly generated result. Console gaming systems are actually computers; computers are actually calculators; calculators perform calculations; calculations are always predictable and repeatable with identical results. When a player “manipulates” his luck, he abuses the fact that with save states, he can try different methods of input to see how a game will react. Pseudo-randomly generated results in the context of video games (such as some instances of artificial intelligence or the obtaining of random power ups) may be examined and retried until the most opportune one is found.
*Re-record, Re-recording:An instance of the usage of a savestate while recording a tool-assisted speedrun or the act of doing so. This is an absolutely essential and very typical part of tool-assisted speedrunning. See "Re-recording (video gaming)" for further information.
*ROM:The read-only memory of a game cartridge dumped as a binary file on a separate file storage medium. It contains all data of a game cartridge, such as the programming as well as the graphics and music. Loading a ROM image of a game in an emulator is the usual method to play such games.
*Savestate:A snapshot of the emulated system's state at that current moment. Restoring a saved savestate will revert the console and the game to that exact state, including the game's future outcomes of pseudo-random generators. This is known as a re-record when performed during the recording of a movie (input file).
*Slow motion:The slowing down of an emulated system to make it easier to create input (thus increasing the potential precision). The usage of slow motion is crucial to tool-assisted speedrunning, as many of the esoteric techniques are impossible to perform without it due to mechanical and human limitations. Frame advance is the most accurate kind of slow motion.
*TAS:Common abbreviation of "tool-assisted speedrun". The word TAS is used in the tool-assisted speedrun community exactly like the word “run” is used in the unassisted speedrun community. (See "Speedrun, § Glossary".)
*Tier:A particular intention or set of rules with which to record a speedrun, such as playing with different characters or taking a certain route. For example, if a route is found that allows extremely fast completion of a game via a glitch, it will often be considered a separate "tier" in order to preserve the old route's movies and records, as people may find the old way of doing it to be more enjoyable or otherwise interesting.
*Timeattack:Tool-assisted speedruns are sometimes called "timeattack". This most likely stems from the Japanese term “” (“"taimuatakku"”). In the English community, this term has mostly fallen out of favor.

See also

*Speedrun — play-through of a computer or video game, in which the whole game or a select part of it, such as a single level, is played with the intent of completing it as quickly as possible, optionally with certain prerequisites
*Re-recording — the act of using a save state while recording a tool-assisted speedrun
*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
*Game demo — a freely distributed demonstration or preview of an upcoming or recently released computer or video game
*Electronic sports — a general term used to describe computer and video games which are played as competitive sports

External links


Journal, newspaper and magazine articles

*Cite web | year = 2005 | curly = true | url = | title = Smashing the Clock | publisher = | author = Turner, B. | accessmonthday = August 13 | accessyear = 2005:Very extensive article about speedrunning, both tool-assisted and unassisted, in general.
*Cite web | year = 2006 | curly = true | url = | title = Gamers Divided Over Freakish Feats Achieved With Tool-Assisted Speed Runs | publisher = MTV News | author = Totilo, S. | accessmonthday = April 29 | accessyear = 2006:Very well-informed article on the differences between unassisted and tool-assisted speedrunners and the reason why this causes controversy between the two camps.
*Cite web | year = 2004 | curly = true | url = | title = 'Perfect' Zelda NES Speed Record Beaten | publisher = Slashdot | author = Slashdot contributors | accessmonthday = May 25 | accessyear = 2006:Posting of a tool-assisted speedrun on Slashdot, a news website and Internet forum.
*Cite web | year = 2005 | curly = true | url = | title = Interview of Phil for September 2005 issue of GEE | publisher = NESVideos | author = Grohé, M., Coté, P. | accessmonthday = May 25 | accessyear = 2006:Interview of a tool-assisted speedrunner about speedrunning in general.
*Cite web | year = 2005 | curly = true | url = | title = Interview of Bisqwit for September 2005 issue of GEE | publisher = NESVideos | author = Grohé, M., Yliluoma, J. | accessmonthday = May 25 | accessyear = 2006:Interview of Joel Yliluoma, webmaster of TASVideos, currently the largest tool-assisted speedrunning website.
*Cite web | year = 2005 | curly = true | url = | title = Interview of Bisqwit for GameCritics | publisher = NESVideos | author = Orland K., Yliluoma, J. | accessmonthday = May 25 | accessyear = 2006:Another interview of Joel Yliluoma, conducted in 2005, about speedrunning in general.

General informative sources

*Cite web | year = 2006 | curly = true | url = | title = Common Tricks | publisher = NESVideos | author = NESVideos contributors | accessmonthday = October 16 | accessyear = 2005:Documentation on commonly used tricks in tool-assisted speedruns.
*Cite web | year = 2006 | curly = true | url = | title = Glossary | publisher = TASVideos | author = TASVideos contributors | accessmonthday = July 2 | accessyear = 2006:An extensive glossary documenting all of the common terminology in the context of tool-assisted speedrunning.

Footnotes and citations

External links

* [ Tool-assisted console game movies] - Speedruns through various classic console games, made with emulators and utilizing slow-motion and savestates.
* [ Common tricks] page on [ Bisqwit's TASVideos site] , actively documenting techniques that may be used in tool-assisted speedruns.
* [ GamesTech] - Finalfighter's Rockman series tool-assisted speedrun planning site

Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать реферат

Look at other dictionaries:

  • Tool-assisted speedrun — (сокращенно TAS[1])  скоростное прохождение игры с использованием встроенных инструментов эмулятора, таких как сохранение и перезапись, замедление и покадровый ввод, просмотр содержимого памяти и анализ исполняемого кода. Идея TAS… …   Википедия

  • Tool-assisted speedrun — Un tool assisted speedrun (abrégé en TAS) est un speedrun d un jeu vidéo réalisé à l aide d un émulateur et d outils inaccessibles à des joueurs à la manette, comme le ralenti et le re recording, qui permet de recommencer n importe quel passage… …   Wikipédia en Français

  • Speedrun — A speedrun (IPA: IPA|/ˈspiːdˌɹʌn/) is a play through, or recording thereof, of a computer or video game performed with the intent of completing it as quickly as possible, optionally under certain prerequisites, mainly for the purposes of… …   Wikipedia

  • Speedrun — Unter einem Speedrun, auch Speed Run geschrieben, versteht man das Durchspielen eines Computerspiels innerhalb einer (angestrebten) schnellstmöglichen Zeit.[1] Der Begriff wird nur bei Spielen verwendet, deren primäres Ziel nicht Geschwindigkeit… …   Deutsch Wikipedia

  • Speedrun — Les speedruns sont des concours visant à finir un jeu vidéo le plus rapidement possible, généralement en mode de difficulté maximum. Sur Internet, des sites sont consacrés à ces concours, avec des enregistrements vidéos des meilleures… …   Wikipédia en Français

  • Schnelldurchspielen — Unter einem Schnelldurchspielen bzw. Speedrun, auch Speed Run geschrieben, versteht man das Durchspielen eines Computerspiels innerhalb einer (angestrebten) schnellstmöglichen Zeit.[1] Der Begriff wird nur bei Spielen verwendet, deren primäres… …   Deutsch Wikipedia

  • Speed Demo — Unter einem Schnelldurchspielen bzw. Speedrun, auch Speed Run geschrieben, versteht man das Durchspielen eines Computerspiels innerhalb einer (angestrebten) schnellstmöglichen Zeit.[1] Der Begriff wird nur bei Spielen verwendet, deren primäres… …   Deutsch Wikipedia

  • Speed Run — Unter einem Schnelldurchspielen bzw. Speedrun, auch Speed Run geschrieben, versteht man das Durchspielen eines Computerspiels innerhalb einer (angestrebten) schnellstmöglichen Zeit.[1] Der Begriff wird nur bei Spielen verwendet, deren primäres… …   Deutsch Wikipedia

  • Video games notable for speedrunning — Traditionally, speedruns have been performed by members of online communities about games in general, usually through discussion forums, using strategies devised by members of such forums. When the activity became popular enough to accede… …   Wikipedia

  • Re-recording (video gaming) — Re recording is the act of using a save state while recording a tool assisted speedrun; by loading a saved version of a prior machine state during the emulation, the movie that is being recorded will be trimmed to the point in time at which this… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”