Últimos detallesTal y como tenemos el minijuego MUGEN ya casi está terminado, pero aún podemos retocar ciertas cosas para dejarlo perfecto y a nuestro gusto. Tamaño de los personajesComo estos personajes provienen de diversos juegos a veces nos podemos encontrar de que un luchador está desproporcionado en relación con los demás personajes del juego. Hay dos maneras de dejarlo a nuestro gusto: 1. Editando el archivo .CNS del personaje con Wordpad o Bloc de Notas. Este archivo contiene el siguiente parámetro: [Size]xscale = 1.0yscale = 1.0 Si aumentamos el valor, el personaje crecerá, y si lo disminuimos, encogerá. No tiene misterio ninguno. Se utilizaba con las versiones antiguas de MUGEN. Los cambios se aplican solo a el personaje en combate, no afeca a los portraits.2. Editando el archivo .DEF del personaje con Wordpad o Bloc de Notas, y añadiéndole el siguiente parámetro:[info]localcoord =Este nuevo parámetro es exclusivo de la versión 1.0, y para mí es mucho más sencillo de usar que la anterior. Le indica cuál es el tamaño de pantalla al personaje: a más tamaño más pequeño se verá el luchador, a menos tamaño más grande se verá. En este caso el cambio sí afecta a todo el paquete de píxels, por lo que es mejor establecer los valores del parámetro antes de empezar a tocar los portraits. Unos ejemplos. Sin usar localcoord:Para hacer el personaje más grande podríamos poner por ejemplo localcoord = 240,180¿Por qué “crece”? Porque estos personajes fueron diseñados para pantallas con resolución a 360X240 píxels, así que si le indicamos que la pantalla es más pequeña el personaje aparecerá más grande. Para encoger el personaje lo hacemos al revés, aumentamos los valores por encima de 360 y 240 píxels. Localcoord = 480,360 Esos son los valores que suelo poner a mis personajes en los juegos para pantallas a 16:9. Pero podemos seguir aumentando los valores sin límite. Ejemplo de localcoord = 1280,720En MUGEN 1.0 lo mejor es utilizar el localcoord, pero si ya tienes los portraits hechos y no quieres hacer doble trabajo, la función de [scale] sigue siendo válida también en esta versión. Cambiar el tipo de letra o añadir más tipos de letrasLas letras se utilizan a lo largo de todo el juego, y se determinan en los archivos System.DEF (menús y pantallas) y Fight.DEF (lifebars). En este caso voy a añadir un nuevo tipo de letra a las barras de vida, el archivo MIKUname.fnt que colocaré en el directorio TMNT\Font. Para añadirla al Fight.DEF tan solo tengo que editarlo y añadir la siguiente línea: [Files]sff =data/tmnt/fight.sffsnd =data/tmnt/fight.sndfont1 =data/tmnt/font/mshsys.fntfont2 =data/tmnt/font/mshtimer.fntfont3 =data/tmnt/font/mshsmall.fntfont4 =data/tmnt/font/mshcombo.fntfont5 =data/tmnt/font/mshbig.fntfont6 =data/tmnt/font/mshname.fntfont7 =data/tmnt/font/MIKUname.fnt Como puedes ver cada tipo de letra tiene asignado un único número, si le pusiéramos el mismo número a dostipos de letras el juego fallaría o no mostraría los textos. Ahora tenemos que indicarle qué letra debe usar con los nombres en las barras de vida. Para ello iremos al siguiente párrafo: [Name]p1.pos = 161,53 p1.name.font = 6,0,1p1.name.layerno = 0 p2.pos = 476,53 p2.name.font = 6,0,-1p2.name.layerno = 0 donde pone name.font, el primer dígito indica el tipo de letra. Lo cambiamos, poniéndole la nueva:[Name]p1.pos = 161,53 p1.name.font = 7,0,1p1.name.layerno = 0 p2.pos = 476,53 p2.name.font = 7,0,-1p2.name.layerno = 0 Y al ejecutar el juego veremos los cambios. Además de cambiar su posición, podemos añadir más parámetros para ajustar las letras, por ejemplo: [Name]p1.name.scale = 0.5,0.5p2.name.scale = 0.5,0.5Y el resultado:En fin, sencillo de hacer. Podemos cambiar el tipo, el tamaño y la posición de las letras del juego en menús, intros, endings, pantallas de selección, barras de vida, etc. Modificación de menús1. Menú principalEn el System.DEF encontraremos el siguiente párrafo: [Title Info]fadein.time = 10fadeout.time = 10menu.pos = 320,310 menu.item.font = 6,0,0menu.item.active.font = 6,0,0menu.item.spacing = 0,50menu.itemname.arcade = "STORY"menu.itemname.versus = "1P vs 2P"menu.itemname.teamarcade = "STORY - TEAM MODE" menu.itemname.teamversus = "1P vs 2P - TEAM MODE"menu.itemname.teamcoop = "1P and 2P vs CPU - TEAM MODE" menu.itemname.survival = "SURVIVAL MODE" menu.itemname.survivalcoop = "SURVIVAL COOP MODE" menu.itemname.training = "1P vs 2P - TRAINING MODE" menu.itemname.watch = "CPU vs CPU - WATCH MODE" menu.itemname.options = "OPTIONS"menu.itemname.exit = "EXIT"menu.window.margins.y = 20,20 menu.window.visibleitems = 1 menu.boxcursor.visible = 0menu.boxcursor.coords = -48,-10,47,2 cursor.move.snd = 100,2 cursor.done.snd = 100,1 cancel.snd = 100,5Bien. Lo primero es que podemos quitar modos de juego (menu.itemname) de la pantalla, dejando solo aquellos que nos gusten, borrando el texto que hay entre las comillas. También podemos cambiar el texto y poner el que más nos convenga. Podemos también cambiar el tipo de letra, el espacio entre líneas, el número de líneas visibles, la posición del menú, etc. Después de hacer las modificaciones mi texto queda así: [Title Info]fadein.time = 10fadeout.time = 10menu.pos = 510,110menu.item.font = 9,0,0menu.item.active.font = 9,0,0menu.item.spacing = 0,20menu.itemname.arcade = "STORY"menu.itemname.versus = "1P vs 2P"menu.itemname.teamarcade = "STORY - TEAM MODE" menu.itemname.teamversus = "1P vs 2P - TEAM MODE"menu.itemname.teamcoop = "1P and 2P vs CPU - TEAM MODE" menu.itemname.survival = ""menu.itemname.survivalcoop = ""menu.itemname.training = "1P vs 2P - TRAINING MODE" menu.itemname.watch = "CPU vs CPU - WATCH MODE" menu.itemname.options = "OPTIONS"menu.itemname.exit = ""menu.window.margins.y = 20,20 menu.window.visibleitems = 11menu.boxcursor.visible = 1menu.boxcursor.coords = -48,-10,47,2 cursor.move.snd = 100,2 cursor.done.snd = 100,1 cancel.snd = 100,5Como este juego va a ser utilizado en una máquina recreativa con PC, he eliminado la opción EXIT, ya que el juego se quitará con front-end, y también dos modos de juego que no voy a utilizar. El resultado:2. Pantalla de selección de personajeAl igual que en el menú principal en el System.DEF podemos cambiar el tipo de letra, su tamaño y su posición, solo tenemos que buscar los parámetros correspondientes y cambiarles los valores. Pero en este menú tenemos algo más: los portraits de los personajes. Lo primero es determinar cuántas filas y columnas queremos, y en qué posición de la pantalla estará. Esto se hace en los siguientes parámetros: [Select Info]rows = 20 columns = 9pos = 145,93 showemptyboxes = 0 moveoveremptyboxes = 0 Lo normal es trabajar con el parámetro showemptyboxes con valor 1, así veremos cómo queda el menú con las casillas activadas, y una vez terminado todo el juego, ponerlo de nuevo con valor cero. Ejemplo de pantalla con valor 1: ¿Cómo determinamos en qué casilla va cada personaje? Lo hacemos en el Select.DEF, en el párrafo [Characters], las líneas determinan el orden de aparición. Por ejemplo, en este caso habrá cuatro líneas con un guión (indica casilla vacía), y la quinta será donatello, la sexta será Leonardo, y luego siete líneas con guión hasta el siguiente personaje. De esta manera: [Characters] ----donatello, random, order=1 Leonardo, random, order=1 -------Raphael, random, order=1 Michaelangelo, random, order=1 -------april, random, order=1 casey, random, order=1 -------randomselect randomselect ----robo, random, order=2 0D_RatKing, random, order=3 Sisi, random, order=3 TN-Ninja, random, order=2 Wingnut, random, order=3 cyber_shredder, random, order=4 mini_krang, random, order=5 Como se puede observar en la imagen anterior podemos hacer líneas o columnas fuera de pantalla. Eso nos vienemuy bien si queremos colocar personajes ocultos, solo el que sepa de su existencia podrá jugarlo. En el System.DEF también podemos modificar el tamaño de los portraits, tanto del grande como del pequeño, la separación entre cada celda del portrait, etc. En mi caso se va a quedar tal y como está. Hay más pantallas que podemos retocar, como las versus, los endings, etc. Las que trae el juego por defecto se encuentran todas en el System.DEF, pero si examinamos un poco ese podemos añadir más pantallas. En mi caso suelo añadir la Logo.DEF (una pequeña intro con un mensaje de carga y otro de advertencia), y la Gameover.DEF. Añadir portraits a personajes que no los tienenA todos los personajes se les asignan los mismos valores para los sprites de los portraits: 9000,0 para el pequeño9000,1 para el grandeEstos valores no se deben cambiar, son la identificación de los sprites en el System.DEF para los portraits. Si los cambiamos el personaje usará sprites erróneos o directamente no funcionará. Los valores significan grupo (9000) y número de sprite. Si al abrir el paquete .SFF de nuestro personaje nos encontramos con que éste carece de portraits, podemos añadirlos desplegando la pestaña Sprites y pinchando enAñadir.Una vez seleccionado el archivo de imagen, nos pedirá que introduzcamos los datos. En la imagen estaba poniéndole el portrait grande, así que los valores son grupo 9000 e imagen número 1. No olvidemos colocar correctamente la imagen con respecto al eje de la pantalla. Una vez salvados los cambios nuestro paquete de sprites estará listo, y la próxima vez que iniciemos MUGEN los portraits aparecerán en pantalla. Y realmente poco más puedo explicar sobre este juego. Hay muchísimas cosas que se pueden hacer: crear tus propios personajes desde cero, animaciones, vídeos, etc. Pero como dije desde el principio del tutorial, mi intención es solamente enseñar cómo hacer lo más básico: ensamblar un MUGEN a partir de personajes, escenarios, screenpacks y otros elementos ya terminados. Espero que el tutorial te haya resultado de utilidad.