Kabosu - Creando cosas
Publicado: 2024-03-20 (actualizado 2024-08-02)
Si tienes la versión clásica de Duke Nukem 3D de GOG (comprada hace años porque la han retirado) o de Steam sabrás que estas versiones incluyen el juego original que venía en CD y el emulador DOSBox para ejecutarlo. La experiencia es francamente mala y, en mi caso, al iniciar el juego lo único que hacía era cambiar la resolución de la pantalla por una muy pequeña, supongo que 320x200, y cerrarse. Solo podía volver a mi configuración normal cerrando la sesión y volviendo a entrar. Esta guía explica cómo tomar los ficheros de juego y ejecutarlos con un motor más actual.
El primer paso es instalar el Duke Nukem 3D original. Lo he instalado en el directorio ~/bin/Duke\ Nukem\ 3D\ Atomic\ Edition/
El código fuente de Duke Nukem 3D se publicó con licencia GPL el 1 de abril de 2003 y se han creado diversas versiones mejoradas. La más actualizada parece que es EDuke32 y es el que he usado yo.
En su wiki tienen instrucciones para instalar en varias distribuciones de Linux pero parecen bastante antiguas (la página tuvo su última actualización de 2014).
En el caso concreto de Debian/Ubuntu las instrucciones son de 2017.
Últimamente estoy intentando evitar instalar nada nuevo en mi ordenador para no acumular montones de dependencias así que prefiero usar Snap o Flatpak. En el caso de EDuke32 hay un paquete flatpak en Flathub por lo que procedo a instalarlo.
En Ubuntu no hay soporte para Flatpak por defecto pero se puede añadir con un par de comandos. La instrucciones están aquí. Una vez terminado de instalar el paquete flatpak procedo a ejecutarlo pero me dice que no encuentra los datos del juego.
$ flatpak flatpak run com.eduke32.EDuke32
0.4682s INFO| Searching for game data...
0.4696s ERROR| Found no recognized game data!
EDuke32 necesita los datos del juego original así que el paso anterior de instalar la versión de GOG o Steam es necesaria. En caso de disponer del CD del juego original serviría con copiar todo el contenido a algún directorio. El problema es que Flatpak ejecuta los programas en un entorno virtual así que Eduke32 no es capaz de encontrar los ficheros.
La raíz del entorno en el que se ejecuta Eduke32 está en ~/.var/app/com.eduke32.EDuke32/.config/eduke32/
por lo que tenemos que copiar los datos del juego ahí
cp ~/bin/Duke\ Nukem\ 3D\ Atomic\ Edition/data/* ~/.var/app/com.eduke32.EDuke32/.config/eduke32/
Ahora sí, ejecutando el flatpak nos aparece un menú de configuración y podemos ejecutar el Duke Nukem 3D
$ flatpak run com.eduke32.EDuke32
Se ve infinitamente mejor que si hubiéramos usado la versión de DOSBox.