Jump to content

Tool-assisted speedrun

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Mngoblin (talk | contribs) at 10:31, 28 June 2021 (Notable speedruns: Added more detail into SM64 TAS and added a section on Minecraft Tas). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

A tool-assisted speedrun or tool-assisted superplay (TAS) is generally defined as speedrunning a game in an emulator with the goal of creating a theoretically perfect playthrough. As the name implies, a TAS is not performed by an actual human being, but rather by a program or a piece of software that delivers frame-perfect optimized controller input to complete the game in the fastest way possible. The script that delivers these inputs is provided by the TAS author, who would use their knowledge of the game's mechanics and various tools built into the emulator to optimize a speedrun until no more improvements can be identified.

Tools used to this end include using savestates and branches, slow-down and going frame-by-frame, creating macros and scripts to perform automated actions, and so on. At the extreme end of this endeavor, means such as disassembly and brute-forcing can be used.

The idea is not to make gameplay easier for players, but rather to produce a playthrough at a level of gameplay impractical for a human player. As such, rather than being a branch of e-sports focused on practical achievements, tool-assisted speedrunning concerns itself with research into the theoretical limits of the games and their respective competition categories, and producing content with an emphasis on entertainment value — such as by including tricks and stunts that would otherwise be prohibitively difficult to incorporate.

History

1999–2001

The term was 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 Joonatan Donner opened the first site to share these demos, "Tools-Assisted Speedruns".[n 1]

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.[1] 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 the player wanted to continue.

The site was active until August 10, 2001, when Jonathan 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 dwindled since then, built demos have still been submitted as late as November 2005, and are usually made with PrBoom.[2]

2003–present

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.[3] The video proved to be controversial, as not many people knew about tool-assisted speedruns at the time, especially for the NES. As the video was not clearly labelled as such, many people felt they had been cheated when they found out it was done using an emulator. The video, however, inspired 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, its members added the features required for tool-assisted speedrunning into emulators for other systems. The name of the site was later changed to TASVideos. As of May 2020, TASVideos is the largest English-language web community that produces and hosts tool-assisted speedruns; the site holds 4161 complete speedruns, of which 2213 are the fastest of their kind.[4][5]

Tool-assisted speedruns have been made for some notable ROM hacks as well as for published games.[n 2] In 2014 a speedrunning robot, TASBot, was developed, capable of performing TAS runs via direct controller input.[7]

A joke personification of tool-assisted speedruns, called TAS-san (TASさん, lit. Mr. TAS), has become popular among Japanese Internet users. Tool-assisted speedruns uploaded to sites like Nico Nico Douga, YouTube or TASVideos may be described as a new world record by TAS-san, who is said to have the superhuman memory and reflexes needed to execute such a speedrun in real time.[citation needed]

Method

A snippet of the input file for a TAS of a Game Boy Advance game, as seen on a text editor

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 (e.g. 5%) 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.

The use of savestates 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 outcomes 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 speedrun. Examples of luck manipulation include making the ideal piece drop next in Tetris, or getting a rare item drop the first time one kills an enemy in an action game.

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. Instead, a heuristic algorithm can be used. Although such an approach does not guarantee a perfect solution, it can prove very effective for solving simple puzzle games.[8]

Another rarely used technique is disassembling the game executable. By exposing the game logic, this enables the player to manipulate luck without trial and error, or reveal obscure bugs in the game engine. A more common, related technique, is to monitor the memory addresses responsible for certain effects to learn when or how they change. Memory watching is supported by most emulators used on TASVideos.org.

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 speedrun, does not depend on such manipulation of the state of the emulated machine. The tool use in tool-assisted speedrunning is therefore different from the sort of state manipulation that tools like Gameshark provide, since such manipulation would not be expressible as a sequence of timed inputs.

Re-recording emulators

Tool-assisted speedrunning relies on the same series of inputs being played back at different times always giving the same results. In a manner of speaking, the emulation must be deterministic with regard to the saved inputs (e.g. random seeds must not change from run to run). Otherwise, a speedrun that was optimal on one playback might not even complete it on a second playback. This loss of synchronization, or "desync", 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 can also be caused by incomplete savestates, which cause the emulated machine to be restored in a state different from that which existed when it was saved. Desyncs can also occur when a user attempts to match inputs from an input file downloaded from TASVideos and fail to match the correct enemy reactions due to bad AI or RNG.[9]

