Kuidas Ocarina of Time speedrunnerid murravad mängu uuel viisil

dt esiletõstetud pilt 2
See lugu on osa Jacob Roachi ReSpec sarjast, mis hõlmab arvutimängude ja riistvara maailma.

ReSpec on tavaliselt veerg arvutimängude imelisest tehnilisest maailmast, kuid mõnikord on teemasid, mis on liiga head, et neid vahele jätta. Zelda legend:Aja Ocarina on üldiselt tunnustatud kui üks parimad Nintendo 64 mängud eales tehtud ja kuigi see ei ole PC pealkiri, paljastavad mängu kõrgeima taseme ja kõige tehnilisemad kiirused, kuidas mängud põhitasandil töötavad. Veelgi olulisem on see, et need uskumatud saavutused on võimalikud ainult suure kogukonna pingutusega.

Sisu

  • Kaugeltki meelevaldsest
  • Häkkimine lennult

Soovitatavad videod

Aja Ocarina on mäng, mille võitmiseks kuluks tavalisel mängijal umbes 30 tundi; osavamad kiirjooksjad, kelle eesmärk on mängida mängu võimalikult kiiresti, suudavad selle ilma tõrgeteta võita umbes kolme tunni ja 40 minutiga. Kuid mängu kategooria Any%, mis annab mängijatele ülesandeks mäng lõpule viia, olenemata kasutatud meetoditest, on lühenenud kolme minuti, 54 sekundi ja 566 millisekundini. Ja jah, need millisekundid on olulised. Teise koha rekordiomanik jääb maailmarekordist maha vähem kui terve sekundi.

Ocarina of Time mäng Nintendo 64 jaoks.

Isegi kui see on nii tähelepanuväärne saavutus, pole see veel kõik Aja Ocarina speedruns toovad lauale. Heategevuslikul poolaastal toimuval kiirjooksumaratonil Summer Games Done Quick 2022 oli esitlus, mis tõstis esile rühm speedrunnereid, kes programmeerivad mängu käigult ümber, et kuvada uut graafikat, mängida uut muusikat ja isegi juhtida Twitchi vestlust ülekate. Ja kõik see tehti mängu varukoopiaga ilma eelprogrammeerimiseta.

The Aja Ocarina speedrunningu kogukond on jätkanud mängu murdmist näiliselt võimatutel viisidel. Pöördusin kogukonna kahe juhtiva mõistusega, et välja selgitada, mis paneb klassikalise Nintendo 64 mängu tiksuma, ja see kõik taandub ühele ärakasutamisele: suvalise koodi täitmisega.

Kaugeltki meelevaldsest

Nintendo 64 konsool ja mängud.
Rob Tek / Shutterstock

Arbitrary Code Execution ehk ACE kõlab palju hirmutavamalt, kui see tegelikult on. See on küberturvalisuses levinud termin, mis tähendab põhimõtteliselt koodi (või programmi) käitamist, mida ei tohiks käivitada. Nii sobib dannyb, kiirjooksja Aja Ocarina kellele kuulub kategoorias Any% teise koha rekord, mida kirjeldas ACE aastal Aja Ocarina: "OoT-i meelevaldne koodikäivitus on ärakasutamine, mille abil mängija saab kasutada mängusiseseid toiminguid, et korraldada mällu hunnik andmeid. matkida mängu koodi ja seejärel manipuleerida asukohta, kus mäng soovib koodi käivitada, et muuta see koht, kus me seda just tegime korraldamine."

Dannyb ütleb, et õigete toimingute korral saavad mängijad "põhimõtteliselt käivitada mis tahes koodi, mis meile meeldib mängu sees ja põhjustada mängu teha asju, milleks see pole programmeeritud." Need toimingud hõlmavad nii näiliselt kasutuid asju nagu nimi, mille sisestate käivitamisel mängu. See on täpselt see tegevus, mis on võimaldanud Aja Ocarina nii kiiresti peksa saada.

Sellises mängus nagu Aja Ocarina, mäng kontrollib oma mälu teatud nõuete täitmiseks, et mängu võita. Any% speedruni eesmärk on mälu ümber korraldada, et vaadata oma tegelase nime selle asemel, kus see tavaliselt välja näeb. Seda nimetatakse vananenud viitemanipulatsiooniks või SRM-iks ja dannyb ütleb, et ärakasutamine on see, mis purunes Aja Ocarina kiirusjooksud avanevad suurel määral.

[Endine maailmarekord] OoT Any% Speedrun ajaga 3:55.300!

