Super Mario 64 cooperativo en Linux

Super Mario 64 fue el primer juego en ser decompilado de la mítica consola de 1996 y a raíz de ello, a pesar de la persecución inicial por parte de Nintendo, el código fuente creado por la comunidad dio paso a que aparecieran una gran cantidad de mods y versiones del juego con esteroides.

Por casualidad me tope en YouTube un vídeo donde habían varios jugadores jugando simultáneamente de forma cooperativa Super Mario 64. En un principio pensé que era emulación + alguna hack ROM que permitiera esto, hasta que se me ocurrió buscarlo en Google. Para sorpresa mía el primer resultado era precisamente lo que buscaba, un repositorio en github de djoslin0 que permite extraer assets del juego y hacer un clon idéntico al original pero con la opción de multijugador cooperativo.

Ni corto ni perezoso, me puse manos a la obra en la laptop de Danté. Luego de unos pocos minutos estaba haciendo lo mismo en la laptop de Derek. Y al cabo de un rato estaban los dos jugando Súper Mario 64 cooperativo.

La instalación es sencilla. Solo necesitas una ROM de Super Mario 64 en su versión US, renombrarla como baserom.us.z64, y compilar el juego luego de clonar el repositorio.

Antes de descargar el repositorio y compilar, hay que instalar algunas dependencias:

1
sudo dnf install make gcc python3 glew-devel SDL2-devel zlib-devel libcurl-devel

Ahora sí, clonamos el repositorio:

1
git clone git@github.com:djoslin0/sm64ex-coop.git

Para seguir un patrón, respecto a la instalación de Legend of Zelda Ocarina of Time y Majora’s Mask, en directorios ocultos dentro de /home/usuario/ renombramos el directorio

1
mv sm64ex-coop .sm64ex-coop

Ahora nuestra ROM obtenida volcando el contenido del cartucho original a un archivo .z64 😅 la renombramos a baserom.us.z64. En la documentación oficial hay un paso para extraer los assets de la ROM, pero en mi caso lo obvie por error y pase directamente a compilar. Durante el mismo proceso de compilación, se extraen los assets así que no fue problema este salto.

Para compilar:

1
make -j4

Luego de algunos minutos tendremos el juego listo para usar. El ejecutable se encuentra en el directorio build/us_pc/, nos movemos al directorio y para iniciarlo ./sm64.us.f3dex2e.

1
2
cd build/us_pc
./sm64.us.f3dex2e

Hasta aquí, con estas opciones tendremos una experiencia de juego cercana a la original, solo que en multiplayer cooperativo. Ahora unas capturas.

Lanzador para el juego

Lo siguiente será crear un lanzador para el juego, tal y como hice con ambos LoZ. Lo primero será dentro de build/us_pc/ crear un archivo launcher.sh con el siguiente contenido:

1
2
#!/bin/bash
cd /home/usuario/.sm64ex-coop/build/us_pc && ./sm64.us.f3dex2e && exit

Le damos permisos de ejecución

1
chmod +x launcher.sh

Ahora creamos el archivo sm64-coop.desktop en .local/share/applications/ con el siguiente contenido:

1
2
3
4
5
6
7
8
[Desktop Entry]
Name=Super Mario 64
Comment=Port para PC del popular juego de Nintendo 64
Exec=sh -c '/home/usuario/.sm64ex-coop/build/us_pc/launcher.sh'
Icon=/home/usuario/.sm64ex-coop/build/us_pc/sm64.png
Terminal=false
Type=Application
Categories=Games;

Y ya tendremos nuestro respectivo ícono dentro de gnome shell:

Otro ícono para presumir

Moisés Serrano Samudio Médico de atención primaria, fotógrafo aficionado, apasionado de las tecnologías relacionadas con el EdTech y el eHealth y diseñador/desarrollador de sitios web de salud. Médico, apasionado del EdTech/eHealth y diseñador/desarrollador de sitios web de salud.
Moisés Serrano Samudio

@linkmoises

Médico de atención primaria, fotógrafo aficionado, apasionado de las tecnologías relacionadas con el EdTech y el eHealth.

Entradas relacionadas

  1. Aún no hay comentarios...

Deja una respuesta

Su email no será publicado. Required fields are marked *