Registrarse

[Otros] Sistema de estaciones

Javi4315

Babyface
Miembro de honor
Dije que no iba a subir ningún tutorial más. Así que lo primero que quiero hacer es pedir disculpas por ello. Pero no pediros disculpas a vosotros, los ególatras que ya estáis pensando que os la debo, porque no es para vosotros. Esta disculpa no va por aquellos que se creen el centro de algo a costa del esfuerzo del resto, ni por lamebotas ni desagradecidos sistemáticos. Esta disculpa va por todos aquellos que quieren aprender y agradecen cualquier tutorial aunque explique cómo mirar la hora en el reloj de Windows. Sea mío o de quien sea. Mis tutoriales son para que aquel que no sepa hacer lo que explico, pueda aprenderlo, ya sea fácil o difícil, existan otros métodos o no. Nunca para la fama de quien crea que se le deba ser atribuida mediante el trabajo ajeno. Cualquier iluminado de estos, lo que tiene que hacer, en vez de criticar cada tema, es juntar los caracteres de todos esos mensajes repudiables que seguro que le dan para un tutorial propio.


¿Qué es esto?

Pues eso, se trata de implementar el sistema de estaciones en nuestro hack. Este sistema lo que hace es cambiar el tileset dependiendo de la estación. De esta forma, podremos tener unos árboles verdes y cargados de flores en primavera, o unos árboles completamente cubiertos de nieve en los gélidos días de invierno.

La verdad es que es algo muy, muy fácil de hacer y, sin embargo no lo veo en ningún hack, al menos que yo sepa. Así que vamos a aprender a hacerlo.

Podéis ver el vídeo para haceros una idea, aunque es bastante claro:



Importante: En la demostración no he cambiado los tiles y sólo las paletas, al fin y al cabo sólo es una demostración. Pero se pueden cambiar totalmente los tiles sin ningún problema.

*Nota: El hecho de que esté nevando no es por el propio sistema en sí, es un script de nivel que he hecho. El sistema sólo cambia los tiles, no afecta en el clima ni nada. Luego explicaré cómo hacer estas cosas.


¿Qué necesito?

Para seguir este tutorial necesitas lo siguiente:


Se puede hacer sin AM 1.95, pero es mucho más complicado porque ya habría que hacerlo manualmente. Bueno, en realidad es sencillo, pero sé que la mayoría no os lleváis bien con el hex.

Importante: Aseguraos antes de nada de que estáis usando la última versión del DNS.


Insertar el sistema de estaciones

Esto es lo más fácil de todo. Abrimos DNS, vamos a File>Open y cargamos el rom. Ahora insertamos el RTC y las estaciones (seasons). Con eso ya está el sistema de estaciones insertado totalmente. Ahora lo que hay que hacer es configurarlo.

Ahora tendríamos que insertar los nuevos tilesets, crear un nuevo Header desde DNS y hacer algunos repunteos. Algo que nos llevaría lo suyo. Pero espera, antes de decir "Buff..." y cerrar el tutorial, tengo que deciros que no tendréis que hacer nada de eso, porque LU-HO tuvo la consideración de compatibilizar DNS con AM 1.95 para que desde esta última herramienta se pudiera configurar todo de manera fácil.


Configurando el sistema

Ahora vamos a Advance Map 1.95. Si lo abrís y cargáis el rom sin insertar el sistema de estaciones y luego lo volvéis a abrir cuado ya está insertado, podréis ver que sale un desplegable en la parte de arriba con las 4 estaciones. Eso nos permitirá navegar visualizando cada una de las estaciones directamente en AM. Pero claro, para poder hacer eso, antes hay que configurarlo.

Vamos a ir a Herramientas>Season Editor. Ahora se nos abre una ventana para configurar las estaciones. Le damos a "Create" para crear una nueva entrada. Cada entrada que creemos afectará al tileset que queramos.

Se nos abre una ventana que nos pregunta para qué tileset queremos crear la entrada. Podemos crearlo para cualquiera, pero lo suyo es empezar por el 0, que es el tilset principal ¿No? Bueno, pues vosotros poned el que queráis, yo voy a poner el 0.


Ahora mismo, como veis, no tenemos nada porque en todas las estaciones se está utilizando el mismo tileset. Lo que tenemos que hacer ahora es insertar un tileset nuevo para cada estación. Pero sólo insertaremos 3, por que el normal no hace falta porque es el que estamos utilizando, no es necesario meter un tileset de más. Así que insertaremos un nuevo tileset para todo excepto para el normal.

