Kuinka Ocarina of Time speedrunners rikkoo pelin uusilla tavoilla

dt: n esittelykuva 2
Tämä tarina on osa Jacob Roachin ReSpec-sarjaa, joka kattaa PC-pelien ja -laitteistojen maailman.

ReSpec on yleensä kolumni PC-pelaamisen upeasta teknisestä maailmasta, mutta toisinaan on aiheita, jotka ovat liian hyviä ohitettavaksi. Zeldan legenda:Ajan Ocarina on yleisesti tunnustettu yhtenä parhaat Nintendo 64 -pelit koskaan tehty, ja vaikka se ei olekaan PC-nimi, pelin korkeimman tason ja teknisimmät nopeussuoritukset paljastavat pelien toiminnan perustasolla. Vielä tärkeämpää on, että nämä uskomattomat saavutukset ovat mahdollisia vain suurella yhteisön ponnistelulla.

Sisällys

  • Kaukana mielivaltaisesta
  • Hakkerointi lennossa

Suositellut videot

Ajan Ocarina on peli, jonka lyöminen tavalliselta pelaajalta vie noin 30 tuntia; taitavimmat pikajuoksut, jotka pyrkivät pelaamaan peliä mahdollisimman nopeasti, voivat voittaa sen noin kolmessa tunnissa ja 40 minuutissa ilman virheitä. Mutta pelin Any%-luokka, joka antaa pelaajille tehtävän suorittaa pelin käytetyistä menetelmistä riippumatta, on kolme minuuttia, 54 sekuntia ja 566 millisekuntia. Ja kyllä, niillä millisekunneilla on merkitystä. Toisen sijan ennätyksen haltija on alle täyden sekunnin jäljessä maailmanennätyksestä.

Ocarina of Time peli Nintendo 64:lle.

Vaikka olisikin niin merkittävä saavutus, se ei ole vielä kaikki Ajan Ocarina speedruns tuo pöytään. Summer Games Done Quick 2022 -tapahtumassa, joka on puolivuosittainen hyväntekeväisyysjuoksumaraton, esiteltiin esittely, joka korosti joukko speedrunnereja, jotka ohjelmoivat pelin uudelleen lennossa näyttämään uutta grafiikkaa, soittamaan uutta musiikkia ja jopa ajamaan Twitch-chattia peittokuva. Ja kaikki tämä tehtiin pelin varastossa ilman esiohjelmointia.

The Ajan Ocarina speedrunning-yhteisö on jatkanut pelin rikkomista näennäisesti mahdottomilla tavoilla. Otin yhteyttä kahteen yhteisön johtaviin mielipiteisiin saadakseni selville, mikä saa klassisen Nintendo 64 -pelin tikkimään, ja kaikki perustuu yhteen hyväksikäyttöön: mielivaltaiseen koodin suorittamiseen.

Kaukana mielivaltaisesta

Nintendo 64 konsoli ja pelit.
Rob Tek/Shutterstock

Arbitrary Code Execution tai ACE kuulostaa paljon pelottavammalta kuin se todellisuudessa on. Se on kyberturvallisuuden termi, joka tarkoittaa periaatteessa koodin (tai ohjelman) suorittamista, jota ei pitäisi ajaa. Näin dannyb, pikajuoksu Ajan Ocarina jolla on toisen sijan ennätys Any% -kategoriassa, jota kuvataan ACE: ssä Ajan Ocarina: "OoT: n mielivaltainen koodin suorittaminen on hyväksikäyttö, jossa pelaaja voi käyttää pelin sisäisiä toimintoja järjestääkseen joukon tietoja muistissa matkii pelikoodia ja muokkaa sitten sijaintia, jossa peli haluaa suorittaa koodin, jotta se on paikka, jossa juuri teimme sen järjestämällä.”

Oikeilla toimilla dannyb sanoo, että pelaajat voivat "periaatteessa ajaa mitä tahansa haluamaamme koodia pelin sisällä ja saada pelin tehdä asioita, joita ei ole ohjelmoitu tekemään." Näihin toimintoihin kuuluu niinkin hyödyttömiä asioita kuin nimi, jonka annat käynnistäessäsi peli. Juuri tämä toiminta on mahdollistanut Ajan Ocarina tulla lyödyksi niin nopeasti.

Pelissä kuten Ajan Ocarina, peli tarkistaa muististaan, täyttyykö tietty vaatimus pelin voittamiseksi. Any% speedrunin tavoitteena on järjestää muisti uudelleen katsomaan hahmosi nimeä sen sijaan, missä se tavallisesti näyttäisi. Tätä kutsutaan vanhentuneeksi viitemanipulaatioksi tai SRM: ksi, ja dannyb sanoo, että hyväksikäyttö on se mikä murtui Ajan Ocarina speedruns avautuu suurella tavalla.

[Entinen maailmanennätys] OoT Any% Speedrun in 3:55.300!

