Comment les speedrunners d'Ocarina of Time brisent le jeu de nouvelles façons

respect dt image vedette 2
Cette histoire fait partie de la série ReSpec de Jacob Roach, couvrant le monde du jeu et du matériel PC.

ReSpec est normalement une colonne sur le monde merveilleux et technique du jeu sur PC, mais il y a parfois des sujets qui sont trop beaux pour être laissés de côté. LA légende de Zelda:Ocarina du temps est universellement reconnu comme l'un des meilleurs jeux Nintendo 64 jamais créé, et bien qu'il ne s'agisse pas d'un titre PC, les speedruns les plus techniques du jeu exposent le fonctionnement des jeux à un niveau fondamental. Plus important encore, ces exploits incroyables ne sont possibles qu'avec beaucoup d'efforts communautaires.

Contenu

  • Loin d'être arbitraire
  • Piratage à la volée

Vidéos recommandées

Ocarina du temps est un jeu qui prendrait environ 30 heures à un joueur normal pour le battre; les speedrunners les plus qualifiés, qui visent à jouer le jeu aussi vite que possible, peuvent le battre en environ trois heures et 40 minutes sans problèmes. Mais la catégorie Any% du jeu, qui charge les joueurs de terminer le jeu quelles que soient les méthodes utilisées, est réduite à trois minutes, 54 secondes et 566 millisecondes. Et oui, ces millisecondes comptent. Le détenteur du record de la deuxième place est à moins d'une seconde complète du record du monde.

Jeu Ocarina of Time sur Nintendo 64.

Même avec un exploit aussi remarquable, ce n'est pas tout Ocarina du temps les speedruns apportent à la table. Aux Jeux d'été Done Quick 2022, un marathon semestriel de course de vitesse pour une œuvre caritative, il y avait une vitrine qui mettait en évidence un groupe de speedrunners reprogrammant le jeu à la volée pour afficher de nouveaux graphismes, jouer de la nouvelle musique et même lancer un chat Twitch recouvrir. Et tout cela a été fait sur une copie de stock du jeu sans préprogrammation.

Le Ocarina du temps La communauté du speedrun a continué à casser le jeu de manière apparemment impossible. J'ai contacté deux des plus grands esprits de la communauté pour découvrir ce qui fait fonctionner le jeu classique de la Nintendo 64, et tout se résume à un seul exploit: l'exécution de code arbitraire.

Loin d'être arbitraire

Console et jeux Nintendo 64.
Rob Tek/Shutterstock

L'exécution arbitraire de code, ou ACE, semble beaucoup plus intimidante qu'elle ne l'est en réalité. C'est un terme répandu dans la cybersécurité qui signifie essentiellement exécuter du code (ou un programme) qui ne devrait pas être exécuté. C'est ainsi que dannyb, un speedrunner pour Ocarina du temps qui détient le record de la deuxième place dans la catégorie Any%, a décrit ACE dans Ocarina du temps: "L'exécution de code arbitraire dans OoT est un exploit par lequel un joueur peut utiliser des actions dans le jeu pour organiser un tas de données en mémoire pour imiter le code du jeu, puis manipuler l'emplacement où le jeu cherche à exécuter le code pour être l'endroit où nous venons de le faire arranger. »

Avec les bonnes actions, dannyb dit que les joueurs sont capables "essentiellement d'exécuter n'importe quel code que nous aimons depuis le jeu, et de faire en sorte que le jeu faire des choses pour lesquelles il n'a pas été programmé. Ces actions incluent des choses apparemment aussi inutiles que le nom que vous entrez lorsque vous démarrez le jeu. C'est exactement l'action qui a permis Ocarina du temps être battu si vite.

Dans un jeu comme Ocarina du temps, le jeu vérifie sa mémoire pour qu'une certaine exigence soit remplie afin de battre le jeu. Le but d'un speedrun Any% est de réorganiser la mémoire pour regarder le nom de votre personnage au lieu de l'endroit où il apparaîtrait généralement. C'est ce qu'on appelle la manipulation de référence obsolète, ou SRM, et dannyb dit que l'exploit est ce qui a craqué Ocarina du temps les speedruns s'ouvrent de manière majeure.

[Ancien record du monde] OoT Any% Speedrun en 3:55.300 !