Problems with emulation, such as nondeterminism and incomplete savestates, are often only discovered under the precise frame-by-frame conditions of tool-assisted speedrunning. Emulator developers often do not give speedrunning issues high priority because they have little effect on regular gameplay; consequentially the community has forked several emulators to make them suitable for the task. These include Snes9X improvement, Gens rerecording, VBA rerecording and Mupen rerecording. If a forked emulator is used to produce a TAS, playback on the normal, unmodified version of the emulator will usually result in a desync.

Emulators that currently feature the tools necessary to create tool-assisted speedruns include the Arcade emulator MAME (MAMEUI's option to record an uncompressed AVI slows down a game), the NES emulator FCEUX, the Super NES emulator Snes9x, the Genesis emulator Gens, the Game Boy Advance emulator VisualBoyAdvance, the Nintendo 64 emulator Mupen64, the GameCube and Wii emulator Dolphin, the Nintendo DS emulator DeSmuME, the Sega Saturn emulator Yabause, the PlayStation emulator PSXjin, and several others for these and other platforms.[10]

In 2012, there was a release by TASVideos.org which is an all-in-one emulator called Bizhawk. Due to the success of some of the cores that are built into the emulator, the team are phasing out some of their older emulators towards and the end of the year and the team encourage TASers who were working on Nintendo 64 and PSX projects for submissions on their website to move to Bizhawk.[11]

Relation to 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 favor of a safer, but slower one, in order to avoid risks such as dying and having to start over, failing a trick and wasting more time, or failing a setup for a difficult trick. Depending on the game, tool-assisted speedruns can surpass their unassisted counterparts by a few seconds to entire hours (with the major sources of time differences including TAS-only routes or tricks as well incremental advantages gained from frame-by-frame precision that add up over time). For an example of a highly optimized real-time run, the fastest TAS of the NTSC version of Super Mario Bros. currently stands at 04:57 (4:54.032 using standard unassisted timing), while the fastest unassisted run stands at 4:59 (4:54.948 using standard unassisted timing by Niftski).[12]

Timing conventions

Tool-assisted runs are timed by input, i.e. from game power-on to the last input necessary to reach the ending scene and/or the game credits. 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, a Super Mario Bros. speedrun by Andrew Gardikis, a 4:58 by SDA timing, seems to be only 0.69 seconds slower than a TAS of 4 minutes and 57.31 seconds by HappyLee, but his run actually contains 5 minutes and 1 second of input starting from power-on.

Unassisted runs faster than their assisted counterparts

Because tool-assisted speedruns often take more time to create than unassisted speedruns, discovery of a time-saving trick may lead to a situation of the fastest unassisted speedrun being faster than its tool-assisted counterpart.

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 21, however, a TAS was submitted that was 20 minutes faster than the unassisted run. [citation needed]

From January 12, 2020, the fastest unassisted speedrun of Donkey Kong Country was 810 milliseconds faster than the best TAS due to a new trick that allowed Diddy Kong to grab a DK barrel and the throw the DK barrel near a hidden barrel at the beginning of the last level, which skips the entire last level and level-finish animation as well.

Some games may produce beneficial glitches if the inserted cartridge is manipulated, which may not be reproduced on an emulator for a TAS. One of the most famous examples is The Legend of Zelda: Ocarina of Time, where lifting the side of the cartridge may allow the player to walk through solid walls. [citation needed]

However, due to potential benefits for either kind of speedrunning, it is not uncommon for speedrunners of both types to collaborate. Unassisted speedrunners can provide their expertise on the subject and receive new points of reference in return. A number of unassisted speedrunners have also made complete TASes, and vice versa.

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 often prevalent in unassisted runs, tool-assisted speedruns often make much heavier use of them. This may in part be because the majority of glitches are very difficult to exploit without frame-precision and re-recording. In some cases a trick relies not only on precise timing, but on several variables in memory also having a specific state, which would be nearly impossible to recreate in real time and without detailed knowledge of the game program.[n 3][n 4]

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 their 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, players usually would not risk dying and having to start over to entertain the viewer.

Runs that prove unentertaining may get rejected for publication, even if the run itself is technically optimized. A bad game choice may contribute to a lack of entertainment. In this context, a "bad game" may represent a goal choice that does not demonstrate the merits of tool-assistance, so choosing a different goal may alleviate this issue. In other cases, such as the Excitebike TAS by Thomas Seufert, a previously unpopular game had achieved notable entertainment boost due to massive improvements brought into play by increased tool-assisted precision.[15]

When someone submits a finished movie file of their input data for publication on the TASvideos website, the audience will vote on if they find the movie entertaining or not. According to their website, movies that stick with their site rules and have an 80% Yes Vote rate is a sign to say that the audience are interested in the movie and is more likely to be accepted or obsolete the current published movie and have the movie published on their website.[16]

Verification of unassisted speedruns

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 an unassisted speedrun record is legitimate. In 2018, Todd Rogers' record for Dragster was removed from Twin Galaxies and the Guinness World Records after a TAS experiment proved that his time, 5.51 seconds, was impossible to achieve even in a TAS.

Some players fraudulently recorded speedruns, either by creating montages of other speedrun or altering the playing time, posting them as TAS or RTA.

  • Another fraudulent RTA case is from Badabun, where Tavo Betancourt streamed a Super Mario Bros. speedrun, finishing it at 05:12'120.[20] Later, it was discovered that he was only pretending to play a series of speedruns from other youtubers.[21] Youtuber Karl Jobst, after analyzing the video, called it "the worst fake speedrun on YouTube".[22] The stream has been parodied by several youtubers of the genre, including Kosmic, former world recorder holder for Super Mario Bros..[23]

Notable speedruns

  • Super Mario Bros.: Current world record, created by HappyLee at 4:57:31 using warp pipes.[24]
  • Pokémon Red: The save glitch allows finishing the game in 0:00 according to the in-game timer, and in 01:09.95 according to the TAS timer.[25]
  • Pokémon Yellow: Arbitrary code execution allows multiple games (non-playable, basically video sequences) to be injected "into" Pokémon Yellow, such as Pokémon Gold, Tetris, Super Mario Bros. Deluxe, among others, in addition to injecting Portal's ending song, and an excerpt from a scene from SpongeBob in FMV format.[26]
  • Super Mario Bros. 3: Arbitrary code execution along with credits glitch[n 5] allows injecting a hack that simulates a Unix-like console, providing extra features to Mario.[28]
  • Super Mario World:
  • Super Mario 64: Finish the game with 0 stars is possible by utilizing several "backwards long jumps" to bypass locked doors with considerable backwards momentum, and has been completed in 6:32.15[32] by Drozdowsky, which is the RTA world record. The game has however been beaten in 4:21.04[33] or 4:20.75 on a N64 console due to poor lag emulation[34], by doing precise movement to open a door underwater which allows the first bowser fight to be skipped. A notable use of TAS is in the "A button challenge", in which a TAS is made to beat the game with 120 stars in the fewest A presses. This challenge, which was popularised by youtuber pannenkoek2012, can now beat the game in 19 A presses.
  • Minecraft: Minecraft TASes are often done by slowing down the game by a large amount so that a human can input frame-perfect controls consistently. The current world record for this is by TASer Circuit, who beat the game on a set seed in 29.19 seconds[35].

Glossary

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.

Arbitrary Code Execution
A type of exploit of game's memory that allows the user to inject code into it using controller inputs. This type of glitch can force the game to end immediately by warping the player to the end of the game itself; another common use is to generate another game or type of program inside the game being run. A notable example of this is a run of Super Mario World during which Snake and Pong were injected into Super Mario World.[36]
Category

A particular intention or set of rules with which to record a speedrun, such as playing with different characters, collecting all items or achieving the best ending. Sometimes, when a glitch is found that allows extremely fast completion of a game, it will be considered a separate "category" as people may find the old way of doing it to be more enjoyable or otherwise interesting.

The most common categories include any% (fastest completion), 100% (full completion — may differ on per-game basis), and low% (completion using the minimum amount of items or powerups; sometimes synonymous with any%).

Emulator
Software which allows video games for consoles or older computers to run on modern platforms (computer architecture and/or operating system) and provides the runner with the common toolset, such as savestates. Emulators that currently feature the tools necessary to create tool-assisted speedruns include the NES emulators FCE Ultra, FCEUX, Famtasia, Nintendulator and VirtuaNES, the Super NES emulators Snes9x and ZSNES, the Master System emulators vbsms+ and Dega, the Genesis emulator Gens, the Game Boy Advance emulator VisualBoyAdvance, the Nintendo 64 emulator Mupen64, the Arcade emulator FinalBurn Alpha, and the Nintendo DS emulator DeSmuME.[10]
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. It may also contain a save state that is loaded at the beginning of the movie unless the movie starts from console power-on or reset (as is the case with most movies on the TASVideos website).
Frame
One of the still images composing the animation of a video game. Most gaming systems (and thus, emulators) update the screen approximately 50 (PAL) or 60 (NTSC) times per second (although sometimes only every second or third frame is rendered on some systems, lag notwithstanding). Every update 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.[37]
Frame advance
An emulation feature which allows for the manual progression of frames by pressing a button. It is similar to slow motion; however, 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 a 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 often the 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, hence the name hex editing). 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 its normal speed due to an excess of 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 finished. 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, RNG manipulation
The act of recording a beneficial pseudo-randomly generated result. All gaming systems are fundamentally computers, which can only perform predetermined calculations; thus all "random" numbers must inherently be generated from predictable but hard-to-replicate sources such as frame counts, timers, and input sequences. Such sources are difficult for a real-time player to control, but when the aim is to simply generate an input sequence that yields a desired result, the creator of said input sequence can attempt different methods of input to see how a game will react, and then keep the input sequence that performs best. Frame advance and savestates are the most common way to quickly examine multiple attempts. Common results that rely on pseudo-randomly generated numbers in the context of video games include instances of artificial intelligence or the obtaining of random power-ups.
Re-recording
A feature in TAS-oriented emulators that creates a savestate of every frame, extensively used while recording TAS movies (input files) to correct sequences of precise inputs.
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 “speedrun” is used in the unassisted speedrun community. Since objectives of tool-assisted creations started deviating from only including fastest completions, the abbreviation is mutually used for tool-assisted superplay as well.
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; this term can also be seen in numerous games that have a lowest completion time mode (e.g. as opposed to "score-attack" mode, where the goal is highest score).

