Juegos en Linux:
Yadex (editor de mapas para Doom)

Cómo instalar Yadex GNU/Linux

Allá por los años noventa, ya en el siglo pasado, un fantástico juego, obra de Id Software, salió a la luz: Doom. Tal sería el éxito de algunos FPS (First Person Shooters), y en concreto de Doom, que, incluso 15 años después de su publicación, aún se continúa jugando, modificando y hablando de él. Pocos son los usuarios de juegos de ordenador que no conocen Doom.

Y gracias a que Id Software liberó el código fuente de Doom fue posible realizar los llamados source-ports, o "puertos", en español. La finalidad de éstos es añadir nuevas características técnicas al motor gráfico original de Doom, y permitir su ejecución en sistemas como Windows, Linux, BeOS, OS X, todo tipo de consolas (Nintendo, Play Station, etc), y casi cualquier otra plataforma que tenga un mínimo de potencia para ejecutarlo.

Y ya que todo el mundo tenía acceso a Doom, se necesitaba llegar aún un poco más lejos: había que empezar a modificar el juego, creando y editando mapas más espectaculares, con nuevos gráficos, enemigos, acciones, scripts... Así que la comunidad de Doom se puso manos a la obra, y hoy por hoy podemos disfrutar de un gran abanico de opciones a la hora de modificarlo.

Por lo tanto, si crees que para construir mapas, modificaciones, sprites, monstruos..., necesitas Windows, estás equivocado. Hay muchas y muy potentes herramientas para Linux (que es lo que nos concierne en estos manuales).

Requisitos:

Aunque hay más de un editor de mapas de Doom para Linux, en este manual sólamente enseñaremos cómo instalar Yadex; así que procederemos con lo que necesitamos para hacerlo funcionar.

Actualmente hay dos formas de instalar Yadex: mediante paquetes RPM o mediante código fuente.

Podría hablar también de paquetes DEB, pero sólamente he usado paquetes RPM, así que prefiero no inventarme cosas. Quizás más adelante, en una nueva versión de este tutorial, se añada cómo hacerlo para sistemas que usen paquetes DEB.

De momento, nos quedamos con los dos métodos mencionados arriba.

Requisitos para paquetes RPM:
Básicamente, necesitaremos tener instalado el programa RPM. Este programa toma un paquete dado y lo instala en el sistema, comprobando dependencias, permisos, directorios y ficheros; todo ello de forma automática. Si no tienes RPM instalado, deberás conseguirlo.
Requisitos para el código fuente:
En caso de que no tengas, o no quieras instalar, RPM, puedes hacerte con una copia del código fuente de Yadex, e intentar compilarlo (mira más abajo, en Elegir una versión). Para compilar Yadex, o cualquier otro programa escrito en C o C++, necesitarás dos cosas: Make, y un compilador compatible con C/C++. El primero te permitirá realizar una compilación automatizada, y el segundo es el que compila los ficheros fuente de C o C++. Normalmente se usa GCC (Gnu C Compiler) como compilador en los sistemas Linux. Si no dispones de Make, puedes instalar el paquete Binutils, que trae todo lo necesario para realizar compilaciones automáticas. Si no dispones de GCC también lo tendrás que conseguir, ya que de lo contrario no podrás compilar nada por mucho que te empeñes.

En cualquiera de los dos casos, también necesitaremos contar con un entorno gráfico X (X11). Aunque Yadex sí funciona en modo consola, no podremos editar los niveles, ya que para ello necesitaremos obligatoriamente un entorno gráfico.

Sobre Yadex

La instalación se trata de un proceso bastante sencillo, aunque hay que tener en cuenta algunos aspectos que quizás planteen problemas a los usuarios más nuevos de Linux. Para ello, a continuación, se podrá leer una lista de las diferencias entre versiones, qué problemas dan, y cómo solucionarlos.

ELEGIR UNA VERSIÓN

