Muchas de las preguntas que nos llegan, se refieren al mundillo de los juegos bajo Linux: Hay juegos para Linux? Es fácil conseguirlos? Se pueden jugar los mismos en DOS/Windows que en Linux?. Es por eso que decidí escribir esta pequeña serie de artículos en los que profundizaremos en el tema, desde varios puntos de partida, pero indicando siempre los pasos para que al final de la nota, queden ustedes con un juego nuevo en sus Linux-boxes.

Emulando DOS y Windows

A propósito de las preguntas referidas a los juegos diseñados para otras plataformas: Es posible correr con cierto éxito los juegos de DOS y Windows, por medio del uso de emuladores. Para emular DOS, tenemos DOS-Emu y FreeDOS entre otros, y estos acompañan a casi cualquier distro, por lo que bastará con que los busquen en el Cd correspondiente, y una vez instalados, se dediquen a la lectura concienzuda de todos los HOWTOs y las FAQs que encuentren, ya que hacer funcionar en particular el sonido, o el modo protegido de memoria, puede ser desde bastante complicado a practicamente imposible, según la configuración de hardware y la suerte de cada uno.

En cuanto a la emulación de Windows, el proyecto más avanzado (el adjetivo maduro aún le queda algo grande) es el llamado Wine, que ha desmotrado ser bastante estable, una vez que se lo hace andar. Es posible correr aplicaciones bastante pesadas en cuanto a recursos, siempre y cuando la máquina base esté acorde a la circunstancia de correr Windows dentro de X Window. Al igual que en el caso anterior, lean el p@#$ Manual, y luego el HOWTO y luego las FAQs. En este caso es más fácil alcanzar el éxito. Para hacer funcionar un juego en particular, hasta es posible que encuentren documentación específica en tal sentido. Si hay algo de lo que uno no puede quejarse en Linux, es del soporte disponible. En algunos casos el juego deberá ser instalado desde Windows, y luego podrá correrse con Wine. Wine soporta sonido, DirectX, conexiones de redes, etc. etc. Una lista completa de todas las aplicaciones Windows soportadas por su última versión, juegos incluídos, puede encontrarse en su sitio (que, a propósito, es bastante impresionante).

Emulando las máquinas de juegos

Desde hace algún tiempo, se ha tenido la idea de emular una plataforma de hardware dentro de otra, es allí que nace la idea de los emuladores. Y Linux no podía quedar afuera de este movimiento. De este modo, es posible encontrar emuladores de Amiga, MSX, etc. Si llegamos un poco más alla en el tema, nos encontramos con otro hardware emulado, exclusivamente para juegos: las consolas. En este caso, los requerimientos de hardware de la PC-Linux pueden llegar a trepar un poco más debido a que la emulación de tal o cual chipset, no es siempre tan fácil sin consumir recursos. He oído hablar incluso de emuladores de Nintendo 64, aunque hasta ahora no he visto ningún resultado concluyente.

De más está decir el revuelo legal que la programación de estos emuladores ha creado por parte de ciertas compañías, en especial Nintendo, quien ha demandado por ejemplo a los creadores del emulador de SNES (Super Nintendo Entertainment System), hasta el punto de que deban dar de baja las copias en línea y páginas referidas al proyecto. Estos fueron hechos aislados que no lograron frenar la expansión de este tipo de proyectos sino que por el contrario, les dieron mayor difusión entre la comunidad de internautas.

Hace poco, mientras recordaba mis tiempos de estudiante (y los video-juegos en que desperdiciaba mis horas en aquel entonces), decidí investigar acerca de los emuladores de Arcade existentes bajo Linux, y aunque no encontré gran variedad, me topé con lo que buscaba. Un joven proyecto de portar a Unix un emulador ya existente para DOS/Windows, llamado MAME (Multiple Arcade Machine Emulator). Este proyecto se llama xmame, y pese a que es algo más pesado que su hermano para DOS, logra ingeniárselas para reconstituir el Hardware de las placas de los juegos Arcade de ayer, de hoy y de siempre. Pude jugar sin demasiados problemas al Pacman (Jr.), Tetris, Block Out, King Of Fighters, 1942, Green Beret, Commando y Street Fighter. En realidad los juegos soportados por xmame llegan casi a los dos mil, y a continuación veremos cómo hacerlo funcionar en nuestra Linux-PC.

Instalando xMAME

