Kaip „Ocarina of Time speedrunners“ palaužia žaidimą naujais būdais

dt rodomas vaizdas 2
Ši istorija yra Jacob Roach ReSpec serijos dalis, apimanti kompiuterinių žaidimų ir aparatinės įrangos pasaulį.

„ReSpec“ paprastai yra stulpelis apie nuostabų, techninį kompiuterinių žaidimų pasaulį, tačiau kartais atsiranda temų, kurios yra per geros, kad jas būtų galima praleisti. Zelda legenda:Laiko Okarina yra visuotinai pripažintas kaip vienas iš geriausi Nintendo 64 žaidimai kada nors buvo sukurta, ir nors tai nėra kompiuterinis pavadinimas, aukščiausio lygio, techniškiausi žaidimo greičio paleidimai atskleidžia, kaip žaidimai veikia pagrindiniu lygmeniu. Dar svarbiau, kad šie neįtikėtini žygdarbiai įmanomi tik dedant daug bendruomenės pastangų.

Turinys

  • Toli gražu ne savavališka
  • Įsilaužimas skrendant

Rekomenduojami vaizdo įrašai

Laiko Okarina yra žaidimas, kurį įprastam žaidėjui įveikti prireiktų maždaug 30 valandų; labiausiai įgudę greitųjų bėgikai, siekiantys žaisti kuo greičiau, gali jį įveikti maždaug per tris valandas ir 40 minučių be nesklandumų. Tačiau žaidimo „Any%“ kategorija, kuri žaidėjams įpareigoja užbaigti žaidimą, neatsižvelgiant į naudojamus metodus, yra sumažinta iki trijų minučių, 54 sekundžių ir 566 milisekundžių. Ir taip, tos milisekundės yra svarbios. Antrosios vietos rekordininkas nuo pasaulio rekordo atsilieka mažiau nei visa sekunde.

Žaidimas Ocarina of Time, skirtas Nintendo 64.

Net ir būdamas tokiu nepaprastu žygdarbiu, tai dar ne viskas Laiko Okarina speedruns atneša prie stalo. „Summer Games Done Quick 2022“, kas pusmetį vykstančiame greitojo bėgimo maratone, skirtame labdarai, buvo demonstruojama, kad grupė greitųjų bėgikų, perprogramuojančių žaidimą, kad būtų rodoma nauja grafika, grotų nauja muzika ir net paleistų „Twitch“ pokalbį perdanga. Ir visa tai buvo padaryta naudojant atsarginę žaidimo kopiją be išankstinio programavimo.

The Laiko Okarina speedrunning bendruomenė ir toliau laužė žaidimą iš pažiūros neįmanomu būdu. Susisiekiau su dviem pagrindiniais bendruomenės protais, kad išsiaiškinčiau, kas verčia klasikinį „Nintendo 64“ žaidimą, ir viskas priklauso nuo vieno išnaudojimo: savavališko kodo vykdymo.

Toli gražu ne savavališka

Nintendo 64 konsolė ir žaidimai.
Robas Tekas / „Shutterstock“.

Savavališkas kodo vykdymas arba ACE skamba daug bauginančiai, nei yra iš tikrųjų. Tai kibernetinio saugumo terminas, kuris iš esmės reiškia paleisti kodą (arba programą), kurios nereikėtų paleisti. Štai kaip dannyb, greitųjų bėgikas Laiko Okarina kuriam priklauso antrosios vietos rekordas Any% kategorijoje, aprašytas ACE Laiko Okarina: „Savavališkas OoT kodo vykdymas yra išnaudojimas, kai žaidėjas gali naudoti žaidimo veiksmus, kad sutvarkytų duomenų krūvą atmintyje. imituoti žaidimo kodą, tada manipuliuoti vieta, kurioje žaidimas nori paleisti kodą, kad būtų vieta, kur mes ką tik tai padarėme sutvarkymas“.

Atlikdami tinkamus veiksmus, dannyb teigia, kad žaidėjai gali „iš esmės paleisti bet kokį mums patinkantį kodą žaidime ir priversti žaidimą daryti tai, kam nebuvo užprogramuota“. Šie veiksmai apima dalykus, kurie atrodo nenaudingi, kaip pavadinimas, kurį įvedėte pradėdami žaidimas. Būtent toks veiksmas leido Laiko Okarina kad taip greitai būtų sumuštas.

Tokiame žaidime kaip Laiko Okarina, žaidimas tikrina savo atmintį, ar tenkinami tam tikri reikalavimai, kad būtų galima įveikti žaidimą. „Any% speedrun“ tikslas yra pertvarkyti atmintį, kad būtų galima žiūrėti į savo veikėjo vardą, o ne į tą, kur jis paprastai atrodytų. Tai vadinama pasenusia nuorodų manipuliacija arba SRM, o dannybas sako, kad išnaudojimas yra tai, kas nulaužta Laiko Okarina greičio ruožai atidaromi iš esmės.

[Buvęs pasaulio rekordas] OoT Any% Speedrun per 3:55.300!