Para insertar el tileset le damos a "Create new tileset" y se nos abrirá la ventana para crearlo. Elegimos la estación para la que queremos crear el tileset (repito, para "normal" no) y marcamos o no las casillas, depende de lo que queramos. Explico para qué sirven las casillas:

  1. Los bloques se posicionarán igual en todos los tilesets, es decir, no podremos cambiar bloques en uno sin que se cambien en otro.
  2. El comportamiento de los tiles será el mismo en todos los tilesets.

Estas opciones pueden venir bien o no, depende de lo que queráis hacer. No marcar las casillas siempre conlleva algo más de trabajo pero una mayor flexibilidad. Así que eso como vosotros veáis.

Una vez configurado eso, le damos a "Create" y se nos abrirá el editor de bloques. Lo cerramos sin hacer nada, ya lo haremos luego, aunque guardando, por supuesto. Ya tenemos listo el nuevo tileset, ahora hacemos lo mismo para las otras dos estaciones. Al final nos debería quedar algo como esto:


Ahora le damos a "Save" y listo. Ya tenemos configurados los tilesets para las 4 estaciones. Ahora lo que hay que hacer es cambiar los tiles dependiendo de lo que queramos que aparezca en cada estación.


Cambiando los tiles

Es importantísimo saber que tilesets tenemos cuatro (uno por cada estación), pero mapas sólo tenemos uno. Lo que quiero decir, es que el mapa está mapeado igual independientemente de qué tileset utilicemos. Es decir, si en un determinado lugar tenemos puesto un árbol y en otro tileset tenemos puesto un buzón, en esa estación se cambiará el árbol por el buzón. Entonces tenemos que tener los tiles en el mismo sitio en todos los tilesets. Donde está el árbol, ponemos el árbol, donde está el agua ponemos el agua... Luego hay otros tiles que no hay por qué hacer esto, pero para los principales sí.

Bueno, para cambiar los tiles, simplemente tenéis que navegar por las estaciones en advance map y se muestra el mapa. Usáis el editor de bloques y demás para cambiarr los tileset, como si fuera un mapa normal.

Creo que esto no tiene mucho problema, no obstante, si alguien se lía o algo, que lo diga y lo explico un poco mejor.


Error con las estaciones

Advance map no tiene bien ordenadas las estaciones a la hora de navegar. Resulta que si ponemos invierno, no estamos cambiando el tileset de invierno. Por eso a que tener en cuenta lo siguente:

Autumn es en realidad invierno
Winter es en realidad primavera
Spring es en realidad otoño

El tileset normal (que podría corresponder al verano) sí que está bien.
Entonces, lo único que hay que tener en cuenta, es que para crear la estación de invierno, no tendremos que ir a "winter", sino a "Autumn".

Importante: La verdad es que esto es un poco lioso para comprobar, entonces creo que no me he equivocado, pero es bastante fácil hacerlo, así que si veis que está mal, decídmelo para corregirlo. Lo que sí es cierto es que existe ese error.


Scripts dependiendo de las estaciones

Se hace de la siguiente forma:

Código:
copybyte 0x20370D0 0x203C001     '=> Copia el byte a otro lugar para conseguir que se guarde en LASTRESULT
compare LASTRESULT 0x(byte)     '=> Comprobamos si es el byte que queremos
if 0x1 call @(pointer)     '=> Si lo es, va a   [MENTION=17182]pointer[/MENTION]
Por ejemplo, para que nevara en invierno, lo que he hecho yo ha sido crear un script de nivel de tipo 03 (en realidad no lo he creado, sino que lo he añadido al existente) y lo he puesto así:

(...)
copybyte 0x20370D0 0x203C001
compare LASTRESULT 0x2
if 0x1 call 0x8800038
(...)

#org 0x800038
setweather 0x7
doweather
return
Es decir, comprueba si el byte es 02 (invierno) y si lo es, me envía a un pointer donde conseguimos que empiece a nevar. Es un ejemplo con el clima, pero se puede hacer así cualquier tipo de evento dependiendo de la estación. Los bytes de cada estación son los siguientes:

00 - Normal (verano)
01 - Otoño
02 - Invierno
03 - Primavera

Creo que eso es todo

Pues sí, creo que es todo pero no estoy 100% seguro. Puede ser que se me haya pasado algo. Pero no pasa nada, si ha sido así, pues nada más que me lo decís y listo. Se corrige rápidamente.

Espero que os sea de ayuda esto. La verdad es que es un sistema fantástica, que le añade un realismo al juego enorme, a parte de brindar muchas opciones.

Y nada, sólo recordaros que el sistema depende del reloj del ordenador (o NDS, PSP o donde estéis jugando). Es decir, que si en vuestra fecha tenéis que es invierno, en el juego será invierno.
 
