Registrarse

[Map Editing] FR | Comportamiento de los overworlds

Inferno

Miembro insignia
Miembro insignia
INTRODUCCIÓN

Este tutorial quizás vaya más enfocado a gente menos experimentada, pero quién sabe, a lo mejor alguien desconocía alguna de las cosas que se van a decir aquí.
En lo que va a consistir es en aprender a usar mejor los movimientos, es decir, los diferentes comportamientos de los NPC's (conocidos también como minis/overworlds) mediante el Advance Map y el scripting.
El tutorial está basado en la ROM Fire Red.

Sé que existe algún otro tutorial en la comunidad inglesa y, aunque crea que este esté un poco más completo y no se trate de una traducción, si que me he basado en ciertas cosas, por lo que dejaré el link para que le echéis un vistazo: https://www.pokecommunity.com/showthread.php?t=306481
Créditos a Spherical Ice por haber realizado previamente un tutorial de este estilo.



ENTRANDO EN MATERIA

Bien, para todos los que os estáis preguntado que qué es eso de los comportamientos de los minis y para qué me pueden servir, os voy a explicar muy brevemente de lo que va.

Como muchos sabréis, cuando vais a configurar un mini en Advance Map siempre le ponéis un "Tipo de movimiento", es decir, le asignáis a ese NPC una comportamiento establecido, que, como podréis ver en el siguiente gif, van desde un comportamiento "estático" (todo lo que no implique un cambio de posición, OJO, no es lo mismo no moverse a no cambiar de posición, siendo posición sus coordenadas) a un comportamiento dinámico (implica un cambio de posición).


Como podréis comprobar aquí tenemos 5 tipos de comportamientos:
  • El científico: Este posee un comportamiento dinámico, en concreto lo que se le ha indicado es que camine de izquierda a derecha.
  • El karateka: Su comportamiento, aunque parezca dinámico, es estático pues permanece siempre en la misma casilla.
  • La chica: Tiene un comportamiento dinámico, su posición varía (su X e Y).
  • El chico: Se le ha asignado un comportamiento estático, lo que hace es girar, en su misma posición (misma X e Y), para así alternar su mirada.
  • El protagonista: Movimiento puramente estático, no gira sobre si mismo ni cambia sus coordenas, "Sin movimiento".

El Advance Map nos da bastantes opciones a elegir de movimientos, he aquí una lista:
0=Sin Movimiento
1=Mirar alrededor
2=Caminar sin rumbo
3=Caminar arriba y abajo
4=Caminar arriba y abajo
5=Caminar izquierda y derecha
6=Caminar izquierda y derecha
7=Mirar arriba
8=Mirar abajo Aunque yo lo mencione aquí, nunca useis este movimiento, puede causar varios bugs a vuestra ROM*
9=Mirar izquierda
10=Mirar derecha
11=Mirar abajo Aunque yo lo mencione aquí, nunca useis este movimiento, puede causar varios bugs a vuestra ROM*
12=Oculto Lo he probado y me crasheba el juego si tenía la casilla "Entrenador" marcada, y de lo contrario no se crasheaba, pero no mostraba la animación de volver a salir al exterior.
13=Mirar arriba y abajo
14=Mirar izquierda y derecha
15=Mirar arriba y izquierda
16=Mirar arriba y derecha
17=Mirar abajo y izquierda
18=Mirar abajo y derecha
19=Mirar arriba, abajo y izquierda
20=Mirar arriba, abajo y derecha
21=Mirar arriba, izquierda y derecha
22=Mirar abajo, izquierda y derecha
23=Mirar alrededor en Contra del sentido del reloj
24=Mirar alrededor en el sentido del reloj
25=Correr arriba y abajo
26=Correr arriba y abajo
27=Correr izquierda y derecha
28=Correr izquierda y derecha
29=Correr arriba, derecha, izquierda y abajo
30=Correr derecha, izquierda, abajo y arriba
31=Correr abajo, arriba, derecha y izquierda
32=Correr izquierda, abajo, arriba y derecha
33=Correr arriba, izquierda, derecha y abajo
34=Correr izquierda, derecha, abajo y arriba
35=Correr abajo, arriba, izquierda y derecha
36=Correr derecha, abajo, arriba y izquierda
37=Correr izquierda, arriba, abajo y derecha
38=Correr arriba, abajo, derecha y izquierda
39=Correr derecha, izquierda, arriba y abajo
40=Correr abajo, derecha, izquierda y arriba
41=Correr derecha, arriba, abajo y izquierda
42=Correr arriba, abajo, izquierda y derecha
43=Correr izquierda, derecha, arriba y abajo
44=Correr abajo, izquierda, derecha y arriba
45=Correr en Contra del sentido del reloj
46=Correr en Contra del sentido del reloj
47=Correr en Contra del sentido del reloj
48=Correr en Contra del sentido del reloj
49=Correr en Contra del sentido del reloj
50=Correr en el sentido del reloj
51=Correr en el sentido del reloj
52=Correr en el sentido del reloj
53=Copiar al Jugador
54=Mirar al Jugador
55=Mirar al Jugador
56=Mirar al Jugador
57=Disfraz Pared-Arbol 3*
58=Disfraz Pared-Roca 3*

