ReSpec è solitamente una rubrica dedicata al meraviglioso e tecnico mondo del gaming su PC, ma a volte ci sono argomenti troppo intriganti per essere ignorati. The Legend of Zelda: Ocarina of Time è universalmente riconosciuto come uno dei migliori giochi per Nintendo 64 mai realizzati. Sebbene non sia un titolo per PC, le speedrun di alto livello di questo gioco rivelano come funzionano i giochi a un livello fondamentale. Inoltre, questi incredibili risultati sono possibili solo grazie a un grande sforzo comunitario.
La sfida delle speedrun
Ocarina of Time è un gioco che richiede circa 30 ore di gioco per essere completato da un giocatore normale. Tuttavia, i più abili speedrunner, che mirano a completare il gioco nel minor tempo possibile, possono finirlo in circa tre ore e 40 minuti senza glitch. Nella categoria Any%, che consente l’uso di qualsiasi metodo per completare il gioco, il record è sceso a tre minuti, 54 secondi e 566 millisecondi. E sì, quei millisecondi fanno la differenza. Il secondo classificato è a meno di un secondo dal record mondiale.
Una comunità in continua evoluzione
Durante il Summer Games Done Quick 2022, una maratona di speedrunning per beneficenza, è stata presentata una dimostrazione in cui un gruppo di speedrunner ha riprogrammato il gioco in tempo reale per mostrare nuove grafiche, suonare nuova musica e persino visualizzare una chat di Twitch. Tutto questo è stato fatto su una copia originale del gioco senza alcuna pre-programmazione.
La comunità delle speedrun di Ocarina of Time continua a trovare modi apparentemente impossibili per rompere il gioco. Ho contattato due delle menti più brillanti della comunità per scoprire cosa rende questo classico per Nintendo 64 così speciale, e tutto si riduce a un exploit: l’Arbitrary Code Execution (ACE).
Oltre l’apparenza
L’Arbitrary Code Execution, o ACE, può sembrare intimidatorio, ma è più semplice di quanto sembri. In ambito di sicurezza informatica, significa eseguire del codice che non dovrebbe essere eseguito. Dannyb, un speedrunner di Ocarina of Time che detiene il secondo posto nella categoria Any%, descrive l’ACE nel gioco come un exploit che permette ai giocatori di organizzare una serie di dati in memoria per imitare il codice del gioco e manipolare il punto in cui il gioco cerca di eseguire il codice.
Con le giuste azioni, i giocatori possono “eseguire qualsiasi codice vogliano dall’interno del gioco e far fare al gioco cose per cui non è stato programmato”. Queste azioni includono cose apparentemente inutili come il nome che inserisci all’inizio del gioco. Questo è esattamente l’elemento che ha permesso di completare Ocarina of Time così rapidamente.
Manipolazione della memoria
In un gioco come Ocarina of Time, il gioco controlla la sua memoria per soddisfare determinati requisiti necessari per completare il gioco. L’obiettivo in una speedrun Any% è riorganizzare la memoria per far sì che guardi al nome del tuo personaggio invece di dove dovrebbe normalmente guardare. Questo si chiama Stale Reference Manipulation (SRM), e dannyb afferma che questo exploit ha aperto nuove possibilità per le speedrun di Ocarina of Time.
Programmazione al volo
Tuttavia, la Triforce% showcase è riuscita ad aggiungere nuove texture, modelli, musica e persino una sovrapposizione di Twitch al gioco senza alcuna modifica alla cartuccia. Savestate, una delle menti dietro questo progetto, spiega che tutto dipende dal preparare la console Nintendo 64 a interpretare i dati del controller come dati di gioco.
Questo è possibile grazie a TASBot, che è in grado di eseguire input a velocità inumane. Come spiega Savestate, “modifichiamo un’istruzione in memoria per iniziare a leggere i dati del controller come istruzioni del N64. Normalmente, questo causerebbe un crash, ma grazie a TASBot, è possibile simulare i controller e manipolarli a velocità inumane per far sembrare i dati del controller come istruzioni del N64”.
Il ruolo della comunità
Questi exploit non sono scoperti casualmente. La comunità di Ocarina of Time ha sviluppato strumenti per analizzare come è organizzata la memoria nel gioco, oltre a programmi per simulare diverse disposizioni di memoria. Emulatori come Project64 aiutano molto, permettendo ai runner e agli sviluppatori di strumenti di esaminare come il gioco esegue il codice passo dopo passo.
Ocarina of Time è uno dei giochi più iconici mai realizzati, e la comunità di speedrunning dedicata ha permesso al gioco di prosperare con nuovi sviluppi per decenni dopo il suo rilascio originale. Exploit come quello che alimenta le speedrun più veloci di Ocarina of Time riducono la sfida normalmente associata al completamento di un gioco nel minor tempo possibile, ma evidenziano anche l’incredibile competenza tecnica e lo sforzo comunitario che comporta dissezionare e analizzare giochi amati.
La comunità è consapevole di questo equilibrio, come afferma dannyb: “La categoria Any% di OoT è l’unica sulle nostre classifiche principali che consente l’ACE come metodo valido per completare l’obiettivo. Per tutto il resto, bandiamo l’ACE per preservare l’unicità che ha dato vita a quelle categorie”.