[Tutorial] Capitulo 2: Creación de Mapas

Para creaciones en base a otros FE o similares, así como preguntas o tutoriales.
Responder
Lord Solrac
Bard
Bard
Mensajes: 2040
Registrado: 13 May 2010, 21:45

Mensaje por Lord Solrac »

¡Saludos aspirante a ROM hacking!
En esta ocasión los instruiré en la creación, inserción y aplicación de mapas. Cabe destacar que un buen Hack necesita de eventos personalizados para que se adapten a la historia de este, sin embargo, si uno usara los mapas que ya están creados por el mismo juego, pues obliga al hacker a “restringirse” a la hora de crear los eventos. Por ejemplo: veamos el mapa del prologo del FE7.

Imagen
Un mapa pequeño (te obliga a colocar pocas unidades); un trono (te fuerza a protegerlo o tomarlo); llanuras (si quieres un mapa de castillo pues…) Esas son algunas limitantes cuando se usan los mapas por defecto del juego. Pero eso no será nuestra historia, si quieres saber como hacerlos pues sigue leyendo.

Requisitos:
-MappyWin32 (Patrones de Tileset incluidos)
-MAR array inserter
-Nightmare y sus módulo ChapterDataEditor, FE7 Event References
-Creatividad

Lo primero es abrir el programa y ver que hace:

Imagen
Un programa bastante completo, en ingles xD, muchas de sus herramientas ni las usaremos salvo por unas dos o tres. Ahora que ya esta abierto necesitamos crear un mapa nuevo así que iremos a Menú File/ New Map… (o Ctrl + M que es más rápido) al hacer esto se no pedirán ciertos datos o propiedades del mapa.
Imagen
Los primeros dos campos (Pixels Wide y Pixel High) nos pregunta que tan grande será un Tile. (Un tile es un “cuadro” donde “cabe” una unidad) El tamaño por defecto de los FE GBA es de 16x16 así que esos se colocarán ahí.

En los segundos campos (Tiles Wide y Tiles High) solicita el tamaño del mapa. Siendo el tamaño mas pequeño de 15x10 (el tamaño de la pantalla del GBA) hasta de 46x35 (no recuerdo bien el dato) 30x28 es el mapa más grande del juego. Esto ya depende de que tan grande desees tú mapa, pues el mío será un mapa pequeño de 15x10.

Una vez seleccionada las propiedades del mapa, ha llegado el momento de crear nuestro mapa. Aquí debes de hacerte ciertas preguntas:

-¿El ambiente?
Según se desarrolle la historia de tu Hack, eso ayudará a decidir. Ya que si necesitas batallas en el interior de un castillo, en las montañas, en el mar, en desiertos, cuevas, etc. Solo hay que aclarar que no puedes combinarlos. ¿Qué significa? Pues que solo puedes trabajar con los Tiles de un patrón, pero después hablare de esto.

-¿Habrán casas, pueblos, puertas, tile change?
Este punto es muy importante porque no todos los mapas pueden tener tile change, casas si, sin embargo las casas y pueblos necesitarán un puntero de texto. Lo pueblos también fosan a un tile change al igual que los troncos podridos y muros agrietados.

Ya decidió el mapa que harás pues es momento de hacerlo. Para ello necesitamos un Patrón de Tiles, así que cargaremos uno:
-Menú File
-Import… (Ó Ctrl + I que es más rápido)
-Busca la carpeta donde esta el programa MappyWin32
-Dentro de la carpeta habrán 3 subcarpetas con tileset (FE6 Tileset, FE7 Tileset, FE8 Tileset) depende del ROM que estés modificando. Yo trabajaré con el FE7 así que escogeré la carpeta FE7 Tileset
-Selecciona un Tileset de la lista, yo usaré el 10001112. Anota el numero del tileset (en este caso 10001112 ya que se necesitará luego)

Los tiles aparecerán a la derecha de la pantalla, aunque están un poco (demasiado) desordenados.