A la hora de escribir este tutorial, la versión más alta de Yadex es la 1.7.9. Hablaremos aquí de dos versiones: la 1.7.0 y la 1.7.9. Las diferencias son palpables:

  • 1.7.0: Ésta es la versión que recomiendo. Es estable, actual, y no tendremos problemas para compilarla y usarla, salvo un pequeño bug en el código que, en caso de desconocerlo, nos traerá de cabeza. Esto ya lo comentaremos más adelante. Pero lo mejor de esta versión es que disponemos de add-ons, que añaden nuevas funciones a Yadex realmente interesantes y casi imprescindibles hoy en día.
  • 1.7.9: Es la más actualizada hasta el momento. No tiene bugs en el código y por lo tanto no tendremos problemas a la hora de compilarla. Pero, como desventaja, los add-ons sólo pueden ser usados de momento con la versión 1.7.0.

Como conclusión: si realmente vas a usar los add-ons, instala la 1.7.0; si no los vas a utilizar, prueba con la versión 1.7.9.

LISTA DE PARCHES Y ADD-ONS (para 1.7.0)

Aquí puedes ver un listado de todos los add-ons que puedes usar con la versión 1.7.0 de Yadex:

Depend:
Parche que, en teoría, hay que aplicar antes que cualquier otro; sin embargo, yo he usado solamente el Render3D y el Keys, y todo me ha ido como la seda.
MacosX:
Como el nombre indica, sirve para compilar Yadex en MacOS X.
Render3D:
Permite una visualización en 3D del nivel que estemos editando. Sería algo similar a lo que se puede ver en otros editores como Doom Builder o Slade, pero más simple: no podremos modificar nada del mapa en este modo en 3D, tan sólo examinarlo.
Find:
Para buscar objetos, linedefs o sectores según su tipo.
Tools:
Tres nuevas funciones: dividir un sector, transferir propiedades entre sectores y crear nuevos sectores a partir de otros.
Keys:
Cambia algunas asociaciones de teclas. Aunque en principio estaba pensado más bien para portátiles que no tengan a mano las teclas [SUPR] e [INSERT], yo lo recomiendo porque facilita bastante el uso general de Yadex.
All:
Pues eso, todos los anteriores add-ons en uno sólo.
Hexen:
Mejora la compatibilidad con Hexen.

Compilación e instalación de Yadex:

Ya que la instalación de Yadex puede realizarse mediante RPMs o mediante la compilación del código fuente, describiremos ambas formas de proceder:

INSTALACIÓN MEDIANTE RPMs

Básicamente consistirá en identificarnos como root, e instalar el paquete RPM. La cosa sería tal que así:

$ su
Password:
# rpm -iv --nodeps <yadex.rpm>

En donde <yadex.rpm> representa el nombre del fichero RPM que nos hayamos descargado.

Hemos usado la opción --nodeps porque de lo contrario Yadex nos pediría que tuviésemos instalado FreeDoom en alguna parte, cosa que podría darnos un error de dependencias si, como es el caso, no lo tenemos.

Por último, tened en cuenta que instalando Yadex mediante RPM no podremos disponer de add-ons, incluso aunque la versión sea la 1.7.0.

INSTALACIÓN MEDIANTE EL CÓDIGO FUENTE

La instalación mediante código fuente es algo más larga. Sin embargo, tendremos la certeza de poseer el programa compilado e instalado a nuestra medida. Otra ventaja más es que si compilamos la versión 1.7.0 podremos parchear Yadex para añadirle los add-ons.

En primer lugar, descomprimimos el paquete con el código fuente que nos hayamos descargado. Normalmente suele tratarse de un archivo comprimido con la extensión .tar.gz, aunque es posible encontrar otros tipos de ficheros como .tar.bz2, .zip, etc:

$ tar -zxvf <yadex.tar.gz>
$ cd <yadex>

En donde <yadex.tar.gz> representa el nombre del archivo que hayamos descargado, y <yadex> el directorio que se crea después de descomprimirlo.

Ahora ya estamos situados en el directorio que contiene el código fuente de Yadex. Procederemos a compilarlo. Sólo son necesarios cuatro comandos:

$ ./configure
$ make
$ su

Password:
# make install

De esta forma instalaremos los binarios y demás archivos de Yadex.

Pero también tenemos la posibilidad de parchear el código fuente de Yadex para que se compile con los add-ons que deseemos (recuerda que sólo podrás parchear el código y usar los add-ons con la versión 1.7.0).