See also

  • Speedrun — play-through of a video game, in which the whole game or a selected part of it, such as a single level, is played with the intent of completing it as quickly as possible, optionally with certain prerequisites.
  • 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 video game.
  • Electronic sports — video games that are played as competitive sports.
  • Piano roll
  • Meta Runner — a web series inspired by the tool assisted speedruns.

Notes

  1. ^ 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."
  2. ^ Some notable ROM hacks are speedran, such as the popular Super Demo World – The Legend Continues hack of Super Mario World. [6]
  3. ^ a run which exploits a programming error to execute arbitrary code in the game. The CPU actually jumps to a memory location holding graphic information about on-screen objects, so all of these objects must be precisely manipulated by the player to create the desired subroutine.[13]
  4. ^ a run which exploits a programming error to change game state variables by rearranging the player's inventory. This requires precise knowledge of the locations and values of the affected variables and the items that need to be arranged to achieve the desired result.[14]
  5. ^ By altering memory through specific movements, it allows you to get to the game credits.[27]

References

  1. ^ Koskimaa, E.; Sjoblom, P.; Donner, Y. (1999). "Information about Tools-Assisted Speedruns". www.doomworld.com. Retrieved 2021-05-29.
  2. ^ Merril, D. (2005). "The Doomed Speed Demos Archive". www.doomworld.com. Retrieved 2021-05-29.
  3. ^ TASVideos (2003-11-20), Super Mario Bros 3 in 11:03.95 by Morimoto), retrieved 2016-07-10
  4. ^ "TASVideos / List All Movies". tasvideos.org. Retrieved 2021-05-29.
  5. ^ "TASVideos / Movie Statistics". tasvideos.org. Retrieved 2021-05-29.
  6. ^ "TASVideos / Movies". tasvideos.org. Retrieved 2021-05-29.
  7. ^ Orland, Kyle (5 January 2015). "Pokémon plays Twitch: How a robot got IRC running on an unmodified SNES". Ars Technica. Retrieved 18 September 2019.
  8. ^ "Algorithm superiority" (phpBB). tasvideos.org. Retrieved 2021-05-29.
  9. ^ "Desync Help". tasvideos.org. Retrieved 2021-05-29.
  10. ^ a b "TASVideos / Emulator Resources". tasvideos.org. Retrieved 2021-05-29.
  11. ^ "Morthays - Emulator Decryption Announcement". tasvideos.org. Retrieved 2021-05-29.
  12. ^ "Any% in 4m 54s 948ms by Niftski - Super Mario Bros. - speedrun.com". speedrun.com. Retrieved 8 April 2021.{{cite web}}: CS1 maint: url-status (link)
  13. ^ "TASVideos movies: [1945] SNES Super Mario World (USA) "game end glitch" by Masterjun in 02:36.4". tasvideos.org. Retrieved 2021-05-29.
  14. ^ "TASVideos movies: [1860] GBC Pokémon: Yellow Version (USA/Europe) "save glitch" by p4wn3r in 01:09.63". tasvideos.org. Retrieved 2021-05-29.
  15. ^ "TASVideos movies: [1348] NES Excitebike (JPN/USA) by Lord Tom in 05:29.44". tasvideos.org.
  16. ^ "Jude Guidelines". TASVideos.org. Retrieved 26 February 2017.
  17. ^ Crecente, Brian (2018-04-13). "Guinness World Records Disqualifies Billy Mitchell's Perfect 'Pac-Man' Run, Other Achievements". Variety. Retrieved 2020-07-26.
  18. ^ "Dragster Designer David Crane Has No Doubts Of Todd Rogers' Record [UPDATED]". www.twingalaxies.com. Retrieved 2021-05-29.
  19. ^ Frank, Allegra (2018-01-29). "Longest-standing video game record declared 'impossible,' thrown out after 35 years (update)". Polygon. Retrieved 2021-05-29.
  20. ^ Pasando Super Mario en 5 minutos, retrieved 2021-05-29
  21. ^ MartinPixel (2020-01-14). "Badabun, el canal de YouTube mexicano es acusado de mentir en un SpeedRun de 'Mario Bros', utilizando clips de otros jugadores". Xataka México (in Spanish). Retrieved 2020-07-29.
  22. ^ The Worst Fake Speedrun on Youtube on YouTube
  23. ^ Beck, Kellen. "Speedrunner beats 'Super Mario Bros.' in unbelievable time". Mashable. Retrieved 2020-07-29.
  24. ^ "TASVideos movies: [1715] NES Super Mario Bros. (JPN/USA PRG0) "warps" by HappyLee in 04:57.31". tasvideos.org. Retrieved 2020-07-30.
  25. ^ "TASVideos movies: [2687] GB Pokémon: Red Version (USA/Europe) "save glitch" by MrWint in 01:09.95". tasvideos.org. Retrieved 2020-07-30.
  26. ^ "TASVideos movies: [3358] GBC Pokémon: Yellow Version (USA/Europe) "arbitrary code execution" by MrWint in 05:48.28". tasvideos.org. Retrieved 2020-07-30.
  27. ^ "TASVideos movies: [2588] NES Super Mario Bros. 3 (USA PRG0) "game end glitch" by Lord Tom & Tompa in 02:54.98". tasvideos.org. Retrieved 2020-07-30.
  28. ^ "TASVideos movies: [3050] NES Super Mario Bros. 3 (USA PRG1) "arbitrary code execution" by Lord Tom in 08:16.23". tasvideos.org. Retrieved 2020-07-30.
  29. ^ "TASVideos movies: [3989] SNES Super Mario World (USA) "game end glitch" by Doomsday31415, BrunoVisnadi & Masterjun in 00:41.68". tasvideos.org. Retrieved 2020-07-30.
  30. ^ "Streamer transforma Super Mario World en Flappy Bird". LevelUp (in Spanish). Retrieved 2020-07-30.
  31. ^ a b "TASVideos movies: [2513] SNES Super Mario World (USA) "arbitrary code execution" by Masterjun in 02:25.19". tasvideos.org. Retrieved 2020-07-30.
  32. ^ "(WORLD RECORD) super mario 64 0 star speedrun 6:32.15". youtube.com. Retrieved 2020-09-20.
  33. ^ "Super Mario 64 "1 key TAS" in 4'21"04*". youtube.com. Retrieved 2020-09-20.
  34. ^ "1 Key TAS Console Verification (4:20.75)". youtube.com. Retrieved 2020-09-20.
  35. ^ Minecraft But Beaten In 30 Seconds | 29.19 | TAS | Any% SS, retrieved 2021-06-28
  36. ^ Masterjun3. "Super Mario World "Arbitrary Code Execution"". Retrieved October 25, 2017.{{cite web}}: CS1 maint: numeric names: authors list (link)In this run of Super Mario World, Masterjun3 uses Arbitrary Code Execution to program Snake and Pong while running the game. Note that in order to achieve this, multiple controller inputs are used at the same time.
  37. ^ Y.M. (inichi) (2009). "Chrono Trigger". Retrieved December 5, 2009.While this is generally true for controller keys, events such as resetting and closing the lid (on the Nintendo DS) may be done at various points within a single frame, allowing very precise data corruption/manipulation.
  • TASVideos – A site hosting tool-assisted speedruns and TAS-related resources