Juegos en Linux:
Unreal

Cómo ejecutar Unreal en GNU/Linux (usando el parche 227)

Hace ya bastante tiempo redacté para esta sección otro tutorial dedicado al primer Unreal. Entonces, ¿por qué volver ahora a la carga? ¿Acaso no estamos todos ya disfrutando de este arcade en Linux?

Veréis, resulta que la gente de OldUnreal lleva trabajando desde 2007 en un nuevo parche para mejorar el juego y adaptarlo a los sistemas modernos, el 227, cuya última revisión en el momento de escribir esto es la 227i. Para esta tarea han contado con la ayuda de Epic, y supongo que con el código fuente original; así que este parche es lo más parecido a una actualización oficial que hemos visto desde el ya lejano "226Final", publicado allá por 2000. Y lo mejor de todo: ¡incluye compatibilidad con Linux!

Algún lector estará pensando: "vale, quiero jugar a Unreal, ¿pero qué ventajas ofrece este parche respecto al método explicado en el tutorial antiguo?". Ahí van:

  • ¡No será necesario haber instalado antes Unreal Tournament! Con el CD-ROM original del primer Unreal —o los de la edición Gold, si corresponde— hay suficiente.
  • Modos multijugador operativos: ahora os será posible participar en partidas de cooperativo o deathmatch.
  • Mejoras gráficas diversas.

Hay, sin embargo, algún inconveniente:

  • No existe instalador para Linux: hace falta usar Wine para ejecutar el instalador original de Windows.
  • Requerimientos de hardware quizás algo más elevados. No lo he comprobado, de todas formas.

Y ya sin más preámbulos, vamos al tajo.

Requisitos

Para jugar a Unreal precisaréis de un ordenador con lo siguiente:

  • Procesador Pentium II o superior. Preferiblemente superior, por supuesto.
  • 64 MB de memoria RAM (128 MB recomendados).
  • Recomendable una tarjeta gráfica con aceleración 3D (por OpenGL). Hoy en día casi todas, aunque la calidad de los controladores para Linux sea otra historia. En todo caso, el juego incluye un modo de renderización por software, que debería funcionar en cualquier máquina; no resulta demasiado impresionante, claro.
  • Tarjeta de sonido compatible con OSS/ALSA.
  • Unos 600 MB de espacio en el disco duro.
  • Librerías SDL.

Estos son al menos los requerimientos básicos del juego. El parche 227 trae algunas mejoras gráficas que tal vez los eleven un poquito, si bien dudo que supongan una gran diferencia. Y si todo lo demás falla, siempre os quedará el modo por software.

Las librerías SDL (de Simple DirectMedia Layer) son a día de hoy casi una parte imprescindible de cualquier sistema Linux, así que sería muy raro que el vuestro no las incluyese en su instalación por defecto. Si se diera el caso, instaladlas mediante vuestro gestor de paquetes —Synaptic, Apt-get, etc—.

Para la instalación también os hará falta:

  • El entorno de ejecución Wine, para correr en Linux binarios de Windows.
  • CD-ROM original de Unreal, o los de Unreal Gold.
  • Instalador del parche 227. Hay varios, uno diferente para cada edición del juego.
  • Quizás necesitéis alguna de las actualizaciones antiguas de Epic, porque el parche 227 requiere la versión 224 de Unreal o superior. No temáis, esto se explicará más abajo.

Respecto a Wine, no deberíais tener problemas: es un programa popular y se hallará en los repositorios de cualquier distro de Linux digna de ese nombre. Sirve, como ya he dicho, para ejecutar en Linux utilidades de Windows, con resultados muy variados... Pero aquí sólo os hará falta para iniciar los instaladores de Unreal y los parches precisos, y esa tarea la cumple estupendamente.

¡A la tarea!

¿Ya lo tenéis todo? Voy a ir dividiendo el tutorial en pequeñas secciones, para que sea más fácil de seguir. Aunque tampoco se trata de un proceso complicado.

Instalación del juego

El primer paso es instalar Unreal en el disco duro. Metéis el CD-ROM en la unidad, abrís una terminal y, si estáis usando alguna distro vieja de Linux —como la mía—, lo "montáis" para que sea posible leer su contenido:

$ mount /dev/cdrom

De todos modos, en sistemas modernos esto no suele resultar necesario: los CD-ROMs se montan de forma automática al insertarlos. Así que, si podéis examinarlo con un explorador de archivos, está montado.

A continuación, entráis en la carpeta raíz del CD-ROM y ejecutáis con Wine el instalador original:

$ cd /mnt/cdrom
$ wine SETUP.EXE