59=Mirar al Jugador (Parado)
60=Copiar al Jugador (Parado)
61=Copiar al Jugador (Parado)
62=Copiar al Jugador (Parado)
63=Oculto El único de los tres que me ha funcionado correctamente, no me crasheo el juego y muestra la animación de volver a salir al exterior teniendo la casilla "Entrenador" seleccionada. 2*
64=Caminar en el lugar (Abajo)
65=Caminar en el lugar (Arriba)
66=Caminar en el lugar (Izquierda)
67=Caminar en el lugar (Derecha)
68=Trotar en el lugar (Abajo)
69=Trotar en el lugar (Arriba)
70=Trotar en el lugar (Izquierda)
71=Trotar en el lugar (Derecha)
72=Correr en el lugar (Abajo)
73=Correr en el lugar (Arriba)
74=Correr en el lugar (Izquierda)
75=Correr en el lugar (Derecha)
76=Oculto Este no crasheaba el juego, pero no mostraba la animación de volver a salir al exterior.
77=Caminar en el lugar (Abajo) Se debe usar el movimiento nº64 para recrear este efecto 4*
78=Caminar en el lugar (Arriba) Se debe usar el movimiento nº65 para recrear este efecto 4*
79=Caminar en el lugar (Izquierda) Se debe usar el movimiento nº66 para recrear este efecto 4*

80=Caminar en el lugar (Derecha)

* En su defecto usad "Sin movimiento" si queréis simular ese efecto, pues si os fijáis un mini, si no alteráis su comportamiento, lo veréis siempre mirando hacia abajo, y eso se debe a este movimiento que poseen por defecto.

2* Este movimiento es el que tienen asignado los ninjas ocultos en R/Z/E, funciona también en Fire Red, pero se necesitará sí o sí acompañar al mini de un script de trainerbattle y configurar un rango de visión (Casilla "Ver Rango" en AM, sirve para marcar un número de pasos, que servirán como distancia, para que el entrenador te localice y empiece la batalla), de lo contrario no mostrará la animación de salir de la tierra. Se vería así:


3* Estos dos comportamientos, aunque son característicos de R/Z/E, también están disponibles en Fire Red, pero se necesitará el uso del script trainerbattle para que se ejecuten de forma correcta, de lo contrario no se ejecutará la animación de quitar el disfraz. La forma en la que se verían es la siguiente:


4* Estos tres tipos de movimientos están erróneos en la ini, es decir, no hacen lo que ahí ponen. Os voy a dejar un ejemplo con lo que hace cada uno de ellos:

Tipo de movimiento nº77



Tipo de movimiento nº78


Tipo de movimiento nº79

Si queréis cambiarles el nombre, para evitar confusiones y así acordarse de lo que hacen en realidad como aquí:

Lo único que debéis hacer es lo siguiente:
Ir a la carpeta Ini del Advance Map.
Abrir la carpeta Sprachen.
Entrar ahora en el archivo .ini del idioma que queráis.
Casi al final del archivo, o usando la opción buscar y poner "Bewegung", tendréis todos los movimientos, ahora solo será cosa de renombrar.

Más adelante hablaremos de los números a la izquierda de cada movimiento.


PERSONALIZAR LOS MOVIMIENTOS

Bien aquí viene algo que puede ser interesante y lo que menos gente puede llegar a conocer.

