ReSpec je običajno rubrika o čudovitem, tehničnem svetu računalniških iger, vendar občasno obstajajo teme, ki so preveč dobre, da bi jih spregledali. Legenda o Zeldi:Okarina časa je splošno priznan kot eden od najboljše igre Nintendo 64 kadar koli narejen, in čeprav to ni naslov za osebni računalnik, najvišja raven, večina tehničnih pospeškov igre razkriva, kako igre delujejo na temeljni ravni. Še pomembneje pa je, da so ti neverjetni podvigi mogoči le z veliko truda skupnosti.
Vsebina
- Daleč od samovolje
- Hekanje na letenju
Priporočeni videoposnetki
Okarina časa je igra, za katero bi običajen igralec potreboval približno 30 ur; najbolj izurjeni hitrostni tekači, ki želijo igro igrati čim hitreje, jo lahko premagajo v približno treh urah in 40 minutah brez napak. Toda kategorija Any% v igri, ki igralcem nalaga dokončanje igre ne glede na uporabljene metode, je zmanjšana na tri minute, 54 sekund in 566 milisekund. In ja, te milisekunde so pomembne. Drugouvrščeni rekorder za svetovnim rekordom zaostaja za manj kot polno sekundo.
Čeprav je tako izjemen podvig, to še ni vse Okarina časa speedruns prinesti na mizo. Na Summer Games Done Quick 2022, polletnem dobrodelnem maratonu hitrega teka, je bila predstavitev, ki je izpostavila skupina speedrunnerjev, ki sproti reprogramirajo igro za prikaz nove grafike, predvajanje nove glasbe in celo zagon klepeta Twitch prekrivanje. In vse to je bilo narejeno na osnovni kopiji igre brez predprogramiranja.
The Okarina časa Speedrunning skupnost še naprej razbija igro na na videz nemogoče načine. Obrnil sem se na dva vodilna uma v skupnosti, da bi ugotovil, kaj naredi klasično igro Nintendo 64 aktivna, in vse se zmanjša na en podvig: Izvrševanje poljubne kode.
Daleč od samovolje
Izvajanje poljubne kode ali ACE zveni veliko bolj zastrašujoče, kot je v resnici. To je izraz, ki se uporablja v kibernetski varnosti in v bistvu pomeni izvajanje kode (ali programa), ki je ne bi smeli izvajati. Tako je dannyb, hitri tekač za Okarina časa ki drži rekord na drugem mestu v kategoriji Any%, je opisal ACE v Okarina časa: »Arbitrary Code Execution in OoT je izkoriščanje, pri katerem lahko igralec uporabi dejanja v igri za urejanje množice podatkov v pomnilniku za posnemajo kodo igre in nato manipulirajo z lokacijo, kjer igra želi izvajati kodo, da bo mesto, kjer smo to pravkar storili urejanje.”
Dannyb pravi, da lahko igralci s pravimi dejanji »v bistvu zaženejo katero koli kodo, ki nam je všeč, in povzročijo, da igra delati stvari, za katere ni bilo programirano." Ta dejanja vključujejo tako na videz neuporabne stvari, kot je ime, ki ga vnesete, ko zaženete igra. Točno to je dejanje, ki je omogočilo Okarina časa biti tako hitro premagan.
V igri, kot je Okarina časa, igra preveri svoj pomnilnik za določeno zahtevo, ki mora biti izpolnjena, da bi premagala igro. Cilj pri Any% speedrunu je preurediti pomnilnik tako, da bo videti ime vašega lika namesto tam, kjer bi bilo običajno videti. To se imenuje Stale Reference Manipulation ali SRM, in dannyb pravi, da je zlomil zlom zaradi izkoriščanja Okarina časa speedruns odprt na velik način.
[Nekdanji svetovni rekord] OoT Any% Speedrun v 3:55.300!
»ACE v kateri koli videoigri vedno potrebuje ti dve stvari: natančno nastavljen nadzor nad določeno regijo pomnilnika, tako da lahko igralec da tamkajšnji podatki posnemajo kodo, in zmožnost spreminjanja lokacije izvajanja kode tako, da bo mesto, kjer je koda po meri laži. Leta 2019 je bila v OoT odkrita napaka, imenovana Stale Reference Manipulation, ki je v veliki meri odprla drugo zahtevo,« je dejal dannyb.
V primeru normalnega Okarina časa teči, se na videz naključna dejanja seštevajo, da igro zavedejo, da preveri področja (kot je ime vašega lika) glede zahtev za dokončanje, ko ne bi smela. To je dvodelni proces. Ustvarite podatkovno obremenitev, kot je ime vašega lika, in manipulirajte s pomnilnikom s SRM, da kaže na to koristno obremenitev.
Hekanje na letenju
OoT Triforce Percent ACE Showcase: TASBot nas pripelje skupaj na SGDQ 2022! (Beta + nova vsebina)
Tako tepejo speedrunnerji Okarina časa v samo nekaj minutah, vendar ne pojasni popolnoma, kako je ljubko poimenovana vitrina Triforce% lahko dodala nova tekstura, modeli, glasba, koda in celo prekrivanje igre Twitch brez kakršnih koli sprememb kartuša. Savestate, eden od umov za tem dolgoletnim projektom, je pojasnil, da gre za pripravo konzole Nintendo 64, da podatke krmilnika razume kot podatke o igri.
To je predstavitev, ki je mogoča samo zaradi TASBot, ki lahko izvaja vnose z nečloveško hitrostjo. Kot pojasnjuje Savestate, »spremenimo navodila v pomnilniku, da začnemo brati podatke krmilnika kot navodila N64. Običajno bi se to zrušilo, toda zahvaljujoč TASBotu lahko simulira krmilnike in z njimi manipulira na nečloveški način. hitrosti videti kot navodila N64, tako da igra izvaja podatke krmilnika kot nabor vnaprej določenih navodila.”
Tekmovalci lahko igri dodajo katero koli kodo, ki jo želijo, samo prek vnosov krmilnika.
Skratka, predstavitev Triforce% uporablja ACE in SRM kot običajno Okarina časa speedrun, vendar posebej spreminja, kako konzola Nintendo 64 razume navodila. S to nastavitvijo lahko tekači v igro dodajo katero koli kodo, ki jo želijo, samo prek vnosov krmilnika. Savestate je nadaljeval: »Kartuša za igro ni modificirana. Za prenos podatkov po meri v pomnilnik uporabljamo napako, ki nam omogoča, da začnemo dodajati in spreminjati stvari pomnilnik s pomočjo TASBot, medtem ko se s konzolo N64 povezuje le prek njenega krmilnika pristanišča."
Tudi ti podvigi niso odkriti naključno. Savestate je pojasnil, da je Okarina časa skupnost je razvila orodja za ogled, kako je pomnilnik urejen v igri, pa tudi programe za simulacijo različnih pomnilniških ureditev. Emulatorji, kot je Project64, veliko pomagajo, saj omogočajo tekačem in razvijalcem orodij, da korak za korakom pregledajo, kako igra izvaja kodo.
Okarina časa je ena najbolj ikoničnih iger, kar jih je bilo kdaj ustvarjenih, in robustna, predana skupnost speedrunning je omogočila, da je igra uspevala z novim razvojem desetletja po tem, ko je bila prvotno izdana. Izkorišča kot tisti, ki najhitreje napaja Okarina časa speedruns trivializirajo izziv, ki je običajno povezan s čim hitrejšim premagovanjem igre, vendar tudi poudarite neverjetno tehnično strokovno znanje in prizadevanja skupnosti, ki gredo v seciranje in analiziranje ljubljenega igre.
Tudi skupnost se zaveda tega ravnovesja, pravi dannyb: »OoT's Any% speedrun kategorija je edina na naših glavnih lestvicah, ki omogoča ACE kot veljaven način za doseganje cilja. Za vse ostalo prepovedujemo ACE, da bi ohranili edinstvenost, zaradi katere so te kategorije sploh oživele.«
Ta članek je del ReSpec – tekoča dvotedenska rubrika, ki vključuje razprave, nasvete in poglobljeno poročanje o tehnologiji, ki stoji za računalniškimi igrami.
Priporočila urednikov
- Zelda: Ocarina of Time se pridružuje Dvorani slavnih video iger
- Razširitev N64 za Switch Online ne bo popolna brez prosojnih krmilnikov