No creo que nadie precise de ayuda para manejar un instalador de Windows, la verdad. Elegís la ruta de instalación que prefiráis —considerando que Wine simula unidades y directorios al estilo de Windows, de modo que C:\Unreal equivale a ~/.wine/drive_c/Unreal—, y los componentes a copiar, y vais clicando en "Siguiente" y viendo barritas de progreso. Desactivad UnrealEd y DirectX, que en esta ocasión no os servirán para nada.

Descargar y probar el parche 227

Con Unreal alojado cómodamente en vuestro disco duro, lo próximo que habrá que hacer es conseguir el parche 227. Se halla disponible en la página web de los autores, y viene en dos variedades: una para el juego clásico, y otra para la edición Gold —publicada algo más tarde, incluía la expansión, Return to Na Pali, y algún extra más—. Escoged la que corresponda.

El parche viene comprimido en un fichero de 7-Zip: en mi caso, UnrealClassicPatch227i.7z. Hay, pues, que guardarlo en la carpeta en la que hayáis instalado Unreal, y descomprimirlo en ella. Podéis usar para ello File-Roller, Ark o cualquier otro programa que sirva. Por ejemplo, P7Zip desde una terminal:

$ cd ~/juegos/unreal
$ 7za x UnrealClassicPatch227i.7z

Con esto habrá aparecido un nuevo archivo, llamado UnrealClassicPatch227i.exe: se trata del instalador del parche. Otro binario de Windows, que deberéis ejecutar mediante Wine:

$ wine UnrealClassicPatch227i.exe

La ventanita que aparecerá os preguntará por el idioma de los cuadros de diálogo del instalador. Ante la duda, elegid el inglés, el funcionamiento de los otros no está garantizado; a mí el proceso se me interrumpía con "fallos de protección general" usando el español. Después, se os pedirá que confirméis el directorio en el que se halla alojado Unreal.

Y a continuación pueden ocurrir dos cosas: que el parche funcione y se instale sin dar dolores de cabeza, o que proteste con el siguiente mensaje de error:

Tu versión de Unreal es demasiado vieja: actualízala.

Esta actualización requiere la versión 224 de Unreal o superior

Resulta que, tras su salida inicial a la venta, Epic siguió por un tiempo trabajando en el juego y mejorando detalles, así que existen varias versiones, con diferencias sutiles entre ellas. La primera que se publicó fue la 200, en mayo de 1998, y en los meses sucesivos llegaron las 223, 224 y 225, hasta terminar con la 226f en junio de 2000.

Pues bien, para instalar este parche 227 necesitaréis, como mínimo, la versión 224 de Unreal. Si la vuestra es más antigua, habréis de parchearla con alguna de las actualizaciones oficiales de Epic. En OldUnreal han tenido la amabilidad de poner a disposición del público los archivos requeridos.

Yo, por ejemplo, me descargué el UnrealPatch226Final.exe. Luego sólo queda ejecutarlo mediante Wine:

$ wine UnrealPatch226Final.exe

Y, una vez completada la instalación de este parche —recordad que debe acceder al CD-ROM original para copiar algunos ficheros—, volvéis a intentarlo con el 227.

Ahora sí, acabar con el parche 227

Francamente, queda poco que decir ya; se trata de un instalador de Windows más, sin nada de particular. Sólo aseguraos de marcar, en el tercer diálogo, las Linux native files. Cuando termine, el juego estará casi listo para usar.

El ejecutable para Linux se llama UnrealLinux.bin, y se halla dentro de la carpeta System de Unreal. Tendréis que darle permisos de ejecución, claro:

$ cd ~/.wine/drive_c/Unreal/System
$ chmod a+x UnrealLinux.bin

Estoy suponiendo aquí que lo habéis instalado en la carpeta C:\Unreal que proponía Wine. Y eso, insisto, equivale realmente a ~/.wine/drive_c/Unreal en vuestro sistema Linux (el símbolo ~ es una abreviatura que significa "directorio raíz del usuario actual"). No obstante, ~/.wine es una carpeta oculta de configuración que crea Wine, y acceder a ella cada vez que deseéis jugar quizás se os haga un poco engorroso. Algo que puede arreglarse creando un enlace simbólico en un sitio que os parezca más lógico:

$ ln -s ~/.wine/drive_c/Unreal ~/juegos/unreal

A mí, por lo menos, sí me gusta agrupar todos (bueno, casi todos) mis juegos dentro de una misma carpeta.

¿Y para comenzar por fin a jugar? Pues accedéis desde la terminal al enlace simbólico recién creado, y arrancáis el ejecutable:

$ cd ~/juegos/unreal/System
$ ./UnrealLinux.bin

Configuración