Si os fijáis en la imagen que mostré antes, aparece un casilla debajo de "Tipo de movimiento" llamada "Movimiento". ¿Nunca os habéis parado a pensar para que sirve? Sea como sea aquí os lo explicaré, pero primero tenéis que tener en cuenta que solo funcionará para los comportamientos dinámicos.

Esto es lo que hace el comportamiento "Correr arriba, derecha, izquierda y abajo" por defecto

Como podéis ver este mini hace unos movimientos totalmente simétricos, pues aquí es donde entra en escena la casilla "Movimiento", en ella encontrareis esto: "00".
Lo primero que debemos tener claro es que está casilla no la vamos a entender "en conjunto", me explico, esta casilla la primera cifra indica lo que serían el número de movimientos que debe realizar el mini en el eje Y y, la segunda cifra, nos indica lo que serían el número de movimientos que debe realizar el mini en el eje X.
Por lo tanto esta casilla vendría a ser algo como: 00=YX

Dato importante: Como todo en el rom hacking los valores deben ir en hexadecimal, y está no es una excepción y, como todos habéis podido ver solo existe la posibilidad de poner en esta casilla dos dígitos (00=YX), por lo tanto, siendo F=15 el número más alto en este sistema numérico que implique el uso de un solo símbolo (16 en hexadecimal ya sería 10, dos dígitos), FF sería el límite de pasos que se pueden llegar a configurar, siendo esto 15 pasos en el eje Y y otros 15 en el eje X.
Si queréis personalizar un movimiento que solo se mueva en un eje ("Correr arriba y abajo"), obviamente solo tenéis que editar uno de los dos valores, el otro será inútil en este caso.

Os voy a dejar un ejemplo, ya habéis visto en el gif de arriba que si la configuración es 00 solo se moverá un paso en cada dirección, pues ahora vamos a ver lo que sucede si ponemos en esa casilla esta configuración:



Aquí tenéis el resultado

Como se puede observar aplicando el mismo tipo de comportamiento, pero esta vez modificando la casilla "Movimiento" hemos conseguido que el NPC se mueva un número de pasos establecidos por nosotros en los ejes, en concreto hace 8 pasos hacia arriba/abajo y 3 hacia derecha/izquierda.


MODIFICAR UN COMPORTAMIENTO INICIAL MEDIANTE SCRIPTS​

Quizás lo más interesante del tutorial y el motivo de que muchos os halláis interesado en él. Lo que vamos a aprender a hacer aquí es modificar un comportamiento inicial por otro que nosotros seleccionaremos, pero en esta ocasión el cambio se realizará dentro del juego y de forma automática.

Para ello vamos a utilizar este comando:

Código:
Spritebehave 0x(nº de gente del mini) 0x(comportamiento)
Aquí es donde entran los valores que había a la izquierda en la lista anterior, pero ojo, debéis pasarlos a hexadecimal porque allí están en decimal. Por ejemplo, si yo tengo a un mini que esté con el comportamiento "Mirar derecha" y en un momento concreto de nuestro hack queremos que ese mismo mini esté corriendo arriba y abajo tendríamos que hacer lo siguiente:

Código:
Spritebehave 0x1 (En mi caso) 0x19 (25 en hexa)
Importante: Para que el efecto de script sea permanente se deberá usar en un script de nivel del tipo 03 o 05.

Otro comando relacionado con el comportamiento de los minis es el spriteface:

Código:
spriteface 0x(nº de gente) 0x(dirección a la que mira)
Siendo "dirección a la que mira" una de estás cuatro posibilidades:
0x1 Abajo
0x2 Arriba
0x3 Izquierda
0x4 Derecha


Aporte de interés en relación al tema movimientos/comportamientos:
[ASM] Some new movement bytes (including a patch) Créditos a jiangzhengwenjz .

------------------------------------
------------------------------------


Bueno, pues eso es todo por ahora, como podéis ver un tutorial simple y corto, pero que puede llegar a ser interesante, espero que os sirva de ayuda y ya sabéis, para cualquier duda preguntad.

Un saludo!! :D
 
Última edición:

Naren Jr.

Puto amo
Usuario de Platino
Respuesta: [FR]Comportamiento de los overworlds

Excelente tutorial!!!

A decir verdad siempre tuve curiosidad por como funcionan esas casillas, no obstante hubo un tiempo en el que intente de que un mini corriera más que los movimientos que le pone advance map, pero solo veía mediante asm, ya con este tipo de movimientos, creo que se le puede dar más naturalidad a los minis de Pokémon que adornan por ahí.

