Pues eso; ¿queréis echaros unas partidillas al Wolfenstein 3D? Aquí explicaré las alternativas que tenemos para hacer funcionar en GNU/Linux este clásico inmortal de Id Software. Alternativas que vienen a ser tres: la recomendable, la fácil y la menos fácil. Escoger una u otra depende de las preferencias de cada cuál y de las posibilidades de su ordenador.
Bueno, vamos a ello...
Dejarse de rollos y ejecutar Wolfenstein 3D con un emulador. Hoy por hoy, cuando el que más o el que menos dispone de un Pentium III con un montón de megahertzios, es una opción muy asequible. Wolfenstein 3D funciona perfectamente en DOSBox o en Dosemu —yo mismo lo he probado en Dosemu con una máquina P2/350 MHz, y era más o menos jugable—. De este modo podremos disfrutar del juego con sus gráficos y sonidos originales sin calentarnos demasiado la cabeza...
La emulación con DOSBox es más completa; el inconveniente está en que se necesita una máquina un poco más potente que con Dosemu. Pero bueno, insisto; esto sólo significa un problema con los ordenadores más viejos. Los jugones más atrevidos incluso pueden probar correr el Wolfenstein 3D con el puerto NewWolf, emulándolo con Wine.
De todas maneras no he escrito este manual para ponerme a hablar sobre emuladores. Es todo un mundillo, y quienes no sepan usarlos y quieran aprender deberían buscar en otro lado los tutoriales oportunos.
Se trata de usar el puerto WolfGL, que podéis descargar de su página oficial (http://wolfgl.sourceforge.net/), aunque también está disponible en Arcades 3D. Y lo mejor, no resultará necesario compilar código fuente ni nada similar; WolfGL se distribuye en varios archivos ejecutables, dos para Wolfenstein 3D —uno para la demo y otro para la versión completa— y otros tantos para Spear of Destiny, que basta con colocar en la carpeta dónde instalemos los juegos originales.
Los requerimientos se resumen pronto: una copia de Wolfenstein 3D o Spear of Destiny, y una tarjeta gráfica correctamente instalada y configurada —puesto que WolfGL, como su nombre indica, usa renderización por OpenGL—. Respecto al primer punto, cuidado, porque se publicaron diferentes versiones del Wolfenstein 3D, y WolfGL sólo funciona en principio con la 1.4.
Para jugar, basta con copiar los ficheros originales del juego en cuestión en la carpeta que deseemos (por ejemplo, /home/condemor/wolf3d), y añadir después el ejecutable correspondiente del WolfGL. Luego sólo queda ejecutarlo; desde una consola de comandos, sin ir más lejos:
$ cd wolf3d
$ ./wolfgl
Y a funcionar...
Podemos modificar la resolución por defecto y ejecutar WolfGL en ventanas de diversos tamaños, mediante los parámetros -width y -height:
$ ./wolfgl -width 800 -height 600 <-- Abre WolfGL en una ventana de 800x600.
¿Los inconvenientes? Pues mayormente que WolfGL es un proyecto viejo, al parecer abandonado desde hace tiempo, y no está muy pulido. Los sprites renderizados con OpenGL lucen a veces un tanto feos; y lo peor, el puerto no incluye soporte para la música, por lo que nos quedaremos sin oir los magníficos midis del juego.
También tenemos la posibilidad de utilizar el puerto que preparó en su día la gente de Icculus.org. El problema está, al igual que ocurría con WolfGL, en que no es todavía un trabajo muy depurado; así, ni el sonido ni la música están implementados —actualización: he vuelto a descargar el código de Icculus.org en noviembre de 2006, y ahora sí hay soporte para el sonido y la música, usando OSS—. Si a pesar de esto os decidís por esta opción, seguid leyendo...
Lo primero que deberíamos hacer es descargarnos el código fuente. Éste se encuentra disponible en Icculus.org (concretamente, en la página www.icculus.org/wolf3d), y podemos obtenerlo desde el repositorio SVN —antiguamente usaban CVS, pero hace poco lo han sustituido por Subversion—, o bien bajarnos el archivo comprimido que contiene la edición de octubre de 2001, cuya dirección es http://www.icculus.org/wolf3d/wolf3d-20011028.tar.gz. Quizás sea más recomendable la primera opción, dado que con SVN conseguiremos la versión más actualizada posible del código, y parece que recientemente han hecho cambios importantes, como añadir el soporte para el sonido.
También podéis obtenerlo de Arcades 3D; se trata de una copia descargada del directorio SVN en noviembre de 2006.
En el caso de decantarnos por el SVN necesitaremos algún programa especial para ello... No debería ser un gran problema, ya que la mayoría de las distribuciones de uso general de GNU/Linux incluyen alguno, o al menos lo tendrán disponible para instalar desde sus respectivos repositorios de paquetes.
Por ejemplo, utilizando el cliente SVN desde una consola de comandos, escribiríamos lo siguiente:
$ cd juegos
$ svn co svn://svn.icculus.org/wolf3d/trunk wolf3d-fuentes
Con estos comandos descargaríamos el código fuente desde Icculus.org y lo guardaríamos en una nueva carpeta llamada wolf3d-fuentes, alojada dentro de juegos.
Bien, sea cuál sea nuestro método para conseguirlo (SVN para los más rebuscados, algún fichero comprimido para quién no quiera complicarse la vida...), probablemente nos encontraremos con varias carpetas; éstas son docs, src y macsrc.
Estos directorios podemos colocarlos dónde mejor nos convenga. En el ejemplo anterior se encontrarían en /home/miusuario/juegos/wolf3d-fuentes; y en la consola de comandos tendríamos algo así:
$ cd wolf3d-fuentes
$ pwd
/home/miusuario/juegos/wolf3d-fuentes
$ ls
docs
src
macsrc
Más que nada, para hacernos una idea de cómo está esto organizado; las tres carpetas del código fuente del juego se hallan dentro de /home/miusuario/juegos/wolf3d-fuentes. ¿Fácil no? El siguiente paso, evidentemente, será compilarlo..., pero antes, detengámonos en los requisitos mínimos necesarios.
Básicamente son los siguientes:
Respecto a las librerías SDL, probablemente vendrán incluidas "de fábrica" en tu distribución. Y de lo contrario, ya sabéis; usad Apt-get u otros gestores de paquetes similares. O si lo preferís, acercaros por www.libsdl.org..., aunque, insisto, no creo que sean muchos los que tengan que preocuparse por instalar las SDL.
En mi caso, —yo utilizo Vector Linux—, la cosa sería más bien así, usando la consola de comandos:
$ su
Password:
# slapt-get --install SDL*
Aunque no he tenido el placer de comprobarlo
; las SDL vienen por defecto en la instalación habitual de Vector Linux. Así que un dolor de cabeza menos...
Bueno, y ahora que tenemos listas las librerías SDL, ya podemos ponernos manos a la obra. Aunque debemos tener en cuenta una cosa; el puerto para GNU/Linux de Wolfenstein 3D es compatible en realidad con varios títulos y versiones de ellos: el Wolfenstein 3D original, la edición shareware, y también Spear of Destiny y su respectiva demo. Y antes de compilar nada, tendremos que especificar cuál vamos a usar.
Para ello, hay un archivo llamado version.h, dentro de la carpeta src. Habrá que editarlo y cambiar un pequeño valor. Veámoslo:
$ cd src
$ pwd
/home/perez/juegos/wolf3d/src
$ vi version.h
Bueno, quién dice Vi dice Beaver o cualquier otro editor de texto...
La edición que tenemos que hacer es muy sencilla, y cualquier persona un poco despierta tendrá más que suficiente con los comentarios que incluye el propio archivo. Pero por si acaso, lo comentamos rápidamente.
Hay que buscar tres líneas, en la mitad superior del fichero:
#ifndef WMODE
#define WMODE 3 <-- O 2
, o 1
, etc.
#endif
El número que sigue a "#define WMODE" indica la versión de Wolfenstein 3D o Spear of Destiny para la que queremos compilar el puerto. Los valores pueden ser los siguientes:
Basta con cambiar el valor que venga preestablecido —0, o el que sea— por uno de estos cuatro números, dependiendo del juego en concreto que nos interese. Y con esto ya podemos compilar tranquilamente el código:
$ pwd
/home/miusuario/juegos/wolf3d-fuentes/src
$ make
.
. <-- (Montones de letras y números).
.
$
Esto es bastante rápido. Cuando la compilación termine, tendremos en el directorio src un archivo ejecutable llamado sdlwolf3d. Como somos gente ordenada, lo movemos a una carpeta vacía a nuestra elección, que será la ubicación definitiva del juego:
$ mv sdlwolf3d /home/miusuario/juegos/wolf3d
Llegados a este punto, conviene aclarar que, por defecto, se compila una versión sin sonido del juego. Si queremos sonido, tendremos que modificar también el archivo src/Makefile, aunque no temáis, es algo muy sencillo. Así, lo abrimos con cualquier editor de texto, y buscamos las siguientes líneas —son el tercer o cuarto párrafo—:
# no sound
OBJS += sd_null.o
# sound using OSS
#OBJS += sd_oss.o fmopl.o
#CFLAGS += -D_REENTRANT
#LDLIBS += -lpthread
Sí, es justo lo que estáis pensando; comentamos la línea "OBJS += sd_null.o" y quitamos las almohadillas que preceden a las que hay bajo de "# sound using OSS". De este modo, nos quedaría algo así:
# no sound
#OBJS += sd_null.o
# sound using OSS
OBJS += sd_oss.o fmopl.o
CFLAGS += -D_REENTRANT
LDLIBS += -lpthread
Y tras hacer estos cambios, guardamos el archivo y procedemos a compilar el código tal y como hemos visto arriba, usando el comando make.
Una vez compilado el puerto de Icculus —con soporte para sonido o sin él—, sólo nos quedaría copiar a la carpeta dónde dejamos el fichero sdlwolf3d los archivos de datos del juego original —que se supone que tenemos
—. Éstos son los siguientes, aunque como ya he comentado antes, la cabecera cambia según el juego que estemos instalando; WL6 para Wolfenstein 3D, SOD para Spear of Destiny, etc:
Cuidado, no olvidéis que estáis usando un sistema tipo Unix, y que por lo tanto "config.wl6" no es lo mismo que "CONFIG.WL6"; los archivos anteriores deben estar en minúsculas, o el puerto no los encontrará. Lo comento para evitar a más de uno algún dolor de cabeza estúpido...
Y ahora ya podemos jugar... Ejecutemos sin más el fichero sdlwolf3d:
$ ./sdlwolf3d
El juego arrancará en una pequeña ventana, pero debería ser posible ponerlo a pantalla completa pulsando al mismo tiempo [ALT] y [INTRO]. Si no, podemos ejecutarlo del siguiente modo:
$ ./sdlwolf3d -fullscreen
Y bueno, ahora deleitémonos con algunas capturas de pantalla:
Aquí vemos el Spear of Destiny ejecutándose con el puerto WolfGL, en mi escritorio FluxBox...
Y aquí tenemos el mismo juego pero corriendo con el puerto de Icculus. Se carga en una pequeña ventana del escritorio, pero se puede jugar también a pantalla completa:
Recordaréis que al principio de este manual dije que NewWolf puede funcionar en Linux, emulándolo con Wine. Pero claro, decirlo es fácil, hace falta alguna prueba... Y aquí la tenéis.
La captura de pantalla muestra NewWolf corriendo emulado con la versión 0.9.28 de Wine. Fijaos en los modelos tridimensionales para las armas y objetos del escenario —aunque hay que decir que la compresión en JPG no ha sido amable con la imagen—:
- 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)...