06 d’octubre 2010

Jugar al MUGEN a Linux

El MUGEN és un motor per crear jocs de lluita a l'estil clàssic 2D. Va sortir ja fa una pila d'anys i va generar una gran comunitat al seu voltant.
La gràcia del joc era que podies afegir escenaris i lluitadors d'altres jocs de lluita populars que la gent "capturava" i re-programava per poder-los utilitzar al Mugen. Així es feia realitat un somni de qualsevol aficionat al jocs de lluita: enfrontar personatges de Street Fighter, Mortal Kombat, King of Fighters... etc. en un sol joc.

Fa poc que Elecbyte, l'empresa que el va programar originalment ha tornat amb una nova versió amb noves característiques, com el poder funcionar a alta resolució. De moment, però, no hi ha versió per a Linux, així que en aquest article explicaré com instal·lar i resoldre els problemes típics de l'antiga versió disponible per al nostre sistema GNU.


Instal·lació
El primer pas és descarregar el programa, ja que no es troba als repositoris de Debian o Ubuntu (i de cap altre que jo sàpiga).
El podeu trobar aquí . Existeix també una versió empaquetada com a .deb, aquí.



Configuració
No entraré en com afegir personatges, escenaris o screenpacks, ja que això està de sobra explicat a la xarxa.
Sí que farem però un parell de modificacions que milloraran força l'aspecte del joc.
La primera és canviar la resolució per defecte, que és molt petita.
Obriu el fitxer mugen/data/mugen.cfg i canvieu aquests valors:

[Video Linux]
 ;Enter the width and height of the resolution you want to set here.
 ;The optimal resolution is 320x240, but if your video card has problems
 ;You may want to try 640x480.
Width  = 1015
Height = 720
 ;Set this parameter to use a resolution-doubling filter. You will
 ;need a fast machine to use these filters. You will need to increase
 ;the screen resolution to at least 640x480 for these modes.  ;0 - off  ;1 - diagonal edge detection
 ;2 - bilinear filtering
 ;3 - horizontal scanlines
DoubleRes = 4
Podeu ajustar la resolució als valors que més us convinguin. Es tracta d'anar provant la configuració més adient.

Veureu que per defecte el joc funciona en mode debug. Per desactivar-lo canvieu aquest valor al mugen.cfg:

[Debug]
 ;Set to 0 to disable starting in debug mode by default.
Debug = 0

Problemes típics

- No funciona l'àudio
Aquest problema m'ha tingut apartat del Mugen fins fa ben poc. Què succeeix? Encara que canviïs les opcions de so del programa el cas és que no se sent res i a la consola apareix l'error "Initializing sound...failed to init hardware".
Això passa perquè el programa espera trobar com a dispositiu d'àudio a /dev/dsp utilitzat pel sistema OSS. Si el que teniu com a sistema de so és ALSA el que cal fer és carregar els mòduls d'emulació de OSS: snd-pcm-oss, snd-mixer-oss i snd-seq-oss. A Debian existeix el paquet oss-compat que fa exactament això, de forma automàtica.
Si feu servir gnome i teniu activat el ESD segurament l'haureu d'aturar perquè funcioni el so.

Nota: Jo no he pogut activar la música midi ja que el mòdul snd-seq-oss dóna error al carregar. De moment no he trobat solució per aquest problema.

- No funciona el joystick
Un cop connectat el gamepad el sistema hauria de crear un dispositiu com per exemple /dev/input/js0 . Heu de calibrar-lo i provar-lo, amb les utilitats jscal i jstest (paquet joystick) o gràficament amb el programa jscalibrator.
El mugen va a buscar el joystick a /dev/js0 (i /dev/js1 per al segon jugador) i si no coincideix amb la ruta del sistema (com passa amb l'exemple anterior) no funcionarà.
La solució és crear /dev/js0 com un enllaç simbòlic que apunti al vostre dispositiu (en aquest cas /dev/input/js0).

codi: ln -s /dev/input/js0 /dev/js0
Seguidament heu de treure i tornar a carregar el mòdul joydev perquè funcioni correctament... i llest!
Cada cop que reinicieu es perdrà l'enllaç, per tant és una bona idea automatitzar-lo amb algun script.


- Molts "chars" i "stages" no funcionen
Us trobareu moltes vegades amb aquest problema. A la versió ms-dos o windows es carreguen correctament però al vostre linux fallen i es tanca el programa.
L'arrel del problema es troba en una diferència bàsica entre els sistemes unix i els sistemes windows: mentre que els primers fan distinció entre majúscules i minúscules, els de microsoft no, i tant dona una "a" com una "A".
Així doncs quan us falli un personatge el primer que heu de comprovar és que el nom de la carpeta es correspongui amb el nom de l'arxiu .def contingut:
/mugen/chars/Ryu/ryu.def   no funcionarà
/mugen/chars/00Leona/00Leona.def   és correcte.

Per desgràcia poques vegades es presenta aquest cas i s'ha de passar al següent pas.
L'arxiu .def inclou un llistat dels diferents arxius que componen el personatge: moviments, imatges, sons, paletes de colors...
Aquest és un arxiu .def típic (cammy.def):

[Info]
name    = "Cammy"

[Files]
cmd     = cammy.cmd
cns     = cammy.cns
st      = cammy.cns
stcommon = common1.cns
sprite  = cammy.sff
anim    = cammy.air
sound   = cammy.snd
pal1    = cammy1.act   ;Light Blue
pal2    = cammy2.act   ;Fuschia
pal3    = cammy3.act   ;Forest Green
pal4    = cammy4.act   ;Blue
pal5    = cammy5.act   ;Purple
pal6    = cammy6.act   ;Neon Green

L'apartat "name" és el nom en pantalla del personatge i pot ser qualsevol text que vulguem.
El que ens importa son els arxius anomenats sota [Files]. Si al carregar el "char" falta algun d'aquests arxius el Mugen es tancarà.
A la majoria de gent que juga a Mugen sota windows no l'importa tenir arxius anomenats "CAMMY.SFF" o "cammy3.ACT", però a nosaltres sí.
Tant fa si deixes els noms d'arxiu en majúscules o minúscules, el cas es que siguin iguals que els que apareixen en aquest fitxer.
Canviar-los a ma pot ser molt farragós així que convé fer ús d'eines de reanomenament massiu d'arxius, com el pyRenamer.

Un cop superats aquests problemes podreu gaudir finalment d'uns bons combats com els d'abans!

Cap comentari:

Publica un comentari a l'entrada