Peu de temps après notre guide des Jeux d’été terminés rapidement 2022 A été mis en ligne, l’événement a accueilli une démonstration étonnante d’un jeu vidéo classique – une démonstration qui a depuis encombré les réponses de cet article d’Ars. Si nous voulons couper les cheveux, cela traverse le classique N64 de 1998 Légende de Zelda: Ocarina of Time n’est pas un « speedrun », mais c’est un autre exemple du »TASBot« concept transformant les jeux d’une manière dont nous n’aurions jamais rêvé il y a 24 ans.
L’équipe de fans et de programmeurs responsable de la démonstration « Triforce-percent » de cette semaine ont depuis révélé comment ils ont réalisé l’exploit avec rien de plus qu’un stock N64 et un original Ocarina cartouche de vente au détail, bien que le secret implique des entrées de contrôleur si rapides et précises qu’elles ne peuvent être effectuées par rien de moins qu’un ordinateur.
Rien de périmé dans cette course
La démonstration de 53 minutes (intégrée à la fin de cet article) s’ouvre sur un exploit précédemment déterré fin 2019, que la communauté a surnommé «Manipulation de référence périmée. » Cet exploit tire parti d’une vulnérabilité dans la version 1.0 originale du jeu, qui permettait aux joueurs de manipuler des valeurs numériques attribuées à des objets spécifiques dans la mémoire du jeu. L’explication la plus aérée de cette technique compliquée peut être trouvée dans une vidéo YouTube de début 2020 (intégrée ci-dessus), car elle énonce les différentes valeurs numériques attribuées à chaque objet du jeu, telles que leurs axes X, Y et Z et leur rotation.
Les joueurs avertis peuvent faire en sorte que les valeurs se chevauchent ou submergent le code original du jeu afin qu’elles puissent être manipulées comme bon leur semble. La technique que nous voyons dans la course de cette semaine exige que Link ramasse une pierre tout en traversant une « zone de chargement », un couloir utilisé pour masquer les pauses de chargement sur le matériel N64, et de le faire d’une manière que le jeu n’a pas été conçu pour gérer.
Initialement, cet exploit était un outil de speedrunning, car il pouvait tromper le jeu en chargeant la séquence de génériques finale et compter techniquement comme un « achèvement » en quelques minutes seulement. Mais la course Triforce-percent va beaucoup plus loin.
INTÉGRER de nouveaux contenus dans un jeu classique
En ramassant et en déposant des objets spécifiques, puis en faisant bouger le héros du jeu Link et en effectuant des manœuvres dans une séquence spécifique, l’équipe TASBot ouvre une boîte de Pandore de ce que l’on appelle l’exécution arbitraire de code, le type de vulnérabilité utilisé par les pirates informatiques du monde entier pour faire exécuter le code qu’ils veulent à un système informatique fermé. De plus, la chaîne de mouvements et de commandes TASBot commence à dire au N64 d’accepter l’entrée de bouton des quatre contrôleurs N64 comme s’il s’agissait de code.
À ce stade, un ordinateur prend le contrôle des quatre ports du contrôleur N64 et envoie une série rapide de clics, comme s’il s’agissait d’un super-héros à doigts de zillion equivalent à The Flash. Le glitched-out Ocarina a demandé au N64 d’accepter chaque appui sur le bouton d’une manière qui correspond à des chaînes de code spécifiques. Une fois qu’une partie suffisante de cette charge utile a été envoyée, l’équipe peut reprendre le contrôle normal sur le port « player one », afin qu’une personne réelle puisse jouer à travers une toute nouvelle séquence de contenu, le tout étant déversé dans la mémoire vive (RAM) du N64 par l’entrée incroyablement rapide des trois autres contrôleurs.
Ces correctifs à la volée peuvent faire beaucoup de choses incroyables qui, combinées, ressemblent à un patch entièrement soufflé de la mémoire morte (ROM) d’une cartouche, bien que l’équipe TASBot se limite aux modifications qui s’appliquent spécifiquement à la RAM de la console: de minuscules modifications du code existant, des remplacements de fichiers totaux ou des commandes pour dire au jeu d’ignorer le contenu qu’il chargerait normalement à partir de la ROM. En conséquence, cet exploit peut avoir un problème ou se bloquer si les joueurs sortent du chemin attendu pour lequel cet exploit est optimisé.