"ACE dans n'importe quel jeu vidéo a toujours besoin de ces deux choses: un contrôle précis sur une région de la mémoire afin que le joueur puisse faire en sorte que les données imitent le code, et la possibilité de changer l'emplacement d'exécution du code pour être l'endroit où le code personnalisé mensonges. En 2019, un problème appelé Stale Reference Manipulation a été découvert dans OoT, ce qui a ouvert la deuxième exigence de manière considérable », a déclaré dannyb.

Dans le cas d'une situation normale Ocarina du temps courir, des actions apparemment aléatoires s'additionnent pour inciter le jeu à vérifier des zones (telles que le nom de votre personnage) pour les exigences d'achèvement alors qu'elles ne le devraient pas. C'est un processus en deux parties. Créez une charge utile de données, telle que le nom de votre personnage, et manipulez la mémoire avec SRM pour pointer vers cette charge utile.

Piratage à la volée

OoT Triforce Percent ACE Showcase: TASBot nous rassemble ici au SGDQ 2022! (Bêta + nouveau contenu)

C'est comme ça que les speedrunners battent Ocarina du temps en quelques minutes, mais cela n'explique pas complètement comment la vitrine Triforce%, nommée avec amour, a pu ajouter nouvelle texture, modèles, musique, code et même une superposition Twitch au jeu sans aucune modification du cartouche. Savestate, l'un des esprits derrière ce projet de plusieurs années, a expliqué qu'il s'agissait d'amorcer la console Nintendo 64 pour comprendre les données du contrôleur comme des données de jeu.

C'est une vitrine qui n'est possible que grâce à TASBot, qui est capable d'exécuter des entrées à des vitesses inhumaines. Comme l'explique Savestate, "Nous modifions une instruction en mémoire pour commencer à lire les données du contrôleur en tant qu'instructions N64. Normalement, cela planterait, mais grâce à TASBot, il est capable de simuler des contrôleurs et de les manipuler de manière inhumaine. accélère pour ressembler aux instructions N64 afin que le jeu exécute les données du contrôleur sous la forme d'un ensemble d'instructions prédéterminées instructions."

Les coureurs peuvent ajouter n'importe quel code qu'ils veulent au jeu simplement via les entrées du contrôleur.

En bref, la vitrine Triforce% utilise ACE et SRM comme un normal Ocarina du temps speedrun, mais cela change spécifiquement la façon dont la console Nintendo 64 comprend les instructions. Avec cette configuration, les coureurs peuvent ajouter n'importe quel code qu'ils souhaitent au jeu simplement via les entrées du contrôleur. Savestate a poursuivi: « Il n'y a aucune modification de la cartouche de jeu. Pour obtenir des données personnalisées en mémoire, nous utilisons un bug qui nous permet de commencer à ajouter et à modifier des éléments dans mémoire à l'aide de TASBot tout en s'interfaçant uniquement avec la console N64 via son contrôleur ports.

Port manette sur la Nintendo 64.

Ces exploits ne sont pas non plus découverts au hasard. Savestate a expliqué que le Ocarina du temps La communauté a développé des outils pour voir comment la mémoire est organisée dans le jeu, ainsi que des programmes pour simuler différents arrangements de mémoire. Les émulateurs comme Project64 aident beaucoup, permettant aux coureurs et aux développeurs d'outils de voir comment le jeu exécute le code étape par étape.

Ocarina du temps est l'un des jeux les plus emblématiques jamais créés, et la communauté robuste et dévouée du speedrun a permis au jeu de prospérer avec de nouveaux développements pendant des décennies après sa sortie initiale. Des exploits comme celui qui alimente le plus rapidement Ocarina du temps les speedruns banalisent le défi normalement associé à battre un jeu aussi vite que possible, mais ils mettre en évidence l'incroyable expertise technique et les efforts de la communauté qui permettent de disséquer et d'analyser des produits bien-aimés Jeux.

La communauté est également consciente de cet équilibre, selon dannyb: « La catégorie Any% speedrun d'OoT est la seule de nos principaux classements qui permette à ACE d'être un moyen valable d'atteindre l'objectif. Pour tout le reste, nous interdisons ACE afin de préserver le caractère unique qui a donné vie à ces catégories en premier lieu.

Cet article fait partie de ReSpec – une colonne bihebdomadaire continue qui comprend des discussions, des conseils et des rapports approfondis sur la technologie derrière les jeux sur PC.

Recommandations des éditeurs

  • Zelda: Ocarina of Time rejoint le Temple de la renommée du jeu vidéo
  • L'extension N64 de Switch Online ne sera pas complète sans contrôleurs translucides