Juegos en Linux:
Duke Nukem 3D

Cómo ejecutar Duke Nukem 3D en GNU/Linux

Aquí explicaré cómo hacer funcionar el Duke Nukem 3D en GNU/Linux. Y como siempre, comenzaremos con los requisitos, que en este caso son muy pocos:

Requisitos

  • Necesitaremos los paquetes SDL, SDL_mixer, SDL_net, SDL_dev, SDL_mixer_dev y SDL_net_dev. Los "dev" nos servirán para compilar el código fuente que nos descargaremos más adelante (aunque en muchas distribuciones los paquetes "dev" no existen, porque su contenido ya se incluye en los paquetes SDL correspondientes de sus respectivos repositorios).
  • Tarjeta de sonido compatible con OSS/ALSA.
  • Entorno gráfico X.
  • GCC 3.x (o sea, GCC 3.0 y superiores). También sirven las versiones de la serie 4: GCC 4.6.4, por ejemplo, parece funcionar bien.
  • Código fuente de Duke Nukem 3D y el motor Build (que podéis descargar de Arcades 3D).

Y en principio, esto es todo.
Ahora, también necesitaremos algunos archivos del Duke Nukem 3D original, a saber:

  • game.con
  • defs.con
  • user.con
  • duke3d.grp
  • duke3d.cfg
  • build.cfg

Estos ficheros tienen que ser de la edición atómica. Con los de la versión normal de Duke Nukem 3D también lo he probado, pero no funciona.

Instalación

Bien, abrimos una sesión de consola, y creamos una carpeta que se llame "juegos".

$ mkdir juegos

Y dentro de ella, otra llamada "duke3d".

Es recomendable, tanto si usáis Linux como Windows, que tengáis todos los juegos —y, en general, todos los programas de una misma categoría— almacenados en el mismo directorio.

$ cd juegos
$ pwd

/home/alberto/juegos
$ mkdir duke3d

Y a continuación, copiaremos todos los archivos que he citado arriba a este directorio (en este ejemplo, /home/alberto/juegos/duke3d).

Obtener el código fuente

Una vez hecho, nos bajaremos el código fuente del juego desde Internet. Seguramente sabréis que 3D Realms ha liberado el código fuente de Duke Nukem 3D y Shadow Warrior, así que lo podremos descargar sin problemas. El único contratiempo es que dicho código está escrito para ser compilado con un compilador llamado Watcom C++, el cual ya NO es gratuito. Watcom C++ es un lenguaje de programación basado en C++; resulta casi igual a éste, excepto por una serie de librerías y componentes, que fueron utilizados por 3D Realms para compilar el juego.

Así que si nos bajásemos el código fuente original no nos serviría de mucho. Y de esto mismo también se dieron cuenta en Icculus.org; así que revisaron todo el código para que pueda ser compilado con un compilador normal de C++.

Por tanto, lo que tendremos que descargarnos es el código fuente de Icculus. Podéis conseguirlo aquí mismo, en Arcades 3D, o bien en Icculus.org.

En el segundo caso, antes necesitábamos algún programa para acceder a directorios CVS, pero ahora los autores utilizan Subversion para alojar este código fuente, por lo que tendremos que usar un cliente SVN. La mayoría de las distribuciones actuales de GNU/Linux cuentan con alguno, o al menos lo tendrán disponible para instalar desde sus respectivos repositorios de paquetes.

Ya con un cliente SVN instalado en nuestro sistema, abriremos una sesión de consola, y teclearemos lo siguiente (o bien, copiar-pegar):

$ mkdir fuentes
$ cd fuentes
$ svn co svn://svn.icculus.org/duke3d/trunk duke3d

Con esto crearemos un directorio llamado fuentes y comenzaremos a descargarnos el código fuente desde el repositorio SVN —cosa que puede llevar su tiempo, sobre todo a la gente con conexiones lentas; en total son más de diez megabytes—.

En fin, si tenéis problemas con el SVN, podéis echar una ojeada a la página de Duke Nukem 3D en Icculus, cuyas instrucciones pueden serviros de ayuda.

Compilar el código

Lo hayamos descargado de aquí o de allá, comprobaremos que hay varias carpetas, entre las cuales encontraremos una denominada source, que contiene el código que debemos compilar. Si todo está bien, procederemos a la compilación.

Así que listamos el contenido de la carpeta source:

$ pwd
/home/alberto/juegos/duke3d/fuentes/duke3d/source
$ ls
.
..
...
Makefile
← Fijaos en la existencia de este archivo.
....
.....
......

Siempre que aparezca un makefile, entenderemos que estamos ante código que se puede compilar, a no ser que exista otro archivo llamado configure. En este último caso, ejecutaríamos primero el configure, y luego compilaríamos.

Como aquí sólo tenemos el makefile, procedemos a compilar directamente:

$ make
.
.
.
.

$

Y si no surgió ningún error de compilación, ya tenemos el Duke Nukem 3D compilado, con los ejecutables correspondientes. En la carpeta source encontraremos el ejecutable para arrancar el juego —duke3d—, y dentro de buildengine el editor de mapas Build. Para jugar, bastaría con colocar estos dos archivos en la carpeta donde hemos dejado los ficheros .con, .grp y .cfg del Duke Nukem original, mencionados al principio.


Y como siempre, un par de capturas de pantalla... Si a alguien le pica la curiosidad, están tomadas en Vector Linux corriendo en un Pentium II a 350 MHz y 96 MB de memoria RAM. En esta máquina el juego funciona sin inconvenientes. Por defecto se ejecuta a pantalla completa, pero pulsando [ALT] + [INTRO] podéis convertirlo en una ventana del escritorio.

Aquí vemos el Duke Nukem Atomic cargando en una ventana del escritorio IceWM:

Duke Atomic Cargando

Y con una partida recién comenzada; todo dukero debería reconocer el nivel:

Duke Nukem: Segundo episodio

- Manual escrito por Karnizero en 2005, con imágenes de Eye del Cul.
- Revisado en enero de 2014.


Cumple con el estándar HTMLCumple con el estándar CSSApta para cualquier navegador

Podéis copiar libremente cualquier contenido de esta página. Si se trata del texto o las imágenes, mencionad la fuente (www.arcades3d.net)...