Cum vitezorii Ocarina of Time sparg jocul în moduri noi

respec dt imaginea prezentată 2
Această poveste face parte din seria ReSpec a lui Jacob Roach, care acoperă lumea jocurilor și hardware-ului pentru computer.

ReSpec este, în mod normal, o rubrică despre lumea minunată și tehnică a jocurilor pe computer, dar ocazional există subiecte care sunt prea bune pentru a le trece. Legenda lui Zelda:ocarina timpului este universal apreciat ca unul dintre cele mai bune jocuri Nintendo 64 făcut vreodată și, deși nu este un titlu pentru PC, cele mai multe viteze tehnice de cel mai înalt nivel ale jocului expun cum funcționează jocurile la un nivel fundamental. Mai important, aceste fapte incredibile sunt posibile doar cu mult efort comunității.

Cuprins

  • Departe de a fi arbitrar
  • Hacking din mers

Videoclipuri recomandate

ocarina timpului este un joc care ar dura un jucător normal în jur de 30 de ore pentru a-l învinge; cei mai pricepuți vitezători, care își propun să joace jocul cât mai repede posibil, îl pot învinge în aproximativ trei ore și 40 de minute fără probleme. Dar categoria Any% a jocului, care îi cere jucătorilor să finalizeze jocul, indiferent de metodele utilizate, este redusă la trei minute, 54 de secunde și 566 de milisecunde. Și da, acele milisecunde contează. Deținătorul recordului de pe locul doi este la mai puțin de o secundă întreagă în spatele recordului mondial.

Joc Ocarina of Time pentru Nintendo 64.

Chiar dacă este o faptă atât de remarcabilă, asta nu este tot ocarina timpului speedruns aduce la masă. La Summer Games Done Quick 2022, un maraton semianual de alergare rapidă pentru caritate, a existat o vitrină care a evidențiat o grup de vitezători care reprogramează jocul din mers pentru a afișa grafică nouă, pentru a reda muzică nouă și chiar pentru a rula un chat Twitch acoperire. Și toate acestea au fost făcute pe o copie stoc a jocului, fără preprogramare.

The ocarina timpului Comunitatea speedrunning a continuat să spargă jocul în moduri aparent imposibile. Am contactat două dintre cele mai importante minți din comunitate pentru a afla ce face ca jocul clasic Nintendo 64 să funcționeze și totul se reduce la un singur exploit: Arbitrary Code Execution.

Departe de a fi arbitrar

Consolă și jocuri Nintendo 64.
Rob Tek/Shutterstock

Executarea codului arbitrar, sau ACE, sună mult mai intimidant decât este de fapt. Este un termen folosit în securitatea cibernetică care înseamnă practic rularea unui cod (sau un program) care nu ar trebui să fie rulat. Așa dannyb, un speedrunner pentru ocarina timpului care deține recordul pe locul doi la categoria Any%, descris ACE în Ocarina timpului: „Executarea codului arbitrar în OoT este un exploit prin care un jucător poate folosi acțiuni în joc pentru a aranja o mulțime de date în memorie pentru a imita codul jocului și apoi manipulează locația în care jocul caută să ruleze codul pentru a fi locul în care tocmai am făcut asta aranjare."

Cu acțiunile corecte, dannyb spune că jucătorii sunt capabili „să execute în esență orice cod ne place din joc și să facă jocul să face lucruri pentru care nu a fost programat să le facă.” Aceste acțiuni includ lucruri la fel de aparent inutile precum numele pe care îl introduceți când începeți joc. Aceasta este exact acțiunea care a permis ocarina timpului să fie bătut atât de repede.

Într-un joc ca Ocarina timpului, jocul își verifică memoria pentru o anumită cerință care trebuie îndeplinită pentru a învinge jocul. Scopul unei curse de viteză Any% este de a rearanja memoria pentru a se uita la numele personajului tău în loc de unde ar arăta de obicei. Aceasta se numește Stale Reference Manipulation, sau SRM, iar dannyb spune că exploitul a spart ocarina timpului speedruns se deschid într-un mod major.

[Fostul record mondial] OoT Any% Speedrun în 3:55.300!