Bajamos el tarball (código fuente comprimido en .tar.gz o similar), y aunque sea algo rutinario para muchos, no está nunca de más repetirlo; lo descomprimimos en un directorio aparte, (A propósito es una buena costumbre tener un directorio downloads, install, o algo asi, en el que guardar estas cosas recien bajadas, que no se sabe si funcionarán o no) usando el comando tar xzv. Encontraremos una serie de directorios, entre los que figura doc. Les recomiendo se internen en el y lo lean a conciencia. Ya de vuelta, verán varios Makefiles. El archivo Makefile, siempre está presente en los directorios de los códigos fuente de cualquier cosa (lo habían notado?) para indicar las directivas de compilación al comando make. Ese comando sin parámetros buscará el archivo Makefile para las reglas. En este caso, podremos seguir varios caminos para compilar con éxito:

Crear un enlace dinámico a la copia de MakeFile que nos venga mejor (en este caso Makefile.unix), (usando el comando ln)

Renombrar (con mv) o copiar (con cp) aquel archivo a Makefile, o:

Ejecutar make -f Makefile.unix al momento de compilar.

Bien, como no leyeron la documentación, deberé mencionar que antes de compilar (si no intentaron hacerlo ya) había que modificar el Makefile, para cambiar algunas cositas. Xmame, soporta varios sabores de Unix, y varios soportes gráficos. En el caso de Linux sobre i386, sólo podemos elegir entre SVGALib o X11, en la línea correspondiente. Podremos cambiar también algunas otras cositas, sobre las que no haré mención dejándolas libradas a vuestra experiencia/curiosidad. Sólo tengan atención con el directorio donde buscará xmame las ROMs de los juegos. Será necesario contar con las librerías correspondientes a cada tipo de soporte gráfico (instaladas, por supuesto) además de zlib, y puede que alguna otra.

Otro comentario al márgen: muchas veces mientras compilemos cualquier programa, es posible que la compilación busque archivos de headers, objects, includes, etc. en determinadas trayectorias, que tendremos que definir en los Makefiles. En otras oportunidades, serán necesarios los fuentes de kernel instalados en /usr/src/linux para compilar con éxito, puesto que en el directorio includes, puede haber algunos enlaces apuntando a los fuentes del kernel.

Confío en que han compilado con éxito (y han tenido la paciencia). Ahora qué jugamos? Bien, la parte reutilizable de los juegos Arcade, son sus memorias ROM. Apuesto a que no tienen ninguna a mano... ni tampoco el hardware para guardar el contenido en disco duro... no hay problema. Pueden buscarlas a partir de los Links de la página del proyecto MAME, o -aunque esté específicamente prohibido- conseguir algún CD con ROMs compiladas.

Ejecutando xMAME

Ahora la ejecución es bien simple:

nombredelejecutable nombredela_rom [opciones]

El contenido de nombredelejecutable puede cambiar según hayan elegido durante la compilación: xmame.svga o xmame.x11. Lo más cómodo será hacer un enlace dinámico llamado xmame. Las opciones, las encontrarán en la documentación del programa, bien explicaditas.

Leyéndolas, me dí con que eran demasiadas, y entonces supuse: seguro que hay algún frontend. Y encontré algunos. TK-MAME, hecho en Tcl/Tk, aunque algo rebuscado, Gmame para Gnome, KmameRun para KDE, etc. Entonces decidí hacer algo más sencillo que tkmame, pero también en Tcl/Tk, para que no hubiera problema de correrlo sobre K, G o E. Es entonces que hago it-mame, otro de los tantos interfaces existentes, ojalá algún día a la altura de los otros. ;) Con cualquiera de estos, se ahorrarán el esfuerzo de agregar opciones a la línea de comandos.

Usando xMAME

Y para completar, las teclas por defecto dentro del juego son:

. 3: Para marcar fichas . 1 y 2: los botones para uno y dos jugadores . Tab: abre un menú con varias opciones para configurar . Tilde: (arriba de Tab, a la izquierda del 1), muestra los controles de Gamma, Volúmen, etc. . Teclas de Función: Tienen varias utilidades: capturar pantallas, resetear, cambiar paletas, etc.

En subsiguientes notas de esta serie, hablaremos de otros sistemas de emulación, así como juegos que corren nativamente en Linux, cómo se comportan, y cómo ponerlos en funcionamiento en tu máquina Linux. En la segunda parte, nos dedicaremos a la saga Quake en particular.

Agradecimientos

Colaboraron para la realización de esta nota: LeTaL y DrLecter

Links

Emuladores DOS/Windows

. Dos-Emu . Wine

Algunos Links donde conseguir CDs con ROMs compiladas:

. http://www.g-world.com/ . http://emu-mania.virtualave.net (Argentina)

Y algunas utilidades para verificar el estado de las ROMs:

. Ck-mame . Romalizer

Links de los Frontends para xMAME

. Gmame . FTP para descargar Kmamerun . TKmame . IT-MAME (en español)

Publicidad

© 2006 Planeta Linux Argentina. La fuente de recursos Linux desde 1999. Desarrollado por VivaServer.