Última edición por un moderador:

Jo7a

Kiero mi nick amarillo D:
Respuesta: [Tutorial] Sistema de estaciones

Eres el puto amo, siempre lo e dicho y siempre lo mantendré.
Este tutorial no es nada nuevo, ya sabía de la existencia de las estaciones y tal.
Pero no habia ningún tuto (al menos que yo sepa) en español y aún menos tan bien explicado.

En serio, me dan ganas de implementar este sistema en mi hack, tengo que pensarlo muy seriamente.

En cuanto a lo que has dicho al principio, no sé a quién te refieres con "ególatras" (espero que a mi no, yo te kiero D: ), pero cualquier tutorial se agradece (a no ser que esté muy quemado y repetido) y aún mas un tuto como éste.

Siempre e dicho que tus tutoriales son expléndidos, muy inspiradores y lo mejor de todo dan muchas ideas a gente con imaginación como yo, por lo que te agradezco mucho que hayas decidido compartirlo con nosotros.

PD: ¿De verdad dijiste que iva a ser tu último tuto? Espero que no sea verdad y que nos sigas trayendo mas como éste.
 

Cheve

MoonLover~
Miembro de honor
Respuesta: [Tutorial] Sistema de estaciones

¡Jajaja! ¡Y yo que pensaba que se hacía con muchos Copybite y setmapfooters! ¡Jaja! Es tan facil :3

Muchas gracias por otro aporte más de la "Ola de aportes molones de Javi :3 "
 

Master Brock

Miembro insignia
Miembro insignia
Usuario de Platino
Respuesta: [Tutorial] Sistema de estaciones

Buaaahh.....yo sabia que se podia insertar Dia y Noche, y lo inserte, pero la facilidad de insertar las estaciones se me escapaba...... QUE CHULADA, MUchas gracias por el tuto

:)
 

Gold

Porrero a tiempo parcial
Miembro insignia
Respuesta: [Tutorial] Sistema de estaciones

Vaya y yo que creia que las estaciones se insertaban poniendo miles de rutinas ASM y vendiendole tu alma al diablo (?)

Gran tuto javi, espero que tengas mas tutos ahi escondidos y los pongas, Saludos!!!
 

Guilly Alpha

It's eleven o'clock
Respuesta: [Tutorial] Sistema de estaciones

Madre MIa!!!! Es GENIAL!!
No dejes de hacer tutoriales, Sigue así!!
Ahora mismo voy a insertar las Estaciones :D
 

Chamber

Miembro insignia
Miembro insignia
Respuesta: [Tutorial] Sistema de estaciones

Con esta calidad de aportes como no dan ganas de pasarse a GBA!

Me encanto tu introduccion jaja, malditos!

Pues si se ve relativamente facil de aplicar, y le da mucha vista a los hacks. Sobre lo que comentabas de los bloques, que siempre deben ser los mismos, se me ocurre que puedes usar 1 0 2 diferentes para esconder cosas dependiendo de la temporada, por ejemplo, una cueva cuya entrada esta cubierta en invierno a casua de la nieve pero sea accesible en verano. O un rio con rocas donde solo puedas pasar en invierno por que las rocas se congelaron y les puedes aplicar Rock Smash y cosas asi.

Esperamos mas tutoriales tuyos!

Saludos!
 

Sayer301!

UnityLord!
Miembro de honor
Respuesta: [Tutorial] Sistema de estaciones

Me parece genial que al final no hayas decidido dejar de aportar y solo me queda decirte que:

Peeeeeeeeeeeedazo de tuto Javi, eres un genio, es muchísimo mas facil de lo que pensaba, pense que habria que jugar con WBTO como con los tiles de noche. Pero es una gran aportación al ROM hacking, muy bonita.

Lo de crear tilesets nuevos me impacta, es realmente facil y cómodo para hacer esto, la verdad es que ya tengo un par de ideas curiosas aunque no se si podré hacerlas por lo que te comenté.

Genial, solo espero que sigas trayendo cosas tan geniales como estas.

Solo me queda pedirte que pongas que byte corresponde a cada estación a la hora de hacer el script y ya queda completo al 100%

Un saludo jefazo!


Edito: Como con los tiles de noche no XD, cambio de minis queria decir.
 

Javi4315

Babyface
Miembro de honor
Respuesta: [Tutorial] Sistema de estaciones

Me parece genial que al final no hayas decidido dejar de aportar y solo me queda decirte que:

Peeeeeeeeeeeedazo de tuto Javi, eres un genio, es muchísimo mas facil de lo que pensaba, pense que habria que jugar con WBTO como con los tiles de noche. Pero es una gran aportación al ROM hacking, muy bonita.

Lo de crear tilesets nuevos me impacta, es realmente facil y cómodo para hacer esto, la verdad es que ya tengo un par de ideas curiosas aunque no se si podré hacerlas por lo que te comenté.

Genial, solo espero que sigas trayendo cosas tan geniales como estas.

Solo me queda pedirte que pongas que byte corresponde a cada estación a la hora de hacer el script y ya queda completo al 100%

Un saludo jefazo!
Ups, cierto, ya he añadido los bytes de cada estación en el tema principal, son estos:

00 - Normal (verano)
01 - Otoño
02 - Invierno
03 - Primavera
 
Respuesta: [Tutorial] Sistema de estaciones

Great guide. Well structured: D Something really useful for those who intend to use the seasons. I hope to see more guides from you =)
 
M

Miembro eliminado 28262

Invitado
Respuesta: GBA | Otros | [Tutorial] Sistema de estaciones

madre mia, que chulada de tutorial, bien explicado, bien documentado bien todo!
no se que hariamos sin tu conocimiento gran javi
 

MegaSceptile9

Usuario mítico
Respuesta: GBA | Otros | [Tutorial] Sistema de estaciones

o_O
Eres el rey de los script, la verdad
que está bien explicado y todo.
No creo que lo valla a usar, pero
quien sabe, tal vez un día será.

Gracias Javi :D
 

Dani_SR_17

¡Pokémon LionHeart!
Respuesta: GBA | Otros | [Tutorial] Sistema de estaciones

Tus tutoriales de scripts son geniales, totalmente bien explicado, entendible y con vídeo y todo jeje.

Por desgracia este sistema no sirve para mi hack, pero seguro que a mucha gente le viene bien.
 

Injuxa

Grafista basico.
Respuesta: GBA | Otros | [Tutorial] Sistema de estaciones

Ahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh!
muchas gracias por el tuto yo que no entendia como hacerlo!
gracias :D
 

necrosis corrosiva

<<PRESS START>>
Respuesta: GBA | Otros | [Tutorial] Sistema de estaciones

me quedo con la boca a 10 metros bajo tierra de la sorpresa por la facilidad, solo me queda una duda que espero que me pueda responder:¿funciona para fire red? espero que si por que soy de esa base, mil gracias javi
 

Javi4315

Babyface
Miembro de honor
Respuesta: GBA | Otros | [Tutorial] Sistema de estaciones

me quedo con la boca a 10 metros bajo tierra de la sorpresa por la facilidad, solo me queda una duda que espero que me pueda responder:¿funciona para fire red? espero que si por que soy de esa base, mil gracias javi
Sí, es para Fire Red. Precisamente el vídeo de demostración está grabado en Fire Red ;D
 
Respuesta: GBA | Otros | [Tutorial] Sistema de estaciones

Una duda, he insertado tanto el dia y noche como el sistema de estaciones, pero cuando lo abro con el emulador se ve con lo de normal aunque cambie la hora y la fecha, por que pasa eso y como lo puedo solucionar?
 

Javi4315

Babyface
Miembro de honor
Respuesta: GBA | Otros | [Tutorial] Sistema de estaciones

Una duda, he insertado tanto el dia y noche como el sistema de estaciones, pero cuando lo abro con el emulador se ve con lo de normal aunque cambie la hora y la fecha, por que pasa eso y como lo puedo solucionar?
En VBA vete a Options>Emulator y asegúrate de que la opción Real Time Clock está activada. Seguramente sea eso.
 

Naren Jr.

Puto amo
Usuario de Platino
Respuesta: GBA | Otros | [Tutorial] Sistema de estaciones

Hola shicos el tuto ta bien explicado y todo, a la hora de crear la estación para insertarla se me queda así:



¿Alguien sabe el porque?

PD: Solo pruebo el tuto

PDD: Si, es una rom sin hacerle nada uwu

Gracias de ante mano y pié.
 

Javi4315

Babyface
Miembro de honor
Respuesta: GBA | Otros | [Tutorial] Sistema de estaciones

Hola shicos el tuto ta bien explicado y todo, a la hora de crear la estación para insertarla se me queda así:



¿Alguien sabe el porque?

PD: Solo pruebo el tuto

PDD: Si, es una rom sin hacerle nada uwu

Gracias de ante mano y pié.
Si lo has hecho bien, eso es el tileset vacío. Ahí tienes que insertar el tileset con los tiles de la estación que sea.
 
Arriba