TASBot

**TASBot** on työkaluavusteisia speedruneja toistava, vuonna 2014 tehty robotti. Sen kehitti dwangoAC:n johtama tiimi. Robotti ottaa syötteenä videopeliohjainten näppäinpainalluksia ja lähettää ne signaaleina pelikonsolin, kuten Nintendo Entertainment Systemin tai Super Nintendo Entertainment Systemin, ohjainliitäntöihin.

TASBot tunnetaan siitä, että se on esiintynyt suosituissa nopeuspelaamistapahtumissa kuten Games Done Quick.

## Historia

Idea TASBotista tuli noin vuonna 2009, kun työkaluavusteisille speedruneille omistettu verkkosivusto *TASVideos* loi laitteen, joka pystyi lähettämään ennalta määrättyjä syötejonoja NES-konsoliin suoraan sen ohjainliitäntöjen kautta. Muutaman seuraavan vuoden aikana useampi eri ihminen kehitti samankaltaisia laitteita ja tekniikoita pelatakseen automaattisesti konsolipelejä suoraan laitteistojensa kautta. Allan Cecil, joka tunnetaan käyttäjänimellään dwangoAC, ensimmäisenä kehitti TASBotin näiden aiempien laitteiden konseptien, oppaiden ja kehittäjien avulla. Robottia kehittää ja ylläpitää tällä hetkellä tiimi.

TASBotin ensimmäinen versio, alkuperäiseltä nimeltään ROBBerry Pi, debytoi Awesome Games Done Quickissa (AGDQ) vuonna 2014, jossa se pelasi *[[Gradius]]*ta, *[[Mario Kart 64]]*:ää ja *[[Super Mario World]]*iä.

TASBot sisältää "uudelleentoistotaulun", joka ottaa syötteenä ennalta määrätyn näppäinpainallusluettelon Linux-koneelta ja käyttää sitä lähettääkseen signaalit suoraan pelikonsolin ohjainliitäntöihin. Näppäinpainallussyötelista kirjoitetaan ja tallennetaan manuaalisesti, ja se testataan emulaattorilla. Ohjaimen näppäinpainallukset pitää ajoittaa äärimmäisen tarkasti, jotkut livesuoritukset ovat epäonnistuneet ristikkäisten johtimien aiheuttamien pienten sähkömagneettisten häiriöiden seurauksena.

## Nopeuspelaamiset
Debyytissään AGDQ:ssa vuonna 2014 TASBot pelasi *[[Super Mario World]]iä*. Hyödyntämällä mielivaltaisen koodin suorittamisohjelmointivirhettä suoritus salli pelaajien pelata *[[Pong]]ia* ja matopeliä pelin sisällä. AGDQ:ssa 2015 TASBot käytti samaa haavoittuvuutta koodatakseen kopion *[[Super Mario Bros.]]* -pelistä *Super Mario Worldiin*, kirjoittaen pelin SNESiin ja sitten pelaamalla sitä. Se pelasi myös *[[Pokémon Red and Blue|Pokémon Rediä]]*, jonka aikana Twitchin keskusteluja syötettiin peliin reaaliajassa. Vuoden 2016 tapahtumassa TASBot "suoritti" *Super Mario Bros. 3*:n alle sekunnissa syöttämällä lähes 8 000 näppäinpainallusta sekunnissa. Samassa tapahtumassa se koodasi myös *[[Super Mario Maker]]*in kenttäeditorin SNESiin reaaliajassa sen suorittaessa peliä, mikä oli parannus edellisiin tapahtumiin, joissa peli pysäytettiin ja korvattiin toisella.

AGDQ:ssa 2017 demonstroituaan samankaltaisia pelisuorituksia aiemmilta vuosilta, TASBot näytti pelaavan *[[Super Mario 64]]*:ää ja *[[Portal]]ia* sekä soittavan SNESillä Skype-puhelun. Tämä saavutettiin striimaamalla videota ja ääntä konsoliin, kun se ensin oli saatu haltuun *[[The Legend of Zelda: A Link to the Past]]* -pelin kautta. Kaistanleveys riitti 128×112-kokoisen videon näyttämiseen 10 hertsin kuvataajuudella. SGDQ:ssa vuonna 2018 TASBot pelasi *[[Celeste]]ä*.

AGDQ:ssa 2019 TASBot-tiimi esitteli MASHBotin, uuden robotin, joka fyysisesti painelee ohjaimen näppäimiä sen sijaan, että se lähettäisi signaaleja ohjainliitäntään. Se oli alun perin suunniteltu toimimaan Game Boy Advance SP:n kanssa, mutta se debytoikin pelaamalla Nintendo DS -peliä *[[Super Scribblenauts]]* kosketusnäytön kautta. Vuonna 2020 tiimi laittoi TASBotin pelaamaan Nintendo Switchillä. Tässä tapauksessa lähdekoodia ei kuitenkaan julkaista, jotta vältetään lailliset ongelmat Nintendon kanssa.

## Lähteet

## Aiheesta muualla
* Virallinen verkkosivu