Työkaluavusteinen speedrun (lyhennettynä TAS [1] ) - nopeuttaa peliä käyttämällä emulaattorin sisäänrakennettuja työkaluja , kuten tallentamista ja päällekirjoittamista, hidastamista ja kehyskohtaista syöttöä, muistin sisällön katselua ja analysointia . suoritettava koodi . TAS:n ideana on ylittää ihmisen reaktion ja pelaajan kyvyn rajat päästäkseen pelin teoreettisiin rajoihin eli pelimoottorin todellisten kykyjen rajoihin . TAS-työskentelyn päätavoitteena on luoda viihdyttäviä videoita, jotka näyttävät valitun pelin täydellisen kulun.
Emulaattorilla tallennettu esittelyelokuva ei ole videotiedosto. Tämä on vain sarja näppäinpainalluksia, jotka on tallennettu ajoissa ( syöttöloki ) . Jos sitä katsotaan samoilla (tai yhteensopivalla) emulaattorin ja ROM :n versioilla, joille se on tallennettu, pelin vastaus pelaajan syötteisiin on aina sama, mukaan lukien pelin tekoälytoiminnot ja näennäissatunnaisten numeroiden luominen . Pelimoottorien determinismin vuoksi saman ajan näppäimet tuottavat saman tuloksen.
Jokaisen TAS-ajan (TAS-passion luojan) tavoitteena on löytää optimaalinen napsautusjärjestys, joka johtaa haluttuun tulokseen mahdollisimman lyhyessä ajassa. Tätä varten käytetään seuraavia menetelmiä.
Emulointinopeutta voidaan lisätä tai vähentää. Easea käytetään pelitapahtumien tarkempaan seurantaan TAS-nauhoituksen aikana. Siten pelaaja voi harkita huolellisesti jokaisen toiminnon läpi ja irrottautua reaktion nopeudesta.
Kehyksen etenemistoiminnon esiintyminen nykyaikaisissa emulaattoreissa , eli pelin kehys kehykseltä [5] eteneminen , mahdollisti tarvittavien näppäinten esipainamisen jokaista yksittäistä kehystä varten. TAS:n tallentaminen tässä tilassa antaa sinun syöttää peliin napsautussarjan, joka on säädetty kehyksen sisällä (minimi jakamaton peliajan yksikkö).
Pelin tehottomasti suoritettujen osien uudelleenkirjoittaminen tapahtuu välittömien tallennusten perusteella - mahdollisuus tallentaa ja ladata peli missä tahansa. Vain viimeinen versio kappaleesta pääsee lopulliseen demo-elokuvaan. Siten TAS-er voi toistaa toistuvasti mitä tahansa pelin osaa, optimoimalla taktiikoita tai kokeilemalla pelimoottoria. Esimerkiksi tapetun vihollisen palkinto joissakin peleissä riippuu siitä, milloin vihollinen tapettiin. Tämä ominaisuus perustuu niin kutsuttuun onnenkäsittelyyn , eli tietystä pelielementistä vastaavien muistisolujen arvojen epäsuoraan hallintaan .
Muistiskannausta tarvitaan saadakseen tarkkoja tietoja pelin eri elementeistä, kuten hahmojen kunnosta/tilasta, koordinaateista ja nopeudesta lähimpään murtopikseliin . Tällainen tieto helpottaa suuresti pelaajan analysointia ja optimaalisten päätösten tekemistä.
Näiden arvojen valvomiseksi sinun on tiedettävä digisovittimen muistissa olevien vastaavien solujen osoitteet . Ne ovat erilaisia joka pelissä. Kiinnostava solu voidaan löytää progressiivisella suodatuksella. Lisäksi tämä solu lisätään soittimen jatkuvasti tarkastelemien osoitteiden luetteloon.
Muistin tarkistus yhdistettynä hidastukseen ja päällekirjoitukseen antaa sinun hallita pelaajan hahmoa ja siten koko pelin tapahtumien kulkua äärimmäisen tarkasti.
Nykyaikaiset TAS-laitteet käyttävät skriptikielen Lua [6] runsaita ominaisuuksia tehdäkseen läpäisyprosessista helpompaa ja mukavampaa. Tunnettuja käyttötapauksia Lualle:
Kehyslaskuri auttaa sinua seuraamaan, kuinka monta kehystä toiminto kestää, jotta voit vertailla objektiivisesti erilaisia pelistrategioita ja arvioida niitä käytettyyn aikaan. Viivelaskurin avulla voit tunnistaa pelin ei-toivotut hidastumiset ja kehittää optimaalisen strategian viiveen vuoksi menetettävän ajan minimoimiseksi .
Katselupainikkeiden painalluksella jokainen TAS-elokuvien katsoja saa käsityksen suoritettavista manipulaatioista ja usein toistaa temput menemättä niiden olemukseen [7] .
Pelikoodin purkaminen avaa pääsyn piilotettuihin kuvioihin. Työskentely emulaattoriin sisäänrakennetun debuggerin kanssa vaatii yleensä erityistä tietoa, mutta sen avulla voit purkaa pelin logiikan, ymmärtää yksittäisten mekanismien toimintaperiaatteet (esimerkiksi algoritmi pseudosatunnaislukujen luomiseksi manipuloida onnea turvautumatta yrityksen ja erehdyksen menetelmiin ), havaita mahdolliset virheet ja pelimoottorien haavoittuvuudet.
Konsolipelien purkaminen liittyy läheisesti romhackingin maailmaan .
Erityisesti suunniteltuja robottiohjelmia, jotka pelaavat peliä ihmisen sijaan, voidaan käyttää vain lyhyitä aikoja, koska kaikkien mahdollisten napsautusten määrä kasvaa eksponentiaalisesti jokaisessa elokuvan seuraavassa ruudussa. Lisäksi todella viihdyttävän videomateriaalin luomiseksi tarvitaan henkilön suora osallistuminen tallennukseen, joten TAS:n ohjelmointibotteja käytetään vain erityisissä manipulointitapauksissa.
Kohdat eroavat asetettujen tavoitteiden ja niiden saavuttamiseksi käytettyjen menetelmien osalta. Tässä on joitain niistä [8] :
Tavoitteena on päästä finaaliin mahdollisimman nopeasti. Useimpien pelien päätunniste. Ajan vuoksi pelaaja jää usein paitsi palkinnoista, koska bonuspisteiden laskeminen vie ylimääräistä aikaa, jää paitsi vastustajien iskuista, joiden väistäminen vie useita kehyksiä, ja vastustajien tuhoutuminen tapahtuu usein mitä odottamattomimmalla tavalla [9] .
Useita eri pelejä pelataan samanaikaisesti, eli kirjoitetaan sisääntulotiedosto, joka toimii kaikissa. Kun transkoodataan videotiedostoksi, kaikki kohdat sijoitetaan yhdelle näytölle [10] .
Matkan varrella kirjailija ohittaa joitain tasoja käyttämällä julkisia temppuja, kuten salaisia kohtia ja bonusteleportteja . Joskus hyppääminen useiden tasojen läpi on mahdollista koodin tai kartan suunnitteluvirheen vuoksi. Tällaisten juoksujen ohella sivustolle julkaistaan yleensä läpikäynti pelistä ilman ohituksia - Ei loimia .
Kun energian määrä lakkaa riippumasta sattumasta tai virheestä, ihminen voi hallita sen tasoa tehtävästä riippuen. Lähes jokaisessa pelissä on osia, joiden suorittaminen kestää kauemmin, jos säästät energiaa. TAS-er vaihtaa energiavarannon aikaan ja laskee tarkasti, missä sitä voidaan säästää ja mihin se voidaan käyttää suuremmalla hyödyllä.
Kirjaimellisesti - onnen manipulointi. Melko monimutkainen tekniikka, joka edellyttää pelin logiikan ymmärtämistä. Koska jokaisen muistisolun jokainen arvo on tiukasti deterministinen, on mahdollista hallita, mitä normaali pelaaja pitää satunnaisena elementtinä. Näiden elementtien hallinta ei sinänsä ole niin vaikeaa kuin niihin vaikuttavan tekijän löytäminen.
Nopeuttaakseen TAS-käyttäjien läpikulkua he käyttävät usein kehittäjien virheitä ( pelaamisen epätasapaino , testaajien valvonta, ohjelmoijien virheet ). Tällaiset virheet johtuvat konsolin vakavista rajoituksista.
Käyttämällä esimerkkinä NES -alustaa , kehittäjät yksinkertaistavat pelin tekemiä tarkistuksia muistin purkamiseksi. Jos hahmo alkaa kävellä seinään, seinä työntää hänet pois itsestään ja estää häntä pääsemästä sisään. Jos hän kuitenkin on jo tässä seinässä, se alkaa työntää häntä vastakkaiseen liikesuuntaan. Ja siihen pääsee, jos et mene siihen, vaan esimerkiksi hyppää istuen [11] .
Joskus tällaiset elokuvat voivat hämmästyttää katsojan käsittämättömien tapahtumien ylellisyydellä . Jotkut speedrunit tasapainottavat kirjaimellisesti pelin jäätymisen partaalla. Tämä läpivientien luokka tarkoittaa, että henkilö hallitsee häiriötä ja laskee, mikä pelin epänormaali käyttäytyminen on hänelle hyödyllisempää: hahmon käyttäytymismahdollisuudet jokaisessa kehyksessä ja pelimoottorin reaktiot tähän käyttäytymiseen tarkistetaan [12] .
Joissakin peleissä hahmoa ei heitettä takaisin tason alkuun kuollessaan. Lisäksi sankarille annetaan monissa peleissä kuoleman jälkeen hetkeksi haavoittumattomuus [13] .
Yksi henkilö ohjaa kahta hahmoa kerralla (joskus enemmän - jopa neljää). On kaksi tapaa toteuttaa tämä idea, kukin omalla tavallaan. Joko anna päähenkilöiden yhteistyötä pitämällä molempien näppäimiä samanaikaisesti painettuna tai käytä multitrack.lua-skriptiä, jonka avulla voit rekisteröidä kunkin merkin ohjauksen erikseen noin muutaman sekunnin ajan: toinen seisoo paikallaan, toinen liikkuu ja skripti "muistaa" syötteen, sitten peli kelaa taaksepäin ja ohjaus määrätään seisovalle hahmolle. Vaikeus on, että kun toinen pelaaja seisoo, vihollisten käyttäytyminen on yksi asia, ja kun hän myös liikkuu, se on erilaista; sinun on korjattava ensimmäisen liikkeet uudelleen. [neljätoista]
Kiinnostaakseen yleisöä enemmän, elokuvan kirjoittaja valitsee suurimman vaikeusasteen. Tämä koskee vain niitä pelejä, jotka muuttuvat objektiivisesti vaikeammiksi tässä tapauksessa. Jos komplikaatio vain lisää vihollisten energiaa tai vähentää sankarille varattua aikaa, sitä ei käytetä.
Järjestelmä/konsoli | Emulaattorit |
---|---|
NES | FCEUX , BizHawk, FCE Ultra |
super nintendo | Snes9x, BizHawk, lsnes |
Virtuaalinen poika | VBjin |
Nintendo 64 | BizHawk, mupen64 |
Game Boy , Game Boy Color , Game Boy Advance | BizHawk, VisualBoyAdvance |
nintendo ds | DeSmuME |
Peli asema | BizHawk, PSXjin, PCSX |
Master System | BizHawk |
Sega Mega Drive | BizHawk, Gens |
Saturnus | BizHawk, Yabause |
Arcade , Neo Geo | Viimeinen Burn Alpha -uudelleennauhoitus |
PC Engine | BizHawk, PCEjin, Mednafen |
DOS | JPC-rr |
MSX | OpenMSX |
Windows | Tiimalasi |
Linux | libTAS |