Super Mario 64 en PlayStation 1: un port imposible

Crean un port del Super Mario 64 que funciona en la PS1

port super mario 64 ps1

La comunidad retro no deja de sorprender con proyectos que parecían imposibles: uno de los videojuegos de plataformas 3D más icónicos, Super Mario 64, que revolucionó el género de plataformas, ahora funciona en un hardware mucho más limitado del que fue diseñado: la primera Sony PlayStation. Esto ha sido posible gracias a un port nativo usando el código fuente decompilado por la comunidad.

El autor de este proyecto se llama Malucard, y la versión más reciente (Build 2 a fecha de hoy) está disponible en GitHub:

Se trata de un port experimental, aún en fase preliminar, que pone al límite el hardware de la PS1. No se trata del juego completo ni libre de fallos, y es necesario compilarlo por motivos legales.


5 Sorprendentes Retos Técnicos del Port de Super Mario 64 a PlayStation 1

Este port funcional de Super Mario 64 en PlayStation 1 ha despertado gran interés por su complejidad técnica. Adaptar un juego diseñado para la arquitectura de Nintendo 64 a un sistema tan diferente como la PS1 implica superar numerosos desafíos derivados de las limitaciones del hardware de Sony y de las decisiones de diseño originales.

1. La reconstrucción del código fuente desde cero

Uno de los mayores impedimentos es la ausencia del código fuente original, propiedad exclusiva de Nintendo. Sin acceso a este material, un port directo sería imposible.

La solución llegó gracias a un proceso de ingeniería inversa llevado a cabo por la comunidad durante aproximadamente dos años. Mediante el análisis del binario original de Super Mario 64, se logró reconstruir el código fuente completo, permitiendo compilar el juego de nuevo de forma nativa.

Este hito técnico marca una diferencia frente a los tradicionales ROM hacks, permitiendo adaptar el motor del juego en profundidad y llevarlo a hardware completamente distinto como la PlayStation 1.

2. Limitaciones gráficas: deformación de texturas y problemas de profundidad

El apartado visual del port evidencia varias diferencias fundamentales entre ambas consolas.

Deformación de texturas

La PS1 emplea un sistema de mapeado de texturas sin corrección de perspectiva, provocando deformaciones notables en superficies grandes.

Para mitigar este problema, se implementa una técnica de subdivisión dinámica de polígonos, dividiendo las superficies en triángulos más pequeños conforme el jugador se aproxima, similar a lo usado en Spyro the Dragon. Esta solución aún requiere optimización.

Ausencia de Z-Buffer

La falta de Z-Buffer dificulta la gestión correcta de la profundidad, generando superposiciones incorrectas de objetos. La solución consiste en dibujar los elementos en un orden específico, de atrás hacia delante, aunque en situaciones complejas puede generar conflictos.

3. Cálculos sin decimales: el uso obligatorio del punto fijo

La PS1 no admite cálculos en coma flotante de forma nativa, lo que provoca temblores en modelos 3D.

Super Mario 64 depende de operaciones decimales para físicas, colisiones y animaciones. Se implementó un sistema de aritmética de punto fijo, replicando soluciones de la época. Este sistema, aunque funcional, explica errores actuales como plataformas erráticas en Wet-Dry World o colisiones incorrectas en Tick Tock Clock.

4. Un tamaño desproporcionado: de 8 MB a 300 MB

El juego original ocupaba 8 MB, mientras que el port para PS1 alcanza 300 MB. La principal causa es la música, que en la N64 se almacenaba tipo MIDI, ocupando poco espacio.

En el port, la música se exporta a archivos de audio y se incluye directamente en el CD. Esta solución simplifica el desarrollo pero reduce la eficiencia de almacenamiento.

5. La contrapartida del CD-ROM: microcargas durante la partida

El CD-ROM introduce microcongelaciones durante el juego. A diferencia de los cartuchos de N64, el lector de CD de la PS1 es más lento, provocando pausas al cargar recursos, afectando al ritmo de la partida.

Conclusión: un experimento clave para la preservación del videojuego

A pesar de estar en fase temprana y con limitaciones evidentes, el port de Super Mario 64 a PS1 representa un logro técnico excepcional. Demuestra la capacidad de la comunidad para preservar y adaptar videojuegos clásicos, reforzando la importancia del patrimonio cultural y el potencial creativo de la escena retro.