"ACE vajab igas videomängus alati neid kahte asja: peenhäälestatud juhtimist mõne mälupiirkonna üle, et mängija saaks seda teha muuta seal olevad andmed koodi jäljendama ja võimaluse muuta koodi täitmise asukohta kohandatud koodi asukohaks valetab. 2019. aastal avastati OoT-s tõrge nimega Stale Reference Manipulation, mis avas teise nõude suurel määral, ”ütles dannyb.

Tavalise puhul Aja Ocarina jooksevad, näiliselt juhuslikud toimingud aitavad mängul kontrollida alasid (nt teie tegelase nime), et kontrollida sooritamise nõudeid, kui nad seda ei peaks tegema. See on kaheosaline protsess. Looge andmekoormus, näiteks oma tegelase nimi, ja manipuleerige mäluga SRM-iga, et suunata sellele kasulikule koormusele.

Häkkimine lennult

OoT Triforce Percent ACE esitlus: TASBot toob meid SGDQ 2022 raames siia kokku! (Beeta + uus sisu)

Nii löövadki speedrunnerid Aja Ocarina vaid mõne minutiga, kuid see ei selgita täielikult, kuidas armastava nimega Triforce% vitriin suutis lisada mängule uus tekstuur, mudelid, muusika, kood ja isegi Twitchi ülekate, ilma mängu muutmata kassett. Savestate, üks selle aastatepikkuse projekti tagamaid, selgitas, et kõik on seotud Nintendo 64 konsooli ettevalmistamisega, et mõista kontrolleri andmeid mänguandmetena.

See on esitlus, mis on võimalik ainult tänu TASBotile, mis suudab sisestada ebainimliku kiirusega. Nagu Savestate selgitab: "Muudame mälus olevat käsku, et alustada kontrolleri andmete lugemist N64 juhistena. Tavaliselt kukub see kokku, kuid tänu TASBotile suudab ta simuleerida kontrollereid ja nendega ebainimlikult manipuleerida. kiirus näeb välja nagu N64 juhised, nii et mäng täidab kontrolleri andmeid ettemääratud kogumina juhised."

Jooksjad saavad mängu lisada mis tahes koodi, mida nad soovivad, lihtsalt kontrolleri sisendite kaudu.

Lühidalt öeldes kasutab Triforce% esindus ACE-d ja SRM-i nagu tavaliselt Aja Ocarina speedrun, kuid see muudab konkreetselt seda, kuidas Nintendo 64 konsool juhiseid mõistab. Selle seadistuse abil saavad jooksjad lisada mängu mis tahes koodi, mida nad soovivad, lihtsalt kontrolleri sisendite kaudu. Savestate jätkas: "Mängukassetti ei muudeta. Kohandatud andmete mällu toomiseks kasutame tõrget, mis võimaldab alustada asjade lisamist ja muutmist mälu TASBoti abiga, liidestades N64 konsooliga ainult selle kontrolleri kaudu sadamad."

Nintendo 64 kontrolleri port.

Neid ärakasutusi ei avastata ka juhuslikult. Savestate selgitas, et Aja Ocarina kogukond on välja töötanud tööriistu, et vaadata, kuidas mälu on mängus paigutatud, samuti programme erinevate mälukorralduste simuleerimiseks. Emulaatorid, nagu Project64, aitavad palju, võimaldades jooksjatel ja tööriistade arendajatel samm-sammult läbi vaadata, kuidas mäng koodi käivitab.

Aja Ocarina on üks ikoonilisemaid mänge, mis eales tehtud ning jõuline, pühendunud speedrunningu kogukond on võimaldanud mängul uute arendustega areneda aastakümneid pärast selle algset väljaandmist. Kasutused nagu see, millel on kõige kiirem jõud Aja Ocarina speedruns trivialiseerib väljakutset, mis tavaliselt on seotud mängu võimalikult kiire löömisega, kuid samas ka tõsta esile uskumatuid tehnilisi teadmisi ja kogukonna jõupingutusi, mis kuluvad armastatute lahkamisel ja analüüsimisel mängud.

Dannnybi sõnul on ka kogukond sellest tasakaalust teadlik: „OoT Any% speedrun kategooria on meie peamistes edetabelites ainus, mis võimaldab ACE-l olla sobiv viis eesmärgi saavutamiseks. Kõige muu puhul keelame ACE, et säilitada unikaalsus, mis need kategooriad ellu äratas.

See artikkel on osa ReSpec – iga kahe nädala tagant jooksev veerg, mis sisaldab arutelusid, nõuandeid ja põhjalikku aruandlust arvutimängude taga oleva tehnoloogia kohta.

Toimetajate soovitused

  • Zelda: Ocarina of Time liitub videomängude kuulsuste saaliga
  • Switch Online'i N64 laiendus ei ole täielik ilma poolläbipaistvate kontrolleriteta