Si hay algo que extrañar de otro sistema operativo, puede que sea el surtido de juegos 3D disponibles: muy pocas empresas han apostado por Linux como alternativa para sus productos; analicemos aquí los esfuerzos puestos por los fabricantes de hardware y los desarrolladores de software, para hacer de Linux una plataforma cómoda para la diversión.
Introducción
Entre las preguntas que a menudo se hacen los recién llegados, o los interesados en dejar las ventanas, están las relacionadas a los juegos y en particular para el caso que nos ocupa hoy, las que tienen que ver con la instalación (Se instalan como en Windows? Hay que compilar algo? La instalación es en consola, o en modo gráfico? Se usan los mismos CDs?), el surtido de títulos disponibles, y por último el soporte de placas con aceleración 3D (Tengo la placa xxx, hay drivers? vienen con la instalación? Donde se bajan? Cómo se instalan?). Una vez más, puede que las cosas no sean tan sencillas, pero eso no asusta a un buen gamer, sino todo lo contrario. En las secciones siguientes de esta breve nota intentaremos responder a estas inquietudes.
El material de prueba
Tomaremos para la pruebas de hoy un hardware mediano y sin demasiadas pretensiones, pero con buenos resultados en correr el software en cuestión en sus versiones Windows. Serán microprocesadores K6-2 a 450 MHz, y aunque hubiese sido interesante verificar las ventajas de cálculo en punto flotante de la familia Intel, dejaremos esas mediciones a los interesados en comprobarlas. Limitamos la RAM a 64 Mb para percibir mejor la performance del swapping, y para no poner peores las cosas, las placas cargan chipsets VIA (MVP3 y Apollo 598MVP). En la sección video de nuestros cobayos, descansan una RIVA TNT2 M64 (una alternativa modesta de NVIDIA, de uso muy generalizado por el bajo costo que la caracterizó desde el principio), contra una Voodoo3 3000 AGP (la mejor relacion rendimiento-costo, luego de la caida de aquella empresa, a fines del año pasado).
En cuanto al software, si bien existen actualmente unos cuantos juegos comerciales disponibles para Linux, sólo probaremos el Unreal Tournament, el Soldier of Fortune y la saga completa de Quake (Quake I, Quake II y Quake III Arena). A medida que describamos las peculiaridades y el comportamiento de cada uno iremos salvando las cuestiones de las que habláramos al principio.
Sobre los drivers y otras yerbas
Aprovecho para comentar un poco el tema de los drivers. No vamos a discutir sobre las capas de software que median entre el juego y el hardware, la filosofía cliente-servidor, las extensiones del servidor, módulos, XAA, DRI u otros temas por demás apasionantes, pero sí diremos lo que hay que saber sobre el soporte de hardware acelerado. A excepción de Red Hat 7.0, que provee algo de aceleración para máquinas i810, y unas pocas más, no hay ninguna distro con un soporte 3D Out of the box al nivel que se requiere para correr un juego que aproveche tales bondades.
Comencemos por describir los drivers para 3dfx. La última versión disponible es para DRI, el soporte de aceleracion de XFree86 4.x (la arquitectura para las versiones anteriores, es decir 3.3.x, se llamaba XAA). Este driver contiene tres partes: un servidor XFree86 que manipula las llamadas gráficas, un driver DRI que es un módulo para el kernel, y por debajo de todo, el driver que manipula MesaGL 3.x sobre Glide 3.x. Aquí cabe mencionar por ejemplo, que nuestro Quake2 para Mesa2, no funciona con Mesa3. Los drivers para 3dfx tienen soporte toda la línea, desde Voodoo Rush, hasta Voodoo5 5500.
Para el caso del hardware NVIDIA, continuando con la teoría del driver universal que implementan en Windows, podemos encontrar un driver binario para XFree86 3.3.x y otro para XFree86 4.x, además de un módulo para el kernel, disponible en varios formatos, como tar o rpm. Dicho driver soporta la linea completa de Rivas, e incluso Geforce 2 MX. Las últimas novedades de la version 0.9.6 informaban sobre un rendimiento aún peor sobre chipsets VIA. Pueden encontrar buenos comentarios sobre el progreso de estos drivers en Evild3D, o ir directamente al sitio de descarga.
De manera similar, la gente de ATI -que ha trabajado en colaboracion con Precision Insight para el desarrollo de la Arquitectura de Renderizado Directo- provee aceleración para sus placas Rage Pro y Rage 128, a través del proyecto Utah-GLX, también basado en MesaGL para lograr compatibilidad OpenGL, sobre servidores XFree86 3.3.x. El hardware Matrox, como las G200, G400 y G450 puede acelerarse usando las mismas librerias. Si el caso es correr sobre un servidor XFree86 4.x, todo el hardware que mencionó se acelera con el DRI que ya está inlcuido, aunque de seguro que el hardware algo desactualizado, como las Voodoo2 o anteriores, nunca se soportan con la nueva arquitectura.
[PAGEBREAK]
Unreal Tournament
Un aspecto importante de UT, al menos en Windows, es la modestia de sus requerimientos en relación a los alucinantes graficos que propone (no requiere AGP y puede correr de un modo bien aceptable, sobre placas S3 o SiS, con 2 o 4 Mb de RAM). Si bien en Linux no es tan así, utilizando los drivers y librerias correspondientes, podrá bastarnos con una Voodoo Banshee, mientras que para el resto de las placas, el pilar del éxito será la compatibilidad con OpenGL.
Volviendo al juego en particular, para instalarlo necesitaremos un CD de los disponibles para Windows más un binario de instalación disponible en el sitio de soporte de UT para Linux, que es mas bien extraoficial. En ese sitio, encontrarán tambien algunos parches necesarios para mejorar el soporte de ciertas placas, sonido, etc. Es muy importante aunque sea repasar la documentación del sitio, en la que se indica las modificaciones que se deben hacer al archivo UnrealTournament.ini y las librerías que podemos necesitar antes de intentar ninguna otra cosa. Si bien el sitio no se mantiene más desde enero, encontraremos todo lo necesario para poner UT a brillar en nuestra box. El rendimiento ha sido definitivamente superior sobre el hardware 3dfx, pero en Windows se pueden ver 2 o 3 fps más...
Soldier of Fortune
El rendimiento que hayamos obtenido con los juegos que comentamos en las otras secciones de la nota, o incluso algún otro que hayan probado, no dice absolutamente nada sobre el rendimiento de SoF sobre nuestro equipo. Este juego -pese a no tener un esfuerzo tan delicado como el de UT en los gráficos para obtener realismo- tiene una máquina gráfica realmente pesada. Correr SoF sobre cualquier PC es una prueba para determinar si los drivers están configurados como se debe; recordemos que el hardware más poderoso no sirve de nada sin unos drivers que funcionen decentemente.
El juego -que ocupa unos 700 Mb en disco- muestra un importante esfuerzo por mejorar la calidad gráfica de los modelos y evitar los muñecos de gelatina de KingPin, por ejemplo. Aquello, sumado a un delicado trabajo en la complejidad de los escenarios, armas y heridas de gran realismo, la IA de los enemigos, un argumento serio y todo un perfil psicológico para el protagonista (un tal John Mullins) logran que hablemos de un producto fuera de serie.
Este juego es desarrollo original de Raven Software y fué uno de los portes de Loki. Como tal, no podíamos pedirle menos, el trabajo de portacion desde Windows ha sido impecable, entregándonos un juego listo para correr usando SDL para video y OpenAL para audio, sin mayores inconvenientes. El comportamiento del juego ha sido bastante aceptable, en ambas configuraciones, acercándose mucho al rendimiento bajo Windows. El juego en red funciona sin inconvenientes, y aunque recarga la red un poco más que Unreal Tournament, no hablamos de un tráfico excesivo (héte ahí otra perla de UT: un aprovechamiento estricto de cada paquete que circula por la red). La instalación se lleva adelante a través de la herramienta de instalación desarrollada en GTK por Loki disponible bajo licencia LGPL, y no presenta inconvenientes de ningún tipo. Este comentario se hace extensivo para UT y Q3A.
En cuanto a las variantes de juego, aunque no ofrece mapas tan exóticos como UT o Q3A, el realismo de los escenarios, junto al de los armamentos y algunos agregados como el Daño Realista, convierten a SoF en una experiencia interesante, en modo multijugador. Para finalizar con el tema, aunque se habló de proyectos de portar el SDK para desarrollo de plugins/mapas/modulos para el juego a Linux, no parece que vayan a cundir paquetes desarrollados por usuarios para SoF, a diferencia de los otros juegos.
[PAGEBREAK]
La saga Quake
Este juego en sí mismo ocupa un lugar aparte en la historia de los juegos 3D. Desde su contenido y atmósfera, toda una tradición desde el inicio, ha movido pasiones y marcado hitos como pocos. Si bien la primera parte de la saga puede haber quedado algo desactualizada ya por la calidad de sus gráficos, vamos a comentar sus bondades de todas maneras.
Quake 1, cuyo código fuente se ha hecho disponible, es aún hoy garantía de diversión sin necesidad de placas de video importantes, ni grandes cantidades de disco. Sus requerimientos archi-modestos hacen que pueda correrse en placas PCI con 1 o 2 Mb de RAM sin inconvenientes. Y si a esto le sumamos la cantidad de mapas y parches que los fanáticos del juego han desarrollado a lo largo de años, no queda más que decir. Para correrlo necesitareos SVGALib y opcionalemente X, aunque la primera alternativa es algo más rápida. Existe inclusive una versión con soporte GL, pero sólo corre sobre hardware 3dfx. Su instalación no incluye interfaces gráficos de ningún tipo, y aunque no presenta graves inconvenientes, les recomiendo la lectura del HOW-TO correspondiente. En él encontrarán ademas de los detalles de configuración del juego, servidores, etc. links a sitios con mods y parches. Aquí en Planeta Linux Argentina hemos canalizado nuestro ocio durante largas horas ayudados por un excelente parche para Quake 1, bautizado Killer Quake Pack.
En cuanto a Quake 2, el siguiente capítulo de la historia, si bien fuera de algunas sustanciales mejoras en el motor gráfico -que dieron orígen a una larga saga de clones- y de la pasmosa música de Nine Inch Nails, no nos ofreció mucho más. Su continuidad dentro del estilo marcado por la primera parte le convirtió en un agradable entremés hasta la venida de Arena, permitiendo también el diseño de numerosos parches y mapas. Los detalles de su configuración, también se encuentran en el HOW-TO que menciono en el párrafo anterior, y aunque sus pretensiones en cuanto a requerimientos llegan un poco más lejos, no hay nada de que asombrarse: no es preciso AGP ni nada parecido. Comentamos estos juegos para recordar buenos tiempos en primer lugar, y en segundo para mostrar juegos que pueden correr muy bien en hardware algo añejo, que en muchas oportunidades vuelve a la vida gracias a Linux.
Nos dedicaremos ahora a Quake 3 Arena. Sin duda, el producto gráficamente mejor logrado de id Software, y por ende, el de mayores requerimientos. Correrlo sin hardware acelerado es imposible, y aunque el comportamiento es aceptable con 64 Mb de RAM, un sistema con 128 Mb será lo ideal. Hemos podido obtener resoluciones de hasta 1024x768 32 bits, sobre servidores 3.3.x y 4.0.0, con ratios de refresco bastante razonables. Para este juego en especial, la diferencia de rendimiento entre el hardware 3dfx y el NVIDIA no ha sido tan notable. Una vez más sin embargo, es necesario tener algo más de hardware en comparación con Windows para obtener resultados agradables. Los detalles definitivamente agradables de las texturas y modelos utilizados, hacen de Q3A una necesidad. Está disponible una versión del juego para instalar en Windows y otra en Linux, pero consiguiendo los ejecutables cruzados no hay inconvenientes en usar uno u otro producto. Un detalle agradable es el hecho de que las configuraciones de teclado, etc., se guardan en el directorio /home de cada usuario, en un directorio .q3a, por lo que a diferencia de los juegos anteriores, cada usuario puede llevar sus propias preferencias y estadísticas por separado. Para quienes no se atreven a comprar el juego, puede bajarse una demo de Quake 3 Arena, y obtener una idea aproximada del comportamiento del juego en su sistema (solo 10Mb).
Otras alternativas
Desde luego, los anteriores no son los únicos juegos 3D disponibles para Linux, de hecho se desarrollan constantemente portes nuevas. Sólo por mencionar algunos, podemos encontrar Descent III, Myth II, Heavy Gear II, etc., sin contar los juegos que con un poco de paciencia, se pueden correr usando Wine (el emulador de Windows). Cabe mencionar también a Parsec, proyecto de juego en 3D de combate a espacio abierto con todas las características de un producto comercial, pero distribuible libremente, y además multiplataforma.
Después de las comparaciones con el rendimiento en Windows puede que no nos quede un sabor tan alentador, pero hay que tener en cuenta factores tales como la inmadurez de los drivers, la constante evolución de puntos críticos del sistema como el kernel, las librerías base, el servidor XFree86, etc., que a paso lento pero seguro harán de Linux una plataforma ágil para ese tipo de aplicaciones, tan ávidas de recursos. Con todo, jugar en Linux va dejando de ser un esfuerzo, para convertirse en un placer, como cualquier otra tarea que se emprenda bajo su sombra.


Links