Una vez bajado cada add-on, lo copiamos al directorio donde tengamos descomprimido el código fuente de Yadex, y escribimos lo siguiente:

$ patch -p1 < <addon.diff(.gz)>

Obviamente tendrás que sustituir <addon.diff(.gz)> por el nombre real del add-on en cuestión. Si dicho add-on tiene como extensión .gz, tendrás que usarlo tal como está, sin intentar descomprimirlo.

A continuación procedemos a compilar Yadex como hemos dicho anteriormente.

Si vas a compilar la versión 1.7.0 aparecerá un error cuando hagas el make. El error es el siguiente:

make: *** [obj/0/wadlist.o] Error 1

Lo único que tendrás que hacer es borrar una línea problemática en el código fuente. Accede al directorio src/, y edita el fichero wadlist.cc; en él, elimina la línea número 178. Esa línea dice:

priv->iter = 0;     // Catch bugs

TOQUES FINALES

Y ya sólo nos queda un último paso: copiar los archivos de datos de Doom, Doom 2, Hexen o Heretic.

Si el árbol de directorios de tu distribución es el "normal", tendrás que almacenar estos ficheros en el directorio /usr/local/share/games/<juego>, sustituyendo <juego> por el juego que quieres editar. Por ejemplo, /usr/local/share/games/doom2/doom2.wad. Fíjate en todas las mayúsculas y minúsculas, y en que el nombre del archivo wad tiene que estar en minúsculas.

Si el directorio correspondiente no existe, tendrás que crearlo:

$ su
Password:
# mkdir /usr/local/share/games/doom2

Finalmente, copiamos el archivo wad deseado, y le damos los permisos de lectura y escritura necesarios:

$ su
Password:
# cp doom2.wad /usr/local/share/games/doom2/doom2.wad
# chmod -Rv a+wr /usr/local/share/games/doom2

Si todo ha sido correcto, sólo tendremos que teclear el comando yadex (fíjate en las minúsculas) para ejecutar el editor de mapas Yadex.

Direcciones de interés

¿Le darás finalmente una oportunidad a Yadex? Pues entonces estas webs son de obligada visita:


¿Qué sería uno de estos tutoriales sin capturas de pantalla?

Yadex debe ser ejecutado desde una terminal. Cuando lo hagamos, encontraremos un mensaje de bienvenida y una línea de comandos como los que se aprecian aquí, y que los veteranos del viejo DEU de MS-DOS encontrarán acogedoramente familiar:

Yadex ejecutándose desde una terminal

Y he aquí una imagen de muestra de cómo se tendría que ver en Yadex el mapa MAP01 de Doom 2, con el add-on de previsualización en 3D:

Editando el primer mapa de Doom 2 con Yadex

Anexo

Notas del autor

Éste no pretende ser un manual exhaustivo ni tampoco una referencia universal, ya que seguramente habrá algunas cosas que cambien en diferentes distribuciones de Linux, configuraciones de hardware y software y demás.

Como nota orientativa, yo he usado para la instalación y configuración de todo lo que se expone en este manual un SuSE Linux Enterprise 10.1, con el Kernel 2.6.16, la versión 4.1.0 de GCC y RPM 4.4.2.

Versión y cambios

9 DE JULIO DE 2008

Primera versión del manual. Después de terminarlo se ha releído todo de nuevo y, aparentemente, todo parece correcto. De momento sólo se enseña cómo instalar Yadex a partir del código fuente y paquetes RPM. Quizás más adelante se añada cómo hacerlo con DEBs.

27 DE JULIO DE 2008

Se han hecho algunos cambios menores en la redacción para hacerla un poco más clara. Y ya de paso, se ha añadido la imagen de Yadex ejecutándose en una terminal porque es un aspecto fundamental del editor.

- Manual escrito por Karnizero (cerzeo@gmail.com), y revisado por Eye del Cul.

Agradecimientos a toda la comunidad "Doomera", y a todos los que mantienen vivo el espíritu de Doom, a Arcades 3D, a Andrè Majorel por seguir manteniendo Yadex, a Doom World, y a todos los que lean ésta y otras guías de Arcades 3D.


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.com)...