„ACE în orice joc video are întotdeauna nevoie de aceste două lucruri: control fin asupra unei anumite regiuni a memoriei, astfel încât jucătorul să poată face acest lucru faceți datele de acolo să imite codul, iar capacitatea de a schimba locația de execuție a codului să fie locul în care codul personalizat minciuni. În 2019, o eroare numită Stale Reference Manipulation a fost descoperită în OoT, care a deschis a doua cerință într-un mod mare”, a spus dannyb.

În cazul unui normal ocarina timpului rulați, acțiunile aparent aleatorii se adună pentru a păcăli jocul în zone de verificare (cum ar fi numele personajului dvs.) pentru cerințele de finalizare atunci când nu ar trebui. Este un proces în două părți. Creați o sarcină utilă de date, cum ar fi numele personajului dvs. și manipulați memoria cu SRM pentru a indica acea sarcină utilă.

Hacking din mers

OoT Triforce Percent ACE Showcase: TASBot ne aduce aici împreună la SGDQ 2022! (Beta + conținut nou)

Așa bat vitejii ocarina timpului în doar câteva minute, dar nu explică pe deplin cum a putut adăuga vitrina Triforce%, numită cu dragoste textură nouă, modele, muzică, cod și chiar o suprapunere Twitch a jocului fără nicio modificare a cartuş. Savestate, una dintre mințile din spatele acestui proiect de ani de zile, a explicat că totul este despre pregătirea consolei Nintendo 64 pentru a înțelege datele controlerului ca date de joc.

Este o vitrină care este posibilă numai datorită TASBot, care este capabil să execute intrări la viteze inumane. După cum explică Savestate, „Modificăm o instrucțiune din memorie pentru a începe să citim datele controlerului ca instrucțiuni N64. În mod normal, acest lucru s-ar prăbuși, dar datorită TASBot, el este capabil să simuleze controlere și să le manipuleze în mod inuman. vitezele să arate ca instrucțiunile N64, astfel încât jocul execută datele controlerului ca un set de predeterminate instrucțiuni."

Alergătorii pot adăuga orice cod pe care doresc la joc doar prin intrările controlerului.

Pe scurt, prezentarea Triforce% folosește ACE și SRM ca pe un mod normal ocarina timpului speedrun, dar schimbă în mod special modul în care consola Nintendo 64 înțelege instrucțiunile. Cu această configurație, alergătorii pot adăuga orice cod doresc în joc doar prin intrările controlerului. Savestate a continuat: „Nu există nicio modificare a cartuşului de joc. Pentru a introduce date personalizate în memorie, folosim o eroare care ne permite să începem să adăugăm și să modificăm lucruri memorie cu ajutorul TASBot în timp ce interfațați doar cu consola N64 prin controlerul său porturi.”

Port controler pe Nintendo 64.

Aceste exploatări nu sunt descoperite doar aleatoriu. Savestate a explicat că ocarina timpului Comunitatea a dezvoltat instrumente pentru a analiza modul în care memoria este aranjată în joc, precum și programe pentru a simula diferite aranjamente de memorie. Emulatori precum Project64 ajută foarte mult, permițând alergătorilor și dezvoltatorilor de instrumente să parcurgă modul în care jocul execută codul pas cu pas.

ocarina timpului este unul dintre cele mai emblematice jocuri create vreodată, iar comunitatea robustă și dedicată de speedrunning a permis jocului să prospere cu noi dezvoltări timp de decenii după lansarea inițială. Exploate ca cel care dă cea mai rapidă putere ocarina timpului speedrun-urile trivializează provocarea asociată în mod normal cu învingerea unui joc cât mai repede posibil, dar și ele evidențiază expertiza tehnică incredibilă și efortul comunității care implică disecția și analizarea iubiților jocuri.

Comunitatea este conștientă și de acest echilibru, potrivit lui dannyb: „Categoria OoT Any% speedrun este singura din clasamentele noastre principale care permite ACE ca modalitate validă de a îndeplini obiectivul. Pentru orice altceva, interzicem ACE pentru a păstra unicitatea care a adus acele categorii la viață în primul rând.”

Acest articol face parte din Respec – o coloană bisăptămânală care include discuții, sfaturi și rapoarte aprofundate despre tehnologia din spatele jocurilor pe computer.

Recomandările editorilor

  • Zelda: Ocarina of Time se alătură Hall of Fame de jocuri video
  • Extensia Switch Online N64 nu va fi completă fără controlere translucide