La versión para PC de Ocarina of Time se prepara para su lanzamiento en febrero

Agrandar / Escenas como esta pronto podrían adornar su PC con Windows. En noviembre, el equipo de ingeniería inversa de Zelda anunció que había completado su proyecto de meses de descompilación La Leyenda de Zelda: La Ocarina del TiempoROM de ‘s en código C totalmente legible por humanos. Ahora, un grupo que se basa en ese trabajo dice que se está acercando al lanzamiento de un puerto del juego para PC totalmente modificable.

El equipo de codificación de Harbor Masters (que comparte algunos miembros con el proyecto Zelda RET, pero está separado de él) dijo que su esfuerzo de portabilidad actualmente está completo en un 90 por ciento. Se espera que el proyecto esté listo para su lanzamiento como repositorio público a fines de febrero, dijo el desarrollador principal Kenix a Ars Technica. Pero si bien la tarea masiva de descompilar el juego proporciona una buena base, pasar del código C a una versión para PC completamente funcional del clásico de Nintendo de 1998 no es simplemente una cuestión de decirle a un compilador que «cree para PC».

Actores y activos

Cuando Harbor Masters comenzó a trabajar en serio en el puerto de PC en diciembre, Kenix dijo que «comenzaron por eliminar a todos los actores [e.g., interactive objects like enemies, signposts, and bombable walls] y muchos de los sistemas del juego para simplificar el proceso de compilación y lo que debe cambiarse para que se cargue». Esos actores y sistemas se agregaron lentamente una vez que se manejaron otros problemas con la carga de activos. «Esto nos dio excelentes resultados después de solo unas pocas horas de trabajo debido a lo que aprendimos en la ‘miniconstrucción'», dijo Kenix.

El código base de ingeniería inversa, que se ocupa de la lógica del juego, los controles, etc., también está completamente separado de los «activos» del juego que conforman la apariencia de La ocarina del tiempo. Eso incluye texturas visuales, música y efectos de sonido, pero también bloques de construcción más básicos como mallas esqueléticas, escenas, habitaciones e incluso los vértices 3D y las «listas de visualización» que describen los objetos del juego.

Anuncio publicitario

Agrandar / ¡Oye! ¡Escucha! ¡Esto se está ejecutando en una PC!

Los usuarios finales tendrán que usar una herramienta para extraer esos activos de un Ocarina del tiempo ROM y en un archivo externo, que no se distribuirá con la compilación final del próximo puerto de PC. «Nuestra creencia es que esto evitará que Nintendo derribe cualquier .exe por DMCA», dijo Kenix. El lanzamiento no ofrece un ejecutable completamente compilado, ya que un puerto anterior de Súper Mario 64 hizo. «Esto está completamente separado de SM64, y esperamos que esto se haga mejor que cómo se lanzó ese».

Pero hacer que esos activos externos funcionaran bien con el ejecutable del puerto no fue simple. Kenix le dijo a Ars el Ocarina del tiempo El puerto de PC «tiene una tubería de carga de activos mucho más similar a los juegos modernos» que a los títulos clásicos de N64. Mientras que la ROM original simplemente usaba punteros de memoria para hacer referencia a los datos, el puerto usa cadenas para etiquetar activos en ubicaciones específicas en el paquete archivado por separado.

«Se nos ocurrió un sistema que generará un archivo de encabezado que reemplaza los símbolos de puntero con una cadena de referencia a la ruta dentro del archivo, y el uso del símbolo utilizará la cadena en lugar del puntero», dijo Kenix. «A partir de ahí, pasamos la cadena al administrador de recursos y carga el activo en un hilo separado a pedido… La mayor parte de nuestro trabajo se ha centrado en el proceso de importación/exportación de diferentes tipos de activos del juego».

Sin embargo, afortunadamente, una vez que una gran clase de activos se convirtió para trabajar bajo este sistema, todo encajó en su lugar sin mucho trabajo manual adicional, dijo Kenix. «Nuestro sistema de gestión de activos, incluidas las rutinas de importación/exportación, ha demostrado ser bastante sólido».

Anuncio publicitario

Sin embargo, incluso ahora, Kenix dijo que ciertos tipos de activos, como palcos y habitaciones renderizadas previamente, no están jugando bien con el puerto. También han aparecido algunos otros problemas de renderizado. El equipo también está intentando descifrar cómo descompilar las secuencias de música del juego, que se almacenan en un formato patentado similar a MIDI, y muestras de audio codificadas.

Agrandar / Obtener la malla esquelética para ese esqueleto en una forma lista para PC no fue simple.

A pesar de todas esas molestias, el equipo Harbor Masters tiene una ventaja sobre el equipo que portó Súper Mario 64 a la computadora Eso es porque Ocarina del tiempo puede hacer uso del mismo motor de renderizado «Fast3D» que fue codificado desde cero para el SM64 Puerto. El motor convierte los microcódigos N64 en llamadas OpenGL o DirectX para una fácil representación en la PC.

Mientras que la OOT El puerto requiere soporte para algunos microcódigos «nuevos» que no se usaron en Súper Mario 64 (como fondos renderizados previamente), Kenix dice que alrededor del 80 por ciento de la canalización de renderizado se superpone, lo que ahorra mucho tiempo de portabilidad. La reutilización de Fast3D también significa que la compatibilidad con pantalla ancha, muy solicitada, estará lista para la OOT puerto el primer día, dijo Kenix.

Para futuros esfuerzos de portabilidad de N64 a PC, Kenix dijo que el equipo de Harbor Masters también está desarrollando una biblioteca completa que debería «manejar todos los aspectos necesarios de una conversión de N64 a PC». Eso debería ayudar a acelerar un futuro puerto de máscara de Majora una vez que el juego esté completamente descompilado», dijo.
Agrandar / ¡Estar atento! ¡Tiene un Deku Stick!