Hace tiempo, al poco de comenzar con esta sección de "juegos en Linux", Karnizero nos explicó cómo instalar el puerto Doom Legacy —y quién esté interesado puede consultar ese texto—, con el que podíamos jugar cómodamente a Doom o Heretic... Y bueno, ahora me toca a mí hacer lo propio con el puerto Zdoom.
Zdoom es, al igual que Doom Legacy, un puerto que permite ejecutar los viejos títulos basados en el Doom engine
en nuestros sistemas modernos: en este caso, Linux y las variantes recientes de Windows, aunque con un poco de ingenio también es posible hacerlo funcionar en FreeBSD... Esto es importante porque, tratándose de juegos que aparecieron en la primera mitad de los noventa —hace más de diez años—, sus versiones originales sólo funcionaban en MS-DOS.
¿Y por qué Zdoom? Bueno, hay gente a la que no le acaba de gustar Doom Legacy... Y además, Zdoom tiene algunas ventajas destacables. Por ejemplo, permite arrancar más juegos —es totalmente compatible con Hexen y Strife, y las últimas versiones incluyen también compatibilidad con Chex Quest—. Y el sonido resulta más fácil de configurar; puede emular las melodías midi de los juegos originales con el sintetizador que trae incorporado, o bien mediante Timidity. Para que nos entendamos; ¡con Zdoom hay música! —con Doom Legacy se supone que también..., para quién sepa cómo configurarla, que no es mi caso—.
Así que vamos a ponernos manos a la obra. Para ejecutar Zdoom necesitamos lo siguiente:
Probablemente casi todo esto vendrá ya incluido en la mayoría de las distribuciones grandes —Debian, Ubuntu, Mandriva, etc—. Quizás Timidity —una utilidad para reproducir melodías midi— y la librería Fmod sean lo más problemático de instalar, puesto que no estarán disponibles en muchos repositorios; así que he escrito un anexo al final de este tutorial, con las instrucciones necesarias para tener ambas cosas instaladas y funcionando.
Como ya hemos visto en otros manuales de esta serie, podemos descargarnos unos binarios listos para usar, o conseguir el código fuente del Zdoom para compilarnos unos propios. Obviamente, lo primero es lo más sencillo, y lo que explicaré a continuación.
Daré por supuesto que ya tenéis Timidity y la librería Fmod bien instalados y configurados —consultad el anexo si tenéis dudas sobre ello—. En realidad, Timidity no es imprescindible para poder disfrutar de Zdoom, ni siquiera para la música. Zdoom puede reproducir directamente las melodías MUS —el formato nativo de Doom, Heretic y demás, una variación de los midis que encontramos habitualmente—; sin embargo, algunos mapas creados por usuarios sí emplean música en el formato midi original, y si queremos oírla necesitaremos Timidity.
Seamos ordenados; antes que nada, crearemos una carpeta en la que colocar el Zdoom y el archivo WAD del juego que nos interese —Doom, Hexen, Strife, etc—:
$ pwd
/home/chiquito
$ mkdir juegos
$ cd juegos
$ mkdir zdoom
$ cd zdoom
Ahora tendremos que descargar los binarios del Zdoom. En esta misma sección "Linux" de Arcades 3D podéis encontrarlos. Por ejemplo, pueden obtenerse cómodamente usando Wget (en el momento de escribir esto se trata de la versión 2.1.7, pero evidentemente cambiará con el tiempo):
$ wget http://www.arcades3d.com/linux/zdoom_bin-2.1.7.tar.bz2
Estos binarios deberían funcionar en la mayoría de los sistemas. Los compilé en un viejo Pentium II corriendo Debian GNU/Linux, y las dependencias son las siguientes —lo comento porque quizás alguien necesite saberlo—:
$ ldd zdoom
libFLAC++.so.5 => /usr/local/lib/libFLAC++.so.5
libFLAC.so.7 => /usr/local/lib/libFLAC.so.7
libz.so.1 => /usr/lib/libz.so.1
libjpeg.so.62 => /usr/lib/libjpeg.so.62
libfmod.so => /usr/local/lib/libfmod.so
libSDL-1.2.so.0 => /usr/local/lib/libSDL-1.2.so.0
libpthread.so.0 => /lib/libpthread.so.0
libstdc++.so.5 => /usr/lib/libstdc++.so.5
libm.so.6 => /lib/libm.so.6
libgcc_s.so.1 => /lib/libgcc_s.so.1
libc.so.6 => /lib/libc.so.6
libdl.so.2 => /lib/libdl.so.2
libX11.so.6 => /usr/X11R6/lib/libX11.so.6
libXext.so.6 => /usr/X11R6/lib/libXext.so.6
De todas formas, las versiones de Zdoom de la 2.3.0 en adelante requieren también las librerías GTK2, tal y como se ha dicho anteriormente. Quiero decir, esta lista de dependencias está ya un poco desfasada y no es aplicable a las ediciones modernas de Zdoom... Tenedlo en cuenta.
Pero bueno, no nos desviemos del tema. Acabamos de descargarnos el Zdoom, comprimido en un archivo .tar.bz2; lógicamente, hay que descomprimirlo:
$ tar -jxvf zdoom_bin-2.1.7.tar.bz2
Con esto habrán aparecido en nuestro directorio unos cuantos ficheros nuevos, junto con una carpeta llamada wadsrc; hay un ejecutable con el nombre de zdoom, y otros archivos como zdoom.map y zdoom.pk3 —éste es un enlace simbólico a wadsrc/zdoom.pk3—.
Y ahora sólo nos falta el archivo WAD del juego que nos interese ejecutar con Zdoom. Por ejemplo, en el caso de Doom 2 sería algo así:
$ cp ~/juegos/doom2/doom2.wad ~/juegos/zdoom
...Vamos, esto suponiendo que tenemos una copia del Doom 2 instalada en la carpeta /home/usuario/juegos/doom2. Zdoom puede funcionar con varios juegos: Doom, Doom 2, Ultimate Doom, Heretic, Hexen, Strife..., y quizás algún otro que no recuerde ahora
.
En fin, hecho esto ya podríamos arrancar el Zdoom. Bastaría con acceder a la carpeta en la que lo hemos instalado, y escribir:
$ ./zdoom
La primera vez que ejecutemos el Zdoom se creará automáticamente una carpeta oculta en el directorio raíz de nuestro usuario —como hacen muchos otros programas—, situada en ~/.zdoom. En ella se grabarán nuestras partidas guardadas, así como el archivo de configuración zdoom.ini —importante, por cierto—.
Para escuchar las melodías del juego, arrancaremos Zdoom del modo habitual. Tendremos que acceder, en el menú principal, a Options -> Sound Options -> Advanced Options
; y una vez aquí, activamos la opción Use FM synth to MUS Music
. Esto hace que la música en formato MUS —el formato nativo de Doom, similar al midi— se reproduzca mediante sonido digitalizado. A partir de la versión 2.3.0, la opción correspondiente se encuentra en Options -> Sound Options -> Midi Device
.
No obstante, y como ya comenté al principio, Zdoom también puede reproducir midis corrientes. De hecho, hay algunos mapas circulando por Internet que emplean melodías en formato MID, en lugar del formato MUS tradicional de Doom. Si deseamos oír la música en estos casos, deberemos tener bien instalado Timidity; y es posible que haya que modificar el archivo de configuración del Zdoom (~/zdoom/zdoom.ini) del siguiente modo:
timidity_extargs=-Os
De este modo especificamos que Timidity reproduzca la música mediante ALSA —para lo cual necesitaremos haberlo compilado con soporte para ALSA; en el anexo lo explico con detalle—. Puede ser necesario cambiar así esta línea, o no; depende de cómo tengamos configurado el sonido en nuestro ordenador.
A algunas personas —yo entre ellas
— les ha sucedido esto la primera vez que han intentado comenzar una partida. Una forma de solucionarlo es editar el archivo de configuración del Zdoom, que suele estar colocado en ~/.zdoom/zdoom.ini. En este fichero encontraremos probablemente una línea como ésta:
snd_output=default
Pues bueno, bastaría con sustituir default
por alsa
—o por oss
, si esto no da resultado, o no escucháis ningún sonido al jugar con Zdoom—:
snd_output=alsa
Y por último, si este archivo (zdoom.ini) no existe, basta con cargar el Zdoom y salir inmediatamente de él —con la opción de Quit Game
, sin comenzar ninguna partida— para que sea creado automáticamente.
Bueno, no pueden faltar un par de capturas de pantalla que demuestren lo comentado en este tutorial.
En esta primera imagen estoy jugando el primer nivel de Doom 2, usando la versión 2.1.0 de Zdoom. El ordenador es un Pentium II a 350 MHz funcionando con Debian GNU/Linux y un bonito escritorio Fluxbox:
Como no sólo de Doom vive el hombre, en esta otra captura de pantalla podéis ver cómo se ejecuta Strife con la versión 2.3.0 de Zdoom. La compatibilidad es completa, y el juego puede disfrutarse sin ningún inconveniente:
Esta última imagen se tomó en febrero de 2009 para hacer un poquito más variado este manual —la anterior también trataba de Doom—.
A la gente que no quiera complicarse mucho la vida probablemente le interesará más usar los binarios ya compilados, tal y como acabo de explicar arriba. Sin embargo, puede haber quién necesite compilarse unos propios porque los anteriores no le funcionen, o porque quiera tener Zdoom lo más optimizado posible para su máquina, o simplemente porque le guste más hacer las cosas así. Si éste es tu caso, sigue leyendo...
Hasta la llegada de la versión 2.1.0, compilar Zdoom en GNU/Linux podía resultar un auténtico dolor de cabeza. Había que aplicar un parche al código fuente que hubiésemos descargado —parche que estaba escondido en un hilo del foro oficial de Zdoom—, usar unas versiones muy concretas de NASM y la librería Fmod, y cruzar los dedos para que todo funcionase sin problemas... Afortunadamente ya no es así; y la versión 2.1.0, que al parecer es la siguiente versión oficial desde la ya lejana 1.22, puede compilarse sin mayores complicaciones.
Bueno, he mencionado la versión 2.1.0, pero lo comentado aquí también sirve para la 2.1.1 —aparecida mientras preparaba este manual—, y las siguientes. Sin embargo, a partir de la versión 2.3.0 los autores de Zdoom han hecho varios cambios importantes, y por eso el modo de compilarlas se explica más adelante.
Y basta de charla..., pongámonos ya manos a la obra. Para compilar Zdoom vamos a necesitar lo siguiente:
Si no tenéis alguna de estas librerías probablemente podréis conseguirlas en los repositorios de vuestras distribuciones. Y si no es así, siempre se pueden encontrar en sus páginas oficiales:
De todas ellas, quizás la más problemática de instalar sea Fmod; consultad el anexo si tenés alguna duda con esto... De momento asumiré que ya está instalada en vuestras máquinas.
Bueno, empezaremos por descargarnos el código fuente del Zdoom, y crear una carpeta para guardarlo y descomprimirlo:
$ mkdir zdoomsrc
$ cd zdoomsrc
$ wget http://www.arcades3d.com/linux/zdoom_src-2.1.7.tar.bz2
Y ahora extraemos el contenido del archivo tar.bz2:
tar -jxvf zdoom_src-2.1.7.tar.bz2
Esto creará una nueva carpeta llamada zdoom, dentro de la que hemos añadido un poco más arriba (zdoomsrc en este ejemplo). En ella encontraremos todo el código fuente que necesitamos compilar.
Sin embargo, hay que pulir algún detallito antes de ponernos a la tarea. Por algún motivo el compilador busca algunas de las dependencias —las librerías necesarias que ya he mencionado— en el directorio /usr/lib, en lugar de /usr/local/lib como suele ser habitual en algunas distribuciones de Linux. No sé si sucederá siempre así, pero es un problema que he encontrado en las dos máquinas en que lo he probado.
Algo muy fácil de solucionar, por otra parte. Basta con crear algunos enlaces simbólicos en /usr/lib y /usr/include que apunten a las librerías originales. Para ello necesitaréis acceder a la cuenta del administrador:
$ su
Password:
# ln -s /usr/local/fmod/lib/libfmod-3.75.so /usr/lib/libfmod.so
# ln -s /usr/local/fmod/include/fmod /usr/include/fmod
# ln -s /usr/local/fmod/include/fmod/fmod.h /usr/include/fmod.h
# ln -s /usr/local/lib/libFLAC.so /usr/lib/libFLAC.so
# ln -s /usr/local/lib/libFLAC++.so /usr/lib/libFLAC++.so
# exit
$
Una vez resuelto este pequeño inconveniente —si es necesario hacerlo— ya podemos compilar el Zdoom. Para ello accederemos a la carpeta llamada zdoom, y con una sencilla orden make todo echará a andar:
$ pwd
/home/usuario/zdoomsrc
$ cd zdoom
$ make
Puede costarle un buen rato terminar, sobre todo en las máquinas más viejas. En mi Pentium II a 350 MHz la compilación se prolongó durante veinte minutos más o menos... Lo digo para que no os desesperéis si tarda más de lo que esperábais.
Cuando termine, habrán aparecido los siguientes archivos:
Y con esto hemos terminado... Sólo nos faltaría copiar el archivo WAD del juego que nos interese —doom2.wad para jugar a Doom 2, heretic.wad para el Heretic, etc— a esta misma carpeta; o, más recomendable, hacer lo contrario.
Nada más. Que lo disfrutéis...
El modo de compilar estas versiones de Zdoom cambia respecto a las anteriores, y por eso he decidido dedicarles una sección por separado. Como hicimos antes, veremos primero los requisitos necesarios.
Bien, vamos a necesitar lo siguiente:
Notad que GTK2 es opcional. Si tenéis instaladas estas librerías, Zdoom las usará, y de lo contrario se compilará sin ellas.
Respecto a lo demás, lo recomendable es que uséis los gestores de paquetes de vuestras distribuciones. Quizás la librería Fmod no se halle en ellos; en tal caso, tendréis que descargarla de su página oficial e instalarla manualmente en vuestro sistema. No es difícil de hacer; en el anexo se explica cómo.
El primer paso es descargarse el código fuente de Zdoom y descomprimirlo en una carpeta a vuestra elección. No tiene mucho sentido repetir aquí la explicación escrita un poco más arriba, así que asumiré que ya tenéis el código fuente preparado en la carpeta /home/usuario/zdoomsrc.
A continuación —y aquí comienzan las diferencias respecto a las versiones viejas de Zdoom— hay que crear un directorio de trabajo dentro de la carpeta principal del código fuente. Más o menos así (en este ejemplo lo he llamado compilacion, pero cualquier otro nombre serviría):
$ pwd
/home/usuario/zdoomsrc
$ cd zdoom
$ mkdir compilacion
$ cd compilacion
Y ahora usamos CMake de la siguiente manera:
$ cmake -DCMAKE_BUILD_TYPE=Release ..
¡Fijaos en los dos puntos del final de la línea, son importantes!
Si CMake ha hecho correctamente su parte y no han surgido problemas, ya estáis listos para comenzar el trabajo. Sin salir del directorio compilacion, escribimos:
$ make
Y ya sólo queda esperar. La compilación puede prolongarse bastante rato, y en las máquinas más viejas no sería extraño que superarse la media hora. Cuando termine, encontraréis los tres archivos necesarios para ejecutar Zdoom:
Simplemente copiadlos a la carpeta en la que tengáis instalado el juego que os interese: Doom, Doom 2, Heretic, Hexen, Strife, y creo que incluso Chex Quest.
Algunas personas pueden tener problemas a la hora de instalar alguna de estas dos cosas. Por ello he decidido escribir esta última parte del manual, que debería servir de ayuda para quién se sienta perdido...
Comencemos con Fmod... Este texto en realidad ya lo he escrito en otros manuales —los de Duke Nukem 3D y Shadow Warrior—, pero no está de más repetirlo aquí.
En primer lugar nos descargamos el archivo correspondiente —en el momento de escribir esto, fmodapi375linux.tar.gz—, y lo descomprimimos:
$ wget http://www.fmod.org/files/fmodapi375linux.tar.gz
$ tar -zxvf fmodapi375linux.tar.gz
A continuación tendremos que crear varias carpetas dentro de /usr/local/ —para hacerlo es probable que necesitéis acceder a la cuenta del administrador—. Así, por ejemplo:
$ su
Password: <-- Introducimos la contraseña del administrador...
# mkdir -p /usr/local/fmod/include/fmod
# mkdir -p /usr/local/fmod/lib
Y accedemos a los contenidos que acabamos de descomprimir para comenzar a copiar los archivos necesarios. Lo único que nos interesa aquí es la carpeta llamada api:
# cd fmodapi375linux
# cd api
# cp -v libfmod-3.75.so /usr/local/fmod/lib
# cp -v inc/* /usr/local/fmod/include/fmod
Ahora necesitamos crear algunos enlaces simbólicos, para que los diversos programas puedan encontrar fácilmente la librería Fmod cuando lo requieran:
# ln -s /usr/local/fmod/lib/libfmod-3.75.so /usr/local/fmod/lib/libfmod.so
# ln -s /usr/local/fmod/lib/libfmod-3.75.so /usr/local/lib/libfmod.so
# ln -s /usr/local/fmod/include/fmod /usr/local/include/fmod
Y ya lo tenemos... De todas formas, si pensáis compilar Zdoom vosotros mismos, podéis encontraros con que durante el proceso el ordenador busque la librería Fmod en la carpeta /usr/lib, en vez de en /usr/local/lib. Para solucionar esto, añadiremos algunos enlaces simbólicos más:
$ ln -s /usr/local/fmod/lib/libfmod-3.75.so /usr/lib/libfmod.so
$ ln -s /usr/local/fmod/include/fmod /usr/include/fmod
$ ln -s /usr/local/fmod/include/fmod/fmod.h /usr/include/fmod.h
La instalación de estas versiones de Fmod resulta más sencilla que la de las anteriores. Basta con descargarlas, descomprimir el fichero correspondiente, y ejecutar un make install desde la cuenta del administrador. Veámoslo con detalle.
Descargar Fmod es tan fácil como acudir a la página oficial y conseguir la última versión. O bien, usar Wget desde la línea de comandos:
$ wget http//www.fmod.org/index.php/release/version/fmodapi42202linux.tar.gz
En este ejemplo se trata de la versión 4.22, pero para cuando leáis esto pueden haber otras. De hecho, existen también versiones de Fmod para sistemas de 64 bits.
Ahora descomprimimos el archivo que hemos descargado:
$ tar -zxvf fmodapi42202linux.tar.gz
Y hecho esto, procedemos a la instalación. Para ello habrá que usar la cuenta del administrador (o el comando sudo, en Ubuntu y otras distribuciones similares):
$ cd fmodapi42202linux
$ su
Password:
# make install
Y ya está hecho. Como véis, no tenía mucho misterio.
Se trata de una utilidad que nos permite reproducir melodías midi en GNU/Linux y otros sistemas. Como ya he explicado más arriba, no resulta imprescindible para jugar con Zdoom, pero sí puede venir bien para escuchar la música de algunos mapas que no emplean el formato MUS nativo de Doom. Aquí explicaré los pasos a seguir para instalarlo y configurarlo... De todas formas, en http://www.ubuntu-es.org/node/3777 hay un tutorial muy útil y recomendable sobre esto.
Lógicamente, el primer paso sería descargarnos alguna versión de Timidity. La más reciente a día de hoy creo que es la 2.13; podéis echar un vistazo a su página oficial —http://timidity.sourceforge.net— para conseguirla.
En principio sería preferible descargar paquetes ya compilados para vuestras distribuciones. Pero si por alguna razón deseáis compilar Timidity vosotros mismos —o vuestra distribución no cuenta con dichos paquetes—, el proceso es sencillo. Una vez descomprimido el código fuente, basta con teclear lo siguiente en una consola de comandos:
$ ./configure --enable-audio=oss,alsa --enable-server --enable-alsaseq
$ make
$ su
Password: <-- Accedemos a la cuenta del administrador.
# make install
Como podéis ver, la primera orden (./configure) admite diversas opciones; son importantes, porque con ellas indicaremos qué características del programa queremos activar. Así, en este ejemplo configuramos Timidity para que emplee OSS o ALSA para reproducir los midis (--enable-audio=oss,alsa), cosa que funcionará en la mayoría de sistemas GNU/Linux; las otras dos opciones no sabría explicar bien para qué sirven exactamente, pero creo que es recomendable usarlas... 
En fin, si deseáis ver con tranquilidad todas las opciones de configuración que pueden emplearse con Timidity, teclead una orden como ésta:
$ ./configure --help ¦less
Aunque de todas formas, Timidity compilado tal y como muestra el ejemplo anterior probablemente correrá sin problemas en casi todas las máquinas con GNU/Linux y una tarjeta de sonido bien configurada.
Bueno, ya tenemos Timidity compilado e instalado en nuestro ordenador... Pero aún no hemos terminado. Lo siguiente que nos hará falta será un archivo de sonidos digitalizados, correspondientes a las notas e instrumentos que emulará Timidity al reproducir la música. Supongo que habrán bastantes circulando por Internet. El que uso actualmente, después de haber probado varios, y me ha dado mejores resultados, es éste, enlazado al final de la página oficial de la librería SDL_mixer.
No obstante, también puede obtenerse rápida y cómodamente usando Wget:
$ wget http://www.libsdl.org/projects/SDL_mixer/timidity/timidity.tar.gz
Una vez tengamos el fichero de sonidos a buen recaudo en nuestro ordenador, lo descomprimimos e instalamos:
$ su
Password:
# cd /usr/local/lib
# tar -zxvf timidity.tar.gz
Esto crea un directorio llamado timidity dentro de /usr/local/lib, con todo el contenido necesario para funcionar. Sí, incluido un archivo timidity.cfg hecho a medida —en versiones viejas de este tutorial, usando otros ficheros de sonidos, había que escribirlo desde cero o buscarse la vida—.
Por último, es posible que necesitéis una copia —o un enlace simbólico— de este archivo en el directorio /usr/local/share/timidity. En mi caso lo solucioné de esta manera:
# cd /usr/local/share
# ln -s /usr/local/lib/timidity timidity
Y ahora sí, hemos terminado... Reiniciad el ordenador para aseguraros de que todo funciona correctamente, y a disfrutar.
Y una última captura de pantalla para que este manual no sea tan arisco... Aquí estoy en plena partida, jugando una modificación de Doom 2 llamada Pinochestein 3D
:
- Manual escrito por Eye del Cul.
Podéis copiar libremente cualquier contenido de esta página. Si se trata del texto o las imágenes, mencionad la fuente (www.arcades3d.com)...