„Ace bet kuriame vaizdo žaidime visada reikia šių dviejų dalykų: tikslaus tam tikro atminties regiono valdymo, kad žaidėjas galėtų tai padaryti padaryti, kad ten esantys duomenys imituotų kodą, ir galimybė pakeisti kodo vykdymo vietą į vietą, kurioje pasirinktas kodas melas. 2019 m. OoT buvo aptiktas gedimas, vadinamas „Stale Reference Manipulation“, kuris iš esmės atvėrė antrąjį reikalavimą“, – sakė dannybas.

Esant normaliam Laiko Okarina paleisti, iš pažiūros atsitiktiniai veiksmai kartu apgauna žaidimo sritis (pvz., jūsų veikėjo vardą), ar nėra užbaigimo reikalavimų, kai jų neturėtų būti. Tai dviejų dalių procesas. Sukurkite naudingą duomenų apkrovą, pvz., savo veikėjo vardą, ir manipuliuokite atmintimi naudodami SRM, kad nukreiptumėte į tą naudingą krovinį.

Įsilaužimas skrendant

„OoT Triforce Percent ACE“ demonstracija: „TASBot“ suvienija mus „SGDQ 2022“! (Beta versija + naujas turinys)

Taip plaka greitieji bėgikai Laiko Okarina vos per kelias minutes, bet visiškai nepaaiškina, kaip meiliai pavadinta Triforce% vitrina galėjo pridėti nauja tekstūra, modeliai, muzika, kodas ir net žaidimo „Twitch“ perdanga be jokių pakeitimų kasetė. Savestate, vienas iš šio ilgus metus trunkančio projekto sumanytojų, paaiškino, kad viskas susiję su „Nintendo 64“ konsolės paruošimu, kad valdiklio duomenys būtų suprantami kaip žaidimo duomenys.

Tai demonstracija, kuri įmanoma tik dėl TASBot, kuris gali vykdyti įvestis nežmonišku greičiu. Kaip paaiškina Savestate: „Mes modifikuojame atmintyje esančią instrukciją, kad pradėtume skaityti valdiklio duomenis kaip N64 instrukcijas. Paprastai tai sugenda, tačiau TASBot dėka jis gali imituoti valdiklius ir jais manipuliuoti nežmoniškai. greitis atrodo kaip N64 instrukcijos, kad žaidimas vykdytų valdiklio duomenis kaip iš anksto nustatytų instrukcijos“.

Bėgikai gali pridėti bet kokį norimą kodą į žaidimą tiesiog naudodami valdiklio įvestis.

Trumpai tariant, „Triforce%“ vitrina naudoja ACE ir SRM kaip įprasta Laiko Okarina speedrun, tačiau tai konkrečiai keičia tai, kaip „Nintendo 64“ konsolė supranta instrukcijas. Su tokia sąranka bėgikai gali pridėti bet kokį norimą kodą prie žaidimo tiesiog per valdiklio įvestis. Savestate tęsė: „Nėra žaidimo kasetės modifikacijų. Norėdami gauti tinkintus duomenis į atmintį, naudojame triktį, leidžiančią pradėti pridėti ir keisti informaciją atmintį su TASBot pagalba, o sąsaja su N64 konsole tik per jos valdiklį uostai“.

„Nintendo 64“ valdiklio prievadas.

Šie išnaudojimai taip pat nėra atsitiktinai aptikti. Savestate paaiškino, kad Laiko Okarina bendruomenė sukūrė įrankius, skirtus pažiūrėti, kaip žaidime yra išdėstyta atmintis, taip pat programas, skirtas įvairioms atminties išdėstymui imituoti. Emuliatoriai, tokie kaip Project64, labai padeda, leisdami bėgikams ir įrankių kūrėjams žingsnis po žingsnio sužinoti, kaip žaidimas vykdo kodą.

Laiko Okarina yra vienas iš ikoniškiausių kada nors sukurtų žaidimų, o tvirta, atsidavusi greitojo bėgimo bendruomenė leido žaidimui klestėti su naujais patobulinimais dešimtmečius po jo išleidimo. Išnaudojimai, kaip tas, kuris veikia greičiausiai Laiko Okarina „Speedruns“ sumenkina iššūkį, paprastai siejamą su kuo greičiau įveikti žaidimą, tačiau jie taip pat pabrėžkite neįtikėtiną techninę patirtį ir bendruomenės pastangas, kurios skiriamos išskaidant ir analizuojant mylimąjį žaidimai.

Anot dannybo, bendruomenė taip pat žino apie šią pusiausvyrą: „OoT Any% speedrun kategorija yra vienintelė mūsų pagrindinėse lyderių lentelėse, kuri leidžia ACE naudoti kaip tinkamą būdą pasiekti tikslą. Dėl visų kitų, mes uždraudžiame ACE, kad išsaugotume unikalumą, dėl kurio šios kategorijos iš pradžių buvo atgaivintos.

Šis straipsnis yra dalis ReSpec – kas dvi savaites nuolatinis stulpelis, kuriame pateikiamos diskusijos, patarimai ir išsamios ataskaitos apie kompiuterinių žaidimų technologijas.

Redaktorių rekomendacijos

  • „Zelda: Ocarina of Time“ prisijungia prie vaizdo žaidimų šlovės muziejaus
  • „Switch Online“ N64 plėtra nebus baigta be permatomų valdiklių