Tool-assisted speedrun
A tool-assisted speedrun (TAS) is a gameplay recording of a video game created using specialized software tools to produce the fastest possible completion time, often achieving superhuman precision and exploiting glitches beyond real-time human capability.[1][2] These recordings are typically made with emulators that allow frame-by-frame input control, save states for trial-and-error, and re-recording to refine sequences, resulting in a deterministic "movie file" that replays the optimized run.[2] Unlike real-time attack (RTA) speedruns performed live by humans, TASes prioritize theoretical perfection over entertainment or human limits, though they may include entertaining elements like arbitrary code execution for humorous outcomes.[1] The origins of TAS trace back to the early 1990s with demo recording features in games like Doom, which enabled precise input playback, but the practice gained prominence in the late 1990s and early 2000s through the NES emulation community.[3] A pivotal early example was Morimoto's 2003 TAS of Super Mario Bros. 3, which demonstrated advanced glitch utilization and inspired the formalization of the hobby.[4] This led to the founding of TASVideos.org in December 2003 by Joel "Bisqwit" Yliluoma, initially as NESVideos, to host and publish these productions; the site evolved into a central hub for the community by 2006 with its domain rename and continues to archive thousands of TAS movies across platforms.[4] TAS creation involves iterative optimization, where authors use tools like frame advance to step through game emulation one frame at a time (at 60 frames per second for NTSC systems), RAM searching to manipulate game states, and scripting for automation, often requiring hundreds of thousands of re-records per project.[2] Emulators such as FCEUX or BizHawk provide these features, ensuring pixel-perfect determinism absent in physical hardware play.[1] The process can take months or years, focusing on minimizing in-game time through luck manipulation—altering random events via precise inputs—and boundary-breaking techniques.[2] The TAS community emphasizes education, collaboration, and entertainment, with TASVideos.org serving as the primary repository under a Creative Commons license, hosting movies for over 1,000 games from franchises like Super Mario, The Legend of Zelda, and Sonic the Hedgehog as of 2025.[1][5] Notable innovations include TASBot, a hardware robot debuted at Awesome Games Done Quick in 2014, which replays TAS inputs on original consoles for live audiences, bridging virtual and physical speedrunning worlds.[4] TASes have influenced broader speedrunning by revealing optimal strategies and glitches later adapted for human RTA records, while maintaining a distinct category to avoid misrepresentation as unassisted play.[1]Overview
Definition
A tool-assisted speedrun (TAS) is a video game playthrough or speedrun that employs specialized software tools, primarily emulators, to execute highly precise and optimized gameplay exceeding typical human limitations.[6] These tools enable creators to record, edit, and replay controller inputs with exceptional accuracy, aiming for the theoretically optimal completion of a game category, such as any% or 100%.[7] The core purpose of a TAS is to demonstrate theoretical perfection in gameplay, incorporating frame-perfect actions—inputs timed to the exact video frame (typically 1/60th of a second)—manipulation of game mechanics like random number generators (RNG), and exploitation of glitches to minimize completion time.[6] This results in superhuman feats, such as pixel-perfect positioning or synchronized enemy behaviors, which highlight the boundaries of a game's programming rather than player dexterity.[7] Key components include granular input recording and replay at the frame level, allowing iterative refinement without full restarts, and savestates for trial-and-error testing of segments.[6] Re-recording emulators facilitate pausing, frame advancement, and input overwriting to splice optimal sequences.[7] Unlike casual play or game modifications, TAS emphasizes verifiable, reproducible inputs within the unaltered game engine, preserving the integrity of the original code while leveraging tools for precision.[6]Comparison to Unassisted Speedruns
Tool-assisted speedruns (TAS) differ fundamentally from unassisted speedruns in execution, enabling superhuman levels of precision and reliability that surpass human physiological limits. In TAS, creators use emulators to perform frame-perfect inputs, enabling actions that require precision beyond human real-time capabilities, such as inputs timed to exact frames (approximately 16.67 milliseconds at 60 fps), using features like frame advance.[8] This contrasts with unassisted runs, which are performed in real-time on original hardware or compatible systems, constrained by human reaction times (typically 150-300 milliseconds)[9] and fatigue during one-take performances without pauses or rewinds.[10] Additionally, TAS permits unlimited retries via savestates, enabling iterative optimization over extended periods, whereas unassisted runners must execute continuously without such aids.[1] The goals of TAS and unassisted speedruns also diverge, reflecting their distinct methodologies. TAS emphasizes not only minimal completion time but also entertainment value, incorporating creative elements like arbitrary code execution, aesthetic routing, or maximal glitch exploitation to showcase a game's hidden mechanics.[1] In contrast, unassisted speedruns prioritize the fastest feasible real-time completion under human constraints, focusing on consistent execution of known strategies without tool-enhanced flair.[10] Despite these differences, both TAS and unassisted speedruns share the core objective of minimizing the time to complete a game, level, or category, often using overlapping techniques like glitch discovery. However, TAS establishes theoretical performance limits by exhaustively exploring input possibilities, which human runs can approach through practice but rarely achieve due to execution variability.[1][10] These distinctions have broader implications for the speedrunning community, where TAS videos frequently serve as benchmarks and sources of inspiration for unassisted runners seeking to refine routes or timings. For instance, TAS demonstrations of optimal RNG manipulation or frame-precise tricks have influenced human strategies in games like Super Mario Bros.. Nonetheless, TAS runs are ineligible for unassisted leaderboards, such as those on speedrun.com, due to the use of tools that violate rules requiring human-only performance.[10][1]History
Origins and Early Developments
The concept of tool-assisted speedrunning emerged in the late 1990s within the Doom speedrunning community, where players began experimenting with modified game engines to achieve precise, frame-perfect inputs beyond real-time human capabilities.[11] Early efforts involved tools like Andy Kempling's lmpcheat program, which enabled slow-motion demo recording and segmentation of gameplay sessions for Doom levels, allowing runners to refine movements iteratively.[11] These techniques built on Doom's built-in demo recording feature from its 1993 release, but the modifications formalized the use of external aids to optimize paths and exploit glitches with superhuman accuracy.[12] The term "tool-assisted speedrun," abbreviated as TAS, was coined in 1999 amid discussions in the Doom community about these enhanced demos, distinguishing them from unassisted human runs while emphasizing legitimate tool use over outright cheating.[13] This period marked the transition from casual glitch hunting—prevalent in 1990s gaming forums and competitions—to structured optimization, influenced by the broader demo scene's tradition of showcasing technical prowess through recorded performances.[14] Unlike earlier speedrunning, which relied on live play, TAS prioritized theoretical perfection, predating organized communities by focusing on emulator-based input recording for games like Doom.[15] In June 1999, the first dedicated TAS website was launched by Esko Koskimaa, Peo Sjöblom, and Yonatan Donner, serving as a hub for sharing these Doom-focused, emulator-optimized demos and fostering initial interest in the practice.[16] The site highlighted tool-assisted runs as a distinct category, encouraging submissions that demonstrated advanced routing and precision unattainable in real-time, thus laying the groundwork for TAS as a formalized pursuit.[17]Key Milestones and Community Formation
In late 2003, a tool-assisted speedrun (TAS) video of Super Mario Bros. 3 created by Japanese TASer Morimoto, using warp whistles and glitches to complete the game in approximately 11 minutes, circulated widely online and ignited significant debate within gaming communities about its authenticity, with many questioning whether the seemingly superhuman precision was achieved through editing or legitimate play.[18] This controversy highlighted the potential of tool assistance in achieving optimized gameplay and inspired Joel "Bisqwit" Yliluoma to establish TASVideos (initially NESVideos) in early December 2003 as a dedicated archive for hosting, encoding, and peer-judging TAS videos, marking the formal inception of an organized TAS community.[18] Throughout the 2000s, the TAS community expanded rapidly through TASVideos, which implemented rigorous submission guidelines including peer review for technical accuracy and entertainment value, fostering a collaborative environment where contributors from around the world shared techniques and movies for various platforms.[18] Parallel growth in the broader speedrunning ecosystem, exemplified by sites like Speed Demos Archive (SDA) established in 1998,[19] introduced segmentation rules allowing multi-session recordings for unassisted runs, which indirectly influenced TAS practices by normalizing planned, optimized strategies even as SDA explicitly excluded emulator-based TAS submissions due to concerns over fairness and emulation accuracy.[20] By the mid-2000s, TAS had solidified as a distinct category separate from unassisted speedruns, with communities recognizing its focus on theoretical perfection over human performance limitations, as evidenced by dedicated forums and archives that prohibited mixing the two in leaderboards or events to maintain competitive integrity.[18] In the 2010s, TAS integrated more deeply with live streaming platforms and hardware emulation advancements, culminating in the creation of TASBot in 2013—a robotic controller replay device that executes TAS inputs on original consoles without emulation desynchronization.[21] TASBot's debut at events like Awesome Games Done Quick in 2014 enabled real-time playback of TAS videos during charity marathons, bridging the gap between online archives and live audiences, raising over $1.4 million for causes by 2024, and establishing standardized verification protocols for hardware-compatible TAS that enhanced the practice's credibility and visibility within the global speedrunning scene.[21]Methods and Techniques
Re-recording Emulators
Re-recording emulators are specialized software that emulate classic video game consoles while providing tools essential for creating tool-assisted speedruns (TAS). These emulators, such as BizHawk and lsnes, enable users to record, save, and replay precise sequences of controller inputs on a frame-by-frame basis, incorporating features like frame advance—which pauses emulation to advance one frame at a time—and rewind capabilities for testing adjustments.[22][23][24] In operation, re-recording emulators store inputs in compact movie files that capture timed sequences of button presses, joystick movements, and other controls without recording full video or audio data. These files, often in formats like .bk2 for BizHawk or .lsmv for lsnes, remain lightweight—typically ranging from a few kilobytes for short segments to several hundred kilobytes for complete playthroughs—allowing for efficient storage and instant playback without rerunning entire sessions from the start. The re-recording process involves loading a savestate (a snapshot of the game's full state at a specific frame) and overwriting prior inputs from that point, facilitating iterative refinements.[25][2] A key advantage for TAS creation is the support for deterministic emulation, where identical inputs and initial conditions produce exactly the same outputs every time, minimizing desyncs—situations where playback diverges from the recorded sequence due to timing discrepancies or emulation inconsistencies. This reliability, achieved through sync-robust savestates and precise timing mechanisms, allows TAS authors to branch, test, and merge input paths reliably. Savestates complement these functions by enabling quick jumps to critical moments for experimentation.[26][27][28] The evolution of re-recording emulators traces back to basic modifications of 1990s console emulators, such as early versions of ZSNES for Super Nintendo, which introduced rudimentary input recording and playback around the late 1990s. By the early 2000s, dedicated TAS tools emerged, like FCE Ultra for NES, enhancing accuracy and adding rerecord counters to track revisions. Modern iterations, including BizHawk (first released in 2012) and lsnes (developed from 2012 onward), incorporate advanced features like Lua scripting for automating repetitive tasks, such as input optimization or visual debugging, while maintaining high emulation fidelity across multiple platforms. As of 2025, BizHawk continues to be actively developed, with its latest release on September 22, 2025, incorporating new cores and features.[29][30][24][31]Input Manipulation and Advanced Tools
In tool-assisted speedruns (TAS), input manipulation involves precise control over player actions at the frame level, allowing creators to optimize paths that would be impossible in real-time play. Frame-by-frame input editing enables the modification of controller inputs directly within a TAS movie file, such as altering button presses or timings to achieve sub-optimal human execution. This technique often uses hex editors or built-in emulator tools to reorder, copy, or insert inputs without re-recording entire segments.[32][7] Luck manipulation is a core technique for controlling pseudo-random elements in games, where precise inputs influence the random number generator (RNG) to produce favorable outcomes, such as optimal enemy placements or item drops. By timing inputs to advance the RNG in specific ways—often through empty or minimal actions—creators can "abuse" randomness without altering the game's core logic, ensuring deterministic results across recordings. This is essential for games reliant on chance, like RPGs or platformers with variable enemy behaviors.[33] Glitch exploitation extends input manipulation by leveraging unintended game behaviors, such as buffer overflows or memory corruption, to bypass levels or alter mechanics. Advanced forms include arbitrary code execution (ACE), where controller inputs hijack the game's instruction pointer to run custom code, enabling feats like embedding mini-games within the original title—for instance, programming a simple Pong variant inside Super Mario World using only frame-perfect inputs. These exploits require exhaustive testing to map glitch conditions precisely.[34][35] Advanced tools facilitate these techniques beyond basic recording. TASBot, a hardware replay device developed since 2013, automates the playback of TAS inputs on original consoles via scripted controller signals, bridging emulation with live demonstrations while maintaining frame accuracy. Scripting languages like Lua, integrated into emulators such as BizHawk or FCEUX, allow programmatic input generation (e.g., viajoypad.set) and RNG monitoring, automating repetitive tasks or brute-forcing optimal sequences. For example, Lua loops can simulate thousands of RNG advances to identify luck patterns without manual intervention.[36][37]
Challenges in input manipulation arise from non-deterministic game elements, such as enemy AI paths or physics simulations influenced by floating-point precision, which can cause desyncs—mismatches between intended and actual states—necessitating multiple recording branches for verification. Handling these requires tools to force determinism, like disabling idle skipping or using cycle-accurate emulation, though complex AI may still demand extensive trial-and-error to align behaviors predictably.[38]