Imagen
Trabajar con esos tiles de esa forma es demasiado complicado, así que hay que ordenarlos. ¿Cómo se hace? Muy sencillo, primero maximiza la ventana y luego toma la esquina de la ventana de los tiles (donde dice “Still Blocks, (0/####)”) y arrástralo hacia la izquierda hasta que los tiles se agrupe y se reacomoden de una mejor manera. Así como la siguiente imagen.
Imagen
Así es mucho más sencillo trabajar ya que los tiles siguen un orden más específico. Para crear tu mapa solo da un clic en el tile que quieres y luego da otro clic en el “cuadro negro” que pronto será tu mapa.
Consejos de Cartografía:


-Balance:
Trata que todo sea armónico y que haga contraste.

-Sentido común:
Cosas como colocar un árbol dentro de un pueblo o una casa en el mar. Que el mapa tenga sentido y orden. Y no uses tiles “negros” o tiles con “números” ya que ni se pueden cruzar y el mapa se verá demasiado extraño.

-Sombras
Hay varios tiles que se ven iguales, pero al verlos mejor su paleta es mas clara. Estos sirven para hacer degradados y que las estructuras (como montañas o paredes de castillo) se vean más suaves y no un cambio brusco entre uniones.

-Montañas
Estas son las más difíciles de crear ya que no tiene una “forma” única y aunque puedes hacerlas de varias formas lo mejor es revisar mapas del juego para observar como están constituidas. Lo mismo va para las paredes de castillos, es mejor ver los mapas del juego.

Creando Pinceles (Brush)

Esta es una herramienta de Mappy muy útil, un pincel te ahorrará mucho trabajo cuando tengas que hacer tiles “repetidos” ¿Cuáles pueden ser tiles repetidos? La verdad hay varias veces en la que tendrás que repetir un conjunto de tiles como por ejemplo cuando se crea un pueblo. Como haz de saber los pueblos están formados por 9 tiles, si quieres hacer unos 5 pueblos entonces tendrías que “cliquear” en los tiles que forman un pueblo 5 veces, haciendo un total de 45 clic. Viéndolo de esa forma pues es un proceso largo sin embargo, si crear pinceles el trabajo se acorta. ¿Cómo hacer estos pinceles?

-Primero tienes que hacer el conjunto de tiles (ejemplo, un pueblo)
-Una vez creado, selecciona el Menú Brush
-Selecciona Grab New Brush
-El puntero te permitirá seleccionar el pincel (solo deberás colocar el puntero en la esquina del pueblo y “arrastrar” para “cubrir” todo el pueblo)
-Si lo haz hecho bien automáticamente te aparecerá una ventana donde te pide escribir el nombre del pincel (Coloca un nombre que lo identifique)
-Ahora selecciona el pincel (Menú Brush; *Selecciona tu pincel*)
-Da un clic en una parte del mapa y el pincel “creara” el pueblo

Imagen
Rename current brush
Permite cambiar el nombre al pincel seleccionado.

Destroy all brushes
Borra todos los pinceles.

Zoom
Como todo programa de edición grafica, es obvio que Mappy puede usar acercamientos y alejamientos. Para poder usarlos solo se necesita y al Menú Map Tools y seleccionar uno de los siguientes acercamientos:

-Zoom x 0.25
-Zoom x 0.50
-Zoom x 1 (normal)
-Zoom x 2
-Zoom x 4

Para crear tu mapa es recomendable que uses el Zoom x 2 para poder ver en detalle los tiles y poder hacer una mejor combinación de los mismos.

Imagen
Una vez terminado tu mapa es momento de guardarlo, Menú File / Save (o Ctlr + S) Ya que tu mapa esta guardado (en formato .fmp) hay que “convertirlo” a otro formato. Para hacerlo nos vamos al Menú File / Export… se desplegara un pequeño cuadro de dialogo donde tendrás que llenarlo de la siguiente manera:
Imagen
Export filename:
Coloca el nombre que quieras o déjalo como esta.

[_].Map Array (?.MAR)
Esta opción es vital que este marcada, ya que ese formato necesitamos.

[_] Current layer as big picture (?scrn.BMP)
Esta casilla es opcional, lo que hace es que crea una imagen de tu mapa pero en formato .bmp
Lo demás déjalo así no es necesario que las marques. Dale a [_OK_] y todo listo.

Con esto terminamos con MappyWin32 y es hora de usar la siguiente herramienta, el MAR array inserter esta pequeña aplicación insertará el mapa en la ROM para poder usarse en el juego.

Imagen
Muy sencilla, unas cajas de texto, numeric up/down y botones. Pero su función cumplirá tus sueños, los sueños de poder ver tu mapa personalizado en el juego.

MAR file:
Aquí buscarás el archivo “mapa”.mar que creaste en Mappy cuando hiciste la importación.

ROM:
Sencillo, el destino o la ROM donde se insertará el mapa personalizado.

Map size (X,Y):
Muy importante, estas son las medidas del mapa. Los valores que colocaste en Tiles Wide y Tiles High serán los mismos aquí. Si no recuerdas cuales fueron las medidas entonces (vuelve a hacer otro mapa XD) solo abre el mapa en MappyWin32 (el archivo “mapa”.fmp) y ve al Menú Map Tools/ Resize Map… (o Ctlr + R) y ahí verás las medidas. Width = X --- Height = Y

Offset:
El puntero del mapa, aquí deberás de colocar la dirección/offset. Lo recomendable es expandir el ROM, desde 0x1000000 empieza el espacio vacio. Es importante que guardes el offset del mapa ya que más adelante lo necesitarás.

Pulsa [_Run_] y espera el mensaje que dice Finished y ya esta. Tu mapa ha sido insertado exitosamente en la ROM. Pero esto no termina aquí, aun falta la última parte.

Puedes pasarte todo el juego pero tu mapa nunca es cargado, esto es debido a que el mapa existe pero la ROM aun no sabe donde esta. Bien, pasemos al Nightmare y su modulo Event Reference. Este modulo contiene una gran cantidad de offset sobre mapas, cambios de mapas, eventos, tiles y paletas.

Imagen
Lo primero que se necesita es decidir que mapa sustituir, en mi caso sustituiré el mapa del prologo, 0x04 Mapa Prologo cuyo offset es 0x836AF00. Como el mapa ya fue insertado, solo necesito “decirle” a la ROM donde buscar el nuevo mapa, donde dice Puntero/Pointer deberás de colocar el offset donde almacenaste tu mapa personalizado. Yo lo hice en 0x1000000 pero observa bien, no colocaré 0x1000000 ya que el juego no sabrá que hacer. Los punteros “expandidos” en Nightmare empiezan con 9 entonces mi puntero quedaría 0x9000000 sustituyendo el 1 por el 9, ¿Por qué se hace así? Por que así se me antoja xD no, el problema es que la ROM tiene su ultimo offset en 0xFFFFFF que convertido es 0x08FFFFFF al haber llegado al final hay que continuar con el 0x01000000 que convertido es 0x09000000 fin explicación.
Imagen
¿Pero, qué es esto? A parte del ensordecedor ruido, este es el mapa que aparece en el prologo, sin embargo, ni se acerca al mapa que cree. Tendré que hacer todo de nuevo…
¡¡Mentira!! El mapa fue cargado, pero con una configuración de Tileset diferente, el tileset original del mapa del prologo es 01000203 y, en mi caso, estoy usando el tileset 10001112. Si recuerdas, te dije que anotarás el tileset que usarás en el mapa que se creó en Mappy.

Ahora que ya se cual es el tileser que use (10001112) es momento de abrir otro modulo del Nightmare, el cual será ChapterDataEditor.

Imagen
Estas cuatro opciones serán la que modificaremos para que el mapa quede utilizable y listo para usar.

Primero debes seleccionar el mapa, como estoy con el del prologo entonces elijo 0x00 – Prólogo: mujer de las Llanuras. Luego usaré el Tileset (10001112) el cual dividiré en cuatro partes, quedándome: (10 – 00 – 11 - 12) y usaré estos datos para llenar los cuatro campos que están en el cuadro rojo.

Imagen
Solo falta guardar y revisar el mapa en el juego.
Imagen
¡Ohhhh! ¡Ese es mi mapa! Así es, una vez terminado pues el resultado es el mejor esperado. Claro está que Batta está sobre el pueblo y si me acerco a visitar los Pueblos o a la Armería pues ninguno servirá. Eso ya es creación de eventos personalizados que será el siguiente capítulo. Próximamente.

Ciel Séregon CE
Muse
Muse
Mensajes: 5497
Registrado: 12 Ene 2011, 12:12

Mensaje por Ciel Séregon CE »

Fantastico, son geniales tus tutoriales Solrac.

Ax Tenryuu
Wood Shooter
Wood Shooter
Mensajes: 4246
Registrado: 23 Dic 2010, 13:20

Mensaje por Ax Tenryuu »

Excelente, tenía pensado intentar hacer los mapas por mí mismo, pero de seguro me iba a quedar como ese desorden de montañas xD

Gracias por otro gran tutorial, Solrac-sensei :ok:

Eureka
Soldado
Soldado
Mensajes: 13
Registrado: 24 Ene 2012, 20:50

Mensaje por Eureka »

Como siempre, tus tutoriales son geniales!

Draxor
Asesino
Asesino
Mensajes: 818
Registrado: 05 Sep 2011, 23:19

Mensaje por Draxor »

Gracias por esto Solrac de veraz muchas gracias, Espero que llegue pronto tu proximo tutorial!

Chedude
Dark Prince
Dark Prince
Mensajes: 3837
Registrado: 23 May 2011, 14:04

Mensaje por Chedude »

gracias Solrac espero el proximo capitulo y cuand aprenda mas o menos voy a hacer mi Hack ^^

Kahx5
Domma
Domma
Mensajes: 2468
Registrado: 23 Ago 2011, 19:25

Mensaje por Kahx5 »

Muchas Gracias Solrac :D
Vere si algun dia hago un hack de Vocaloid o Katawa Shoujo (?)

Ike Emblem
_algo_va_aqui
_algo_va_aqui
Mensajes: 5737
Registrado: 07 Mar 2010, 13:48

Mensaje por Ike Emblem »

Realmente todos estos tutoriales merecían ponerlos como fijos xD Buen aporte.

Draxor
Asesino
Asesino
Mensajes: 818
Registrado: 05 Sep 2011, 23:19

Mensaje por Draxor »

^Que el lado bueno de RoyM te escuche

JuanM
Gran Ejemplo De Estupidez
Gran Ejemplo De Estupidez
Mensajes: 4062
Registrado: 15 Feb 2012, 13:39

Mensaje por JuanM »

No se por que pero cuando lo inserto aparece un ruido ensordecedor y todo se pone negro, ni siquiera cambiando la tile configuracion no se que hacer :S

blazt01
Bard
Bard
Mensajes: 2164
Registrado: 16 Ene 2011, 22:28

Mensaje por blazt01 »

Esta muy bueno el tuto me sirvio demaciado, pero tengo dos dudas.
1 porque se le agrega un cero antes a 0x09000000 esto osea > 0x"0"9000000
2 otra duda cual es el offest que sigue de 0x100000 esque si pongo 0x09000001 me rechaza :S

Lord Solrac
Bard
Bard
Mensajes: 2040
Registrado: 13 May 2010, 21:45

Mensaje por Lord Solrac »

1 - Es para que sea un offset de cuatro binomios o sea 0x 00 00 00 00 y queden 8 números y no 7

2 - Que número sigue después de $01000000 pues $01000001 xD
Solo una aclaración. Todo puntero que se escribe en el Nightmare y que empieza después de 0x1000000 se debe de sustituir el "1" y agregar un "9" por que... por que así debe de ser xD

Creo que ya lo dije antes en un tuto, si ves los punteros del Nightmare verás que son 0x8XXXXXX y el ultimo puntero es 0x08FFFFFF por eso, SOLO EN EL NIGHTMARE el siguiente puntero es el 0x09000000 pero en realidad en la ROM es 0x09000000

Otra cosa sobre punteros, es que DEBEN de terminar en 0, 4, 8, C si colocas 0x09000001 no es un puntero "valido" debe de terminar en cualquiera de los ya mencionados. 0x09000004

Leete este tutorial para entender más sobre el Hex
Capitulo 0: Conocimientos Básicos de Hex

Leaf Vessalius
No hago lo que prometi hacer
No hago lo que prometi hacer
Mensajes: 805
Registrado: 22 Mar 2010, 20:23

Mensaje por Leaf Vessalius »

Cuando el estudiante supera al maestro:') yo deje de hacer mapas hace mucho pero aun me acuerdo como hacerlos :D
Buen tutorial Solrac ;) pusiste cosas que no sabia:)
Última edición por Leaf Vessalius el 10 May 2012, 01:59, editado 1 vez en total.

JuanM
Gran Ejemplo De Estupidez
Gran Ejemplo De Estupidez
Mensajes: 4062
Registrado: 15 Feb 2012, 13:39

Mensaje por JuanM »

Perdona por molestar solrac, pero es que cuando inserto mi mapa aparece esto:

Imagen

D:

Que hago? hice todo lo que el tutorial me dijo pero no sirve.............

JuanM
Gran Ejemplo De Estupidez
Gran Ejemplo De Estupidez
Mensajes: 4062
Registrado: 15 Feb 2012, 13:39

Mensaje por JuanM »

Entonces ¿Cual es el error que tengo? D:

Responder