Muchísimas gracias por compartirnos esto, un saludo!

PD: se va al índice de tutoriales este mismo fin de semana ;)

Excelente tutorial!!!

A decir verdad siempre tuve curiosidad por como funcionan esas casillas, no obstante hubo un tiempo en el que intente de que un mini corriera más que los movimientos que le pone advance map, pero solo veía mediante asm, ya con este tipo de movimientos, creo que se le puede dar más naturalidad a los minis de Pokémon que adornan por ahí.

Muchísimas gracias por compartirnos esto, un saludo!

PD: se va al índice de tutoriales este mismo fin de semana ;)
 

MichaKing

Grafista avanzado
Respuesta: [FR]Comportamiento de los overworlds


Buah, ¡El tutorial esta INCREÍBLE! me ha encantado la forma en la que explicas, todo es bastante fácil de localizar y de aprender debido a lo práctico que es. En cuanto al tutorial en sí, es muy útil para todos aquellos que queremos darle bastante dinamismo a un hack y que todo sea más original. Además, como bien comento Naren, el hecho de que nos hayas enseñado como modificarlos, es un hecho bastante bueno para darle más naturalidad a los NPC.

-¡Saludos! espero ver más aportes tuyos :D
 

FraynSebas

Psychedelic Client~
Respuesta: [FR]Comportamiento de los overworlds

Hace poco me preguntaba sobre esto, lo del comportamiento de los overworld...

Me viene de perlas, me encanta como explicas y usas gif...

Excelente tutorial, sigue así.


 
M

Miembro eliminado 28262

Invitado
Respuesta: [FR]Comportamiento de los overworlds

Bwah, vaya sacada de rabo!
Este tutoríal está genial la verdad, no sé porque nunca nadie hizo algo como esto
A muchos nos hubiese ayudado en lugar de hacer prueba y error

Gracias por él tutorías bro
Saludos y Buenas vibras!
 

kakarotto

Leyenda de WaH
Buen tutorial amigo. Que pena que gente postee tambien tutoriales interesantes y tengan menos repercursión. Podrías ampliar el tuto aplicandolo en un script de nivel o diferentes variantes

Saludos
 

Markuzz Kaizuka

Usuario de platino
Respuesta: [FR]Comportamiento de los overworlds

Buen tutorial, lo que mas me ah servido de tu tutorial es la lista de movimientos donde especificas los movimientos que tienen bugs, pues esos bugs me han fastidiado ya varias veces, mira que tampoco sabia lo del movimiento XY en la casilla de movimiento,sin duda este tutorial nos va a servir a muchos.

Gracias!!
Saludos!!
 

Dark Aurora

Apolo Kaktus :v
Respuesta: [FR]Comportamiento de los overworlds

Un gran tutorial, no esperaba menos de vos.
La verdad que el titulo me llamo bastante, y al leerlo me siguió gustando.
Sigue así que se puede.

Pd: El usar GIF me gusto mucho.

Salulations Sombres
 

Chandragupta

~the lunatic is in my head~
Respuesta: [FR]Comportamiento de los overworlds


Bravo!!​

El tutorial te lo agradezco bastante, ahora por fin esos malditos minis podre moverlos, este tutorial es fácil y eso me gusta mas.

Se que no diré gran cosa pero te agradezco mucho.

See ya!!.
 

Berserker1523

2-Intentando discernir qué es lo más importante...
Respuesta: [FR]Comportamiento de los overworlds

Qué guen tutorial loco! La verdad es que aunque sean cosas sencillas que se pueden deducir jugueteando con la herramienta (eso creo, no lo he probado), uno siempre se inmiscuye en la cotidianidad y no explora que más cosas se pueden hacer. Por eso se agradecen estos tutoriales que ahorran ese tiempo de exploración (Y te abren la "mente"). Justo alguien en estos días preguntó por el comando que cambiaba el comportamiento de los minis, concidencia?
 

Jaizu

Usuario mítico
Respuesta: [FR]Comportamiento de los overworlds

Sinceramente genial, todos tuvimos que lidiar alguna vez con minisprites que se colaban en los scripts o no nos dejaban pasar, ahora que sabemos usar la casilla del movimiento el hack en sí se verá más dinámico.
 
Arriba