”Kaikissa videopeleissä ACE tarvitsee aina nämä kaksi asiaa: hienosäädetyn muistialueen hallinnan siten, että pelaaja voi tehdä siellä olevista tiedoista jäljittelemään koodia ja mahdollisuus muuttaa koodin suorituspaikka paikkaksi, jossa mukautettu koodi valheita. Vuonna 2019 OoT: stä löydettiin häiriö nimeltä Stale Reference Manipulation, joka avasi toisen vaatimuksen suurella tavalla", dannyb sanoi.

Normaalin tapauksessa Ajan Ocarina Juokse, näennäisesti satunnaiset toiminnot huijaavat pelin tarkistamaan alueita (kuten hahmosi nimeä) suorittamisvaatimusten varalta, kun niiden ei pitäisi. Se on kaksiosainen prosessi. Luo datahyötykuorma, kuten hahmosi nimi, ja käsittele muistia SRM: llä osoittaaksesi sitä kohti.

Hakkerointi lennossa

OoT Triforce Percent ACE Showcase: TASBot tuo meidät tänne yhteen SGDQ 2022:ssa! (Beta + uusi sisältö)

Näin speedrunners voittaa Ajan Ocarina muutamassa minuutissa, mutta se ei täysin selitä, kuinka rakkaudella nimetty Triforce% showcase pystyi uusia tekstuuria, malleja, musiikkia, koodia ja jopa Twitch-peittokuvaa peliin ilman muutoksia patruuna. Savestate, yksi tämän vuosia kestäneen projektin takana, selitti, että kyse on Nintendo 64 -konsolin valmistelemisesta ymmärtämään ohjaintiedot pelidataksi.

Se on esittely, joka on mahdollista vain TASBotin ansiosta, joka pystyy suorittamaan syötteitä epäinhimillisillä nopeuksilla. Kuten Savestate selittää: "Muokkaamme muistissa olevaa käskyä aloittaaksemme ohjaimen tietojen lukemisen N64-käskyinä. Normaalisti tämä kaatuisi, mutta TASBotin ansiosta hän pystyy simuloimaan ohjaimia ja manipuloimaan niitä epäinhimillisesti. nopeudet näyttämään N64-käskyiltä, ​​jotta peli suorittaa ohjaimen tiedot ennalta määrättynä joukona ohjeet."

Juoksijat voivat lisätä peliin haluamansa koodin vain ohjaimen tulojen kautta.

Lyhyesti sanottuna Triforce% showcase käyttää ACE: ta ja SRM: ää normaalisti Ajan Ocarina speedrun, mutta se muuttaa nimenomaan tapaa, jolla Nintendo 64 -konsoli ymmärtää ohjeet. Tällä asetuksella juoksijat voivat lisätä peliin haluamansa koodin vain ohjaimen tulojen kautta. Savestate jatkoi: "Pelikasettiin ei ole tehty muutoksia. Mukautetun tiedon saattamiseksi muistiin käytämme häiriötä, jonka avulla voimme alkaa lisätä ja muokata asioita muistia TASBotin avulla samalla kun se on yhteydessä N64-konsoliin vain sen ohjaimen kautta portit.”

Ohjainportti Nintendo 64:ssä.

Näitä hyväksikäyttöjä ei myöskään löydetä vain satunnaisesti. Savestate selitti, että Ajan Ocarina yhteisö on kehittänyt työkaluja, joilla tarkastellaan, kuinka muisti on järjestetty pelissä, sekä ohjelmia simuloimaan erilaisia ​​muistijärjestelyjä. Emulaattorit, kuten Project64, auttavat paljon, jolloin juoksijat ja työkalujen kehittäjät voivat käydä läpi, kuinka peli suorittaa koodin vaihe vaiheelta.

Ajan Ocarina on yksi ikonisimmista koskaan tehdyistä peleistä, ja vankka, omistautunut speedrunning-yhteisö on antanut pelille mahdollisuuden kukoistaa uusilla kehityssuunnilla vuosikymmeniä sen alun julkaisun jälkeen. Hyödynnät, kuten se, joka toimii nopeimmin Ajan Ocarina speedruns vähättelee haastetta, joka tavallisesti liittyy pelin lyömiseen mahdollisimman nopeasti, mutta myös korosta uskomatonta teknistä asiantuntemusta ja yhteisön työtä, joka liittyy rakkaiden leikkaamiseen ja analysointiin pelejä.

Yhteisö on tietoinen tästä tasapainosta myös dannybin mukaan: "OoT: n Any% speedrun -luokka on ainoa päätulostaulukoissamme, joka mahdollistaa ACE: n kelvollisena tavan saavuttaa tavoite. Kaiken muun osalta kiellämme ACE: n säilyttääksemme ainutlaatuisuuden, joka herätti nämä kategoriat alun perin henkiin."

Tämä artikkeli on osa ReSpec – jatkuva kahdesti viikossa ilmestyvä kolumni, joka sisältää keskusteluja, neuvoja ja perusteellista raportointia PC-pelaamisen taustalla olevasta tekniikasta.

Toimittajien suositukset

  • Zelda: Ocarina of Time liittyy Video Game Hall of Fameen
  • Switch Onlinen N64-laajennus ei ole täydellinen ilman läpikuultavia ohjaimia