Si Unreal funciona bien la primera vez que lo iniciéis, ¡perfecto! De lo contrario, quizás tengáis que husmear en la configuración y efectuar algún ajuste. En Linux, esto se hace modificando un archivo de texto: Unreal/System/UnrealLinux.ini. Si por alguna razón no existe, el juego creará uno automáticamente con los valores por defecto. Podéis abrirlo con vuestro editor favorito; así luce un pedacito, como muestra, en Vim:

UnrealLinux.ini

La sintaxis resulta, como apreciaréis, muy simple: "Etiqueta = Valor". Las líneas que comienzan por punto y coma (;) son comentarios y carecen de efecto.

Ojeándolo un poco comprobaréis que Unreal es capaz de emplear diversos modos gráficos y de sonido —se trata de las opciones GameRenderDevice y AudioDevice, respectivamente—. Por ejemplo, entre los primeros tenemos:

OpenGLDrv.OpenGLRenderDevide:
OpenGL. El modo gráfico recomendado y el que se activa por defecto. Apto para la mayoría de sistemas.
SDLGLDrv.SDLGLRenderDevice:
OpenGL, pero usando las librerías SDL. Anticuado, y además desaconsejado por los autores del parche 227. De hecho, aunque lo especifiquéis en el archivo de configuración, el juego lo desestimará y usará el modo gráfico por defecto..., salvo que lo ejecutéis así: ./UnrealLinux.bin -NoForceSDLDrv.
SDLSoftDrv.SDLSoftwareRenderDevice:
Renderización por software, por si alguien posee una máquina sin aceleración gráfica. No resulta muy bonito, pero debería funcionarle a todo el mundo.
XMesaGLDrv.XMesaGLRenderDevice:
OpenGL a través de la librería Mesa. "Violación de segmento" en mi ordenador.
GlideDrv.GlideRenderDevice:
Glide es la API que usaban las viejas tarjetas gráficas de 3Dfx. Por si aún queda alguien con una de ellas...

Y ahora los posibles drivers de sonido:

ALAudio.ALAudioSubsystem:
Sonido mediante la librería OpenAL. Necesitaréis Fmod o SwFmod para la música. En mi sistema falla por alguna razón.
SwFMOD.SwFMOD:
Controlador de audio para los juegos basados en el motor del primer Unreal —los autores del parche 227 lo tomaron, al parecer, de Deus Ex—. Requiere la librería Fmodex.
FMODAudioDrv.FMODAudioDevice:
Sonido mediante la librería Fmod (en su versión 3.75). Recomendado. Además creo que se trata del valor definido por defecto.

En fin, si surgen problemas, seguramente tendréis que ir experimentando con estos valores hasta descubrir una combinación que os sirva. En mi caso, OSS, Fmod y OpenGL hicieron el milagro. Por supuesto, la Oldunreal 227 Linux FAQ puede orientaros.

Una nota acerca de las librerías

Esta versión 227 de Unreal en Linux no posee demasiadas dependencias, aunque algunas librerías —Fmod y MikMod— son un tanto exóticas y no vendrán instaladas en muchos sistemas. Por suerte, los autores del parche pensaron en ello, y adjuntaron todas las librerías requeridas en un archivo comprimido: lin_convenience_libs.tar.bz2, dentro de la carpeta Help del juego. Así que si os tropezáis con errores de librerías faltantes, sólo habrá que descomprimirlo y copiar los ficheros .so al directorio System.

Para entendernos:

$ cd ~/juegos/unreal
$ tar -jxvf Help/lin_convenience_libs.tar.bz2 ← Descomprimimos el paquete con las librerías.
$ cp -a lin_convenience_libs/* System/ ← Copiamos las librerías a System, respetando los enlaces simbólicos (-a).

Fin...

Pues sí, chicos, aquí termina este tutorial. Si os queda alguna duda que no he explicado, OldUnreal es vuestra página amiga.

Podéis ir en paz...


Capturas de pantalla de Unreal en marcha, para que veáis que efectivamente funciona. Tomadas en Vector Linux, en un Pentium 4 con 1'5 GB de memoria RAM. La interfaz gráfica usada, por si a alguien le pica la curiosidad, es UDE, el Unix Desktop Environment.

En esta primera imagen me dispongo a comenzar una partida deathmatch contra los bots, monigotes manejados por el ordenador:

Pantalla de selección del jugador.

Y ahora me encuentro ya en plena faena, jugando un nivel que construí hace muchos años y que representa una almazara —es decir, un molino de olivas para extraer aceite—. Aquí he dejado Unreal en una pequeña ventana del escritorio, pero por supuesto puede jugarse con resoluciones mayores o a pantalla completa:

Presentación del juego.

- Manual escrito por Eye del Cul en diciembre de 2013.


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