TASBot

{{short description|Tool-assisted speedrunning robot}}

{{use dmy dates|date=October 2019}}

{{Distinguish|Tool-assisted superplay#Console verification}}

TASBot is a tool-assisted speedrun mascot created in 2013,{{Cite web |title=Post by dwangoAC |url=https://tasvideos.org/Forum/Posts/361685 |access-date=2022-07-17 |website=TASVideos}} developed by a team led by dwangoAC. A replay device takes a list of controller inputs which it then sends to a console such as a Nintendo Entertainment System or Super Nintendo Entertainment System (SNES) directly via signals to the controller ports.{{Cite web |date= |title=ConsoleVerification/Guide#Replay device |url=https://tasvideos.org/ConsoleVerification/Guide |access-date=2023-10-22 |website=TASVideos}}

TASBot is known for its appearances at popular speedrunning events such as Games Done Quick.

History

The idea for TASBot began around 2009 when a user of the tool-assisted speedrun website TASVideos created a device which could send a predetermined list of inputs to a Nintendo Entertainment System directly via its controller ports. Over the next few years a number of different people developed similar devices and techniques to automatically play video game console games directly through their hardware. dwangoAC first developed TASBot by building on the concepts and guides for these earlier devices along with assistance from their creators.{{Cite news|url=https://www.linuxjournal.com/content/meet-tasbot-linux-powered-robot-playing-video-games-charity|title=Meet TASBot, a Linux-Powered Robot Playing Video Games for Charity|last=Cecil|first=Allan|date=14 November 2018|work=Linux Journal|access-date=18 September 2019}} The robot is now developed and maintained by a team.

The first version of TASBot – which was initially named ROBBerry Pi for the R.O.B. model exterior and Raspberry Pi internals – debuted at Awesome Games Done Quick (AGDQ) in 2014, playing Gradius, Mario Kart 64, and Super Mario World.

TASBot contains a "replay board", which takes a predetermined list of inputs from a Linux machine and uses them to send signals directly to a console's controller ports. The list of inputs is written and recorded manually, tested on an emulator. Controller inputs need to be timed extremely accurately; some live runs failed as a result of slight electromagnetic interference from crossed wires.

Speedruns

At its debut during AGDQ in 2014, TASBot played Super Mario World. By leveraging an arbitrary code execution glitch, the run allowed players to play Pong and Snake inside the game.{{Cite news|url=https://www.polygon.com/2014/1/14/5309662/bizarre-super-mario-world-hack-turns-the-game-into-pong-snake|title=Bizarre Super Mario World hack turns the game into Pong, Snake|last=Farokhmanesh|first=Megan|date=14 January 2014|work=Polygon|access-date=18 September 2019}} At AGDQ 2015, TASBot used the same exploit to code a copy of Super Mario Bros. into Super Mario World, writing the game to the SNES and then playing it. It also played Pokémon Red, during which the event's Twitch chat was fed into the game in realtime.{{Cite news|url=https://arstechnica.com/gaming/2015/01/pokemon-plays-twitch-how-a-robot-got-irc-running-on-an-unmodified-snes/|title=Pokémon plays Twitch: How a robot got IRC running on an unmodified SNES|last=Orland|first=Kyle|date=5 January 2015|work=Ars Technica|access-date=18 September 2019}}{{Cite news|url=https://www.polygon.com/2015/1/5/7496187/tasbot-speedrun-awesome-games-done-quick-super-mario-world-pokemon|title=Watch a robot tear apart and rebuild Super Mario World and Pokémon|last=Kollar|first=Philip|date=5 January 2015|work=Polygon|access-date=18 September 2019}} During the AGDQ event in 2016, it wrote a Super Mario Maker level editor onto an SNES in realtime while it was running a game, an improvement over stopping and then replacing the game as in previous events.{{Cite news|url=https://arstechnica.com/gaming/2016/01/how-a-game-playing-robot-coded-super-mario-maker-onto-an-snes-live-on-stage/|title=How a game-playing robot coded 'Super Mario Maker' onto an SNES—live on stage|last=Orland|first=Kyle|date=11 January 2016|work=Ars Technica|access-date=18 September 2019}} At the summer SGDQ event of the same year, TASBot "completed" Super Mario Bros. 3 in less than one second by performing almost 8,000 inputs per second.{{Cite news|url=https://arstechnica.com/gaming/2016/07/how-to-beat-super-mario-bros-3-in-less-than-a-second/|title=How to beat Super Mario Bros. 3 in less than a second|last=Orland|first=Kyle|date=12 July 2016|work=Ars Technica|access-date=18 September 2019}}

At AGDQ 2017, after demonstrating similar runs from previous years, TASBot appeared to play Super Mario 64 and Portal, and make a Skype call on a SNES. This was achieved by streaming video and audio to the console after taking control of it via The Legend of Zelda: A Link to the Past. The bandwidth was sufficient to display a 128×112 video at 10 frames per second.{{Cite news|url=https://arstechnica.com/gaming/2017/01/how-a-robot-got-super-mario-64-and-portal-running-on-an-snes/|title=How a robot got Super Mario 64 and Portal 'running' on an SNES|last=Orland|first=Kyle|date=15 January 2017|work=Ars Technica|access-date=18 September 2019}} At SGDQ 2018, TASBot ran Celeste,{{Cite news|url=https://uk.ign.com/articles/2018/07/04/sgdqs-most-mindblowing-speedrun-wasnt-humanly-possible|title=SGDQ's Most Mindblowing Speedrun Wasn't Humanly Possible|last=Rad|first=Chloi|date=10 July 2018|work=IGN|access-date=18 September 2019}} and at AGDQ 2019 it ran Mari0, using glitches with the portal gun to fling itself across levels and skip others entirely.{{Cite web |title=TASBot |url=https://tasvideos.org/TASBot |access-date=2022-05-12 |website=TASVideos}}

At AGDQ 2019, the TASBot team showcased MASHBot, a new robot which physically presses controller buttons, rather than directly sending signals via the controller port. Initially designed to work with a Game Boy Advance SP, the robot debuted by playing Nintendo DS game Super Scribblenauts via the touchscreen.{{Cite news|url=https://arstechnica.com/gaming/2019/01/meet-mashbot-the-touchscreen-tapping-nintendo-ds-playing-robot/|title=Meet MASHBot, the touchscreen-tapping, Nintendo DS-playing robot|last=Orland|first=Kyle|date=15 January 2019|work=Ars Technica|access-date=18 September 2019}} In 2020 the team set up TASBot to play on a Nintendo Switch. In this case, however, the source code will not be made available, to avoid legal issues with Nintendo.{{Cite news|url=https://arstechnica.com/gaming/2020/01/inside-tasbots-semi-secret-probably-legal-effort-to-control-the-nintendo-switch/|title=Inside TASBot's semi-secret, probably legal effort to control the Nintendo Switch|last=Orland|first=Kyle|date=11 January 2020|work=Ars Technica|access-date=13 January 2020}}

TASBot made an appearance for the "OoT Triforce Percent" run demonstrated at the 2022 Games Done Quick.{{Citation |title=Ocarina of Time TAS by dwangoAC, TASBot, Savestate, Sauraen in 53:05 - Summer Games Done Quick 2022 |url=https://www.youtube.com/watch?v=PNbkv_DJ0f0 |language=en |access-date=2022-07-17}} This was a run of the game The Legend of Zelda: Ocarina of Time on the Nintendo 64 heavily relying on an arbitrary code execution (ACE) exploit in the game set up by Ocarina of Time speed-runner Savestate. The run demonstrated an ACE that enabled data to be transferred via the Nintendo 64's controller ports{{Citation |title=Finally Obtaining the Triforce in Ocarina of Time: Triforce Percent Explained |url=https://www.youtube.com/watch?v=qBK1sq1BQ2Q |language=en |access-date=2022-07-17}} to access beta content and add new content both based on pre-launch articles and urban legends and on The Legend of Zelda: Breath of the Wild, ending with messages displayed from the Twitch chat.{{Cite news |author1=Rich Stanton |date=2022-07-05 |title=This Zelda 'speedrun' is legit one of the greatest things I've ever seen |language=en |work=PC Gamer |url=https://www.pcgamer.com/this-zelda-speedrun-built-on-urban-legends-is-an-all-time-gaming-moment/ |access-date=2022-08-04}}

References

{{reflist}}