
ReSpec normalmente es una columna sobre el maravilloso mundo técnico de los juegos de PC, pero ocasionalmente hay temas que son demasiado buenos para dejarlos pasar. La leyenda de Zelda:Ocarina del tiempo es universalmente aclamado como uno de los mejores juegos de nintendo 64 jamás hecho, y aunque no es un título para PC, los speedruns más técnicos y de más alto nivel exponen cómo funcionan los juegos en un nivel fundamental. Más importante aún, estas hazañas increíbles solo son posibles con mucho esfuerzo de la comunidad.
Contenido
- Lejos de arbitrario
- Hackear sobre la marcha
Vídeos recomendados
Ocarina del tiempo es un juego que a un jugador normal le llevaría alrededor de 30 horas completar; los corredores de velocidad más habilidosos, que buscan jugar el juego lo más rápido posible, pueden vencerlo en alrededor de tres horas y 40 minutos sin fallas. Pero la categoría Any% del juego, que asigna a los jugadores la tarea de completar el juego independientemente de los métodos utilizados, se redujo a tres minutos, 54 segundos y 566 milisegundos. Y sí, esos milisegundos importan. El poseedor del récord del segundo lugar está a menos de un segundo completo del récord mundial.

Incluso siendo una hazaña tan notable, eso no es todo. Ocarina del tiempo speedruns traer a la mesa. En Summer Games Done Quick 2022, un maratón semestral de carreras de velocidad con fines benéficos, hubo un escaparate que destacó un grupo de corredores de velocidad reprogramando el juego sobre la marcha para mostrar nuevos gráficos, reproducir música nueva e incluso ejecutar un chat de Twitch cubrir. Y todo eso se hizo en una copia de stock del juego sin programación previa.
El Ocarina del tiempo La comunidad de speedrunning ha seguido rompiendo el juego de maneras aparentemente imposibles. Me puse en contacto con dos de las mentes líderes de la comunidad para averiguar qué es lo que hace que el juego clásico de Nintendo 64 funcione, y todo se reduce a una vulnerabilidad: la ejecución de código arbitrario.
Lejos de arbitrario

La ejecución de código arbitrario, o ACE, suena mucho más intimidante de lo que realmente es. Es un término utilizado en ciberseguridad que básicamente significa ejecutar código (o un programa) que no debe ejecutarse. Así es como dannyb, un velocista para Ocarina del tiempo quien tiene el récord de segundo lugar en la categoría Cualquier%, describió ACE en Ocarina del tiempo: “La ejecución de código arbitrario en OoT es un exploit mediante el cual un jugador puede usar acciones en el juego para organizar un montón de datos en la memoria para imitar el código del juego y luego manipular la ubicación donde el juego busca ejecutar el código para que sea el lugar donde acabamos de hacer eso arreglando.”
Con las acciones correctas, dannyb dice que los jugadores pueden "básicamente ejecutar cualquier código que deseen desde dentro del juego y hacer que el juego hacer cosas para las que no estaba programado”. Estas acciones incluyen cosas tan aparentemente inútiles como el nombre que ingresa cuando inicia el juego. Esa es exactamente la acción que ha permitido Ocarina del tiempo ser golpeado tan rápido.
en un juego como Ocarina del tiempo, el juego verifica su memoria para cumplir con un cierto requisito para poder ganar el juego. El objetivo en un Speedrun Any% es reorganizar la memoria para ver el nombre de tu personaje en lugar de donde normalmente se vería. Esto se llama manipulación de referencia obsoleta, o SRM, y dannyb dice que el exploit es lo que descifró Ocarina del tiempo speedruns abre de una manera importante.
[Récord mundial anterior] OoT Any% Speedrun en 3:55.300!
“ACE en cualquier videojuego siempre necesita esas dos cosas: un control preciso sobre alguna región de la memoria de modo que el jugador pueda hacer que los datos imiten el código y la capacidad de cambiar la ubicación de ejecución del código para que sea el lugar donde se encuentra el código personalizado. mentiras. En 2019, se descubrió un problema técnico llamado Manipulación de referencia obsoleta en OoT, que abrió el segundo requisito a lo grande”, dijo dannyb.
En el caso de una normalidad Ocarina del tiempo ejecutar, las acciones aparentemente aleatorias se suman para engañar al juego para que verifique las áreas (como el nombre de su personaje) para los requisitos de finalización cuando no deberían. Es un proceso de dos partes. Cree una carga útil de datos, como el nombre de su personaje, y manipule la memoria con SRM para apuntar hacia esa carga útil.
Hackear sobre la marcha
OoT Triforce Percent ACE Showcase: ¡TASBot nos trae aquí juntos en SGDQ 2022! (Beta + nuevo contenido)
Así vencen los speedrunners Ocarina del tiempo en solo unos minutos, pero no explica completamente cómo el escaparate Triforce% con el nombre amoroso pudo agregar nueva textura, modelos, música, código e incluso una superposición de Twitch para el juego sin ninguna modificación en el cartucho. Savestate, una de las mentes detrás de este proyecto de un año, explicó que se trata de preparar la consola Nintendo 64 para que entienda los datos del controlador como datos del juego.
Es un escaparate que solo es posible gracias a TASBot, que puede ejecutar entradas a velocidades inhumanas. Como explica Savestate, “Modificamos una instrucción en la memoria para comenzar a leer los datos del controlador como instrucciones N64. Normalmente, esto fallaría, pero gracias a TASBot, puede simular controladores y manipularlos a una velocidad inhumana. velocidades para parecerse a las instrucciones N64 para que el juego ejecute los datos del controlador como un conjunto de predeterminado instrucciones."
Los corredores pueden agregar cualquier código que deseen al juego solo a través de las entradas del controlador.
En resumen, el escaparate Triforce% está usando ACE y SRM como un dispositivo normal Ocarina del tiempo speedrun, pero está cambiando específicamente la forma en que la consola Nintendo 64 entiende las instrucciones. Con esa configuración, los corredores pueden agregar cualquier código que deseen al juego solo a través de las entradas del controlador. Savestate continuó: “No hay modificación del cartucho del juego. Para obtener datos personalizados en la memoria, usamos una falla que nos permite comenzar a agregar y modificar cosas en memoria con la ayuda de TASBot mientras solo interactúa con la consola N64 a través de su controlador puertos.”

Estas hazañas tampoco se descubren al azar. Savestate explicó que el Ocarina del tiempo La comunidad ha desarrollado herramientas para ver cómo se organiza la memoria en el juego, así como programas para simular diferentes arreglos de memoria. Los emuladores como Project64 ayudan mucho, ya que permiten a los corredores y desarrolladores de herramientas explicar cómo el juego ejecuta el código paso a paso.
Ocarina del tiempo es uno de los juegos más icónicos jamás creados, y la sólida y dedicada comunidad de speedrunning ha permitido que el juego prospere con nuevos desarrollos durante décadas después de su lanzamiento original. Hazañas como la que impulsa más rápido Ocarina del tiempo Los speedruns trivializan el desafío normalmente asociado con ganar un juego lo más rápido posible, pero también resalte la increíble experiencia técnica y el esfuerzo de la comunidad que se dedica a diseccionar y analizar amados juegos.
La comunidad también es consciente de este equilibrio, según dannyb: “La categoría Any% speedrun de OoT es la única en nuestras tablas de clasificación principales que permite que ACE sea una forma válida de completar el objetivo. Para todo lo demás, prohibimos ACE para preservar la singularidad que dio vida a esas categorías en primer lugar”.
Este artículo es parte de ReEspecificación – una columna quincenal continua que incluye discusiones, consejos e informes detallados sobre la tecnología detrás de los juegos de PC.
Recomendaciones de los editores
- Zelda: Ocarina of Time se une al Salón de la Fama de los Videojuegos
- La expansión N64 de Switch Online no estará completa sin los controladores translúcidos