CHAT

miércoles, 24 de agosto de 2016

Tutorial Rpg maker 2003 - Eventos, colisiones y sistemas

Ésto que suena a asignatura, son algunas de las cosas como trabaja el Rpg Maker con
los eventos, y como siempre digo, parte de estas cosas pueden valer para cosas generales en desarrollo de juegos.

Lo que voy a explicar es cómo guardar en variables las coordenadas
del personaje, (entorno), y sus posibles usos.



En el apartado de variables,
en Event, Player.

Hay varias cosas que se pueden
guardar en una variable, en este caso, como está marcado el personaje:

  • Map ID como el nombre dice, guarda al número del mapa, Map0001 por ejemplo, guardaría 1.
  • X Coordinate guarda la posición el bloque X en el que estás.
    Es decir, el maker cuenta desde el bloque X0 en horizontal, y cada cuadro es un número.
  • Y Coordinate es lo mismo pero en vertical, guarda el número de cuadro del personaje en la variable (arriba del todo=0 mas abajo +1 por cuadro).
  • Direction. La posición a donde mira el personaje, os ahorro tener que mirarlo.
    2 - abajo, 8 - arriba, 6 - derecha, 4 izquierda.
  •  Screen X, ésto es diferente de lo de arriba, no guarda el "cuadro" de 1 en 1 sino que
    va por píxeles, es decir, si te mueves un cuadro a la derecha, la variable será +16px que
    es el tamaño de cada cuadro/tile.
  •  Screen Y, lo mismo para la altura, siguiendo el patron de Y coordinate, aqui cada cuadro más abajo es +16
Ahora sabiendo ésto, puedo guardar las coordenadas del personaje y lo que hay a su alrededor,
para por ejemplo hacer un sistema de batalla de disparos, o lanzar flechas que detecten paredes.
Pues sí, además tambien hay para guardar ID' de evento, y ID's de terreno.

Ahora voy al meollo con este gráfico




Este "tochaco" que lo he copiado del Lufia porque paso de volver a escribirlo,
guarda en 28 variables lo que hay alrededor del personaje, no guarda las esquinas porque no me hace falta.

Además de esto también en base a esas posiciones, otras 28 variables que leen el terreno de esos tiles.

Si en un cuadro no hay evento la variable dará valor 0

Si el terreno no está definido dará 1 que es el terreno por defecto de todos los tiles.


Pondré algunos ejemplos que pueden valer con esto teniendolo en eventos comunes guardando todas las posiciones cercanas + las cosas más basicas que comenté arriba.

Ejemplo 1: Supongamos que
lanzamos una flecha a donde hay un interruptor, podemos poner un proceso que
compruebe si sobre el interruptor en base a su ID o posición o junto al interruptor
choca la flecha que es otro evento con otra ID.

Ejemplo 2: Creo que ya comenté antes esto con lo de hacer el puente que tenia animación según andabas.
pues se puede hacer que
los tiles que forman el puente cambien según la distancia del héroe que está en variables.

Ejemplo 3: Teniendo guardadas suficiente distancia, podemos hacer que haya enemigos que nos detecten si estamos cerca.
Cosa que tambien se puede de otra forma dinámica, sumando X-Y del heroe, X-Y del enemigo,
restandolos, si el valor es bajo es porque está cerca de nosotros!

lunes, 22 de agosto de 2016

Avances Resident evil demake

Con condiciones puedo usar diferentes traducciones

Sobre el Resident Evil Demake ahora mismo no tengo mucho tiempo para dedicarle al testeo, así que mitad que queda por revisar la haré cuando me sea posible.

Abajo están los últimos cambios que he ido haciendo este mes, y en los últimos días solo me he dedicado a simplificar en lo posible
los códigos de los textos en inglés-español.

De todos modos, tengo pensado sacar una beta pública en la que se podrá jugar todo el juego (solo en inglés, en principio) cuando acabe mi testeo.
Y ya puede que así sí, alguien me de sugerencias como
"¿por qué no pones a este enemigo más fuerte?"  < que de momento el juego no está balanceado
o "este jefe es imposible, ¿por qué no haces algún patrón con el que se pueda matar?"

En fín, cosas que me permitan ajustar la dificultad y arreglar fallos.


  • - BUGFIX - Normalizado el volumen de toda la musica y sfx
  • - ADDED - La Llave Armadura ahora se descarta tras usarla en todas las puertas.
  • - ADDED - La Llave Casco ahora se descarta tras usarla en todas las puertas.
  • - BUGFIX - Cartuchos infinitos en la casa del guarda
  • - BUGFIX - "sin animacion" al ir a otra parte con color transparente puesto
  • - BUGFIX - Tras usar el libro rojo no dice el mensaje de que no sabe donde
  • estará el libro que falta.
  • - BUGFIX - Varios arreglos en la batalla de la planta 42 y la musica
  • - BUGFIX - Arregladas algunas animaciones de puertas de la casa del guarda
  • que salian como de la mansion.
  • - BUGFIX - Tras el encuentro con wesker en la casa del guarda, se iba demasiado rapido y no habia sonido al abrir la puerta.


domingo, 7 de agosto de 2016

Noticias varias

Juegos:

Resident evil demake
De éste queda testear y de los betatesters ninguno me ha pasado nada así que seguramente
tendré que testear yo solo con paciencia.


Lufia SDK


De este proyecto que he tenido tanto tiempo parado de "recrear" los sistemas
de habilidades y puzzles del Lufia 2 en el rpg maker 2003, he estado
haciendo mejoras por cambiar un poco de aires después de tanto tiempo con el resident evil.
Básicamente he cambiado el sistema de la cuerda inspirado en el Lufia 4
por el gancho del Lufia 2, aunque no es solo eso, aparte de estar más detallada
la animación hay mas cambios.
- El gancho se lanza hasta chocar o engancharse, segun la distancia y a donde miras con
una animación diferente, antes solo se usaba la cuerda si podias engancharte en un palo.
- Todo el código que estaba junto ahora está separado por secciones y con prioridades.
- Sonidos diferentes según la distancia/impacto del gancho

Lo próximo que quiero cambiar es el "retardo" de 1 frame cuando llevas
un jarrón que también se ve en el video.





También he estado haciendo tiles, mapeados, todo de momento muy primitivo.



Traducciones:

El último juego que he estado mirando es el I am Setsuna,
que aunque como ya comenté, se puede editar texto, pero sin
un programa específico (que existe pero no me lo van a pasar xd) no se puede
traducir bien a español, porque cada caracter ocupa 2 espacios
y no se podría hacer algo decente así.

A quien le interese este juego puede echar un vistazo de lo que encontramos aquí:
http://romxhack.esforos.com/i-am-setsuna-ya-ha-salido-y-mirando-los-archivos-t800


viernes, 29 de julio de 2016

Mirando el I am Setsuna, texto localizado

Quien esté al tanto del hilo del foro ya sabrá que Sorakairi ha conseguido descubrir como estaba al texto encriptado, yo mismo he probado cambiar el primer mensaje tras bastantes pruebas y editando el archivo del primer capitulo con windhex.
Como ahora mismo cualquier intento de traducir dialogos sería muy "laborioso", por no decir imposible de hacer algo decente tirando de editor hexadecimal solo he desencriptado algunos archivos con términos como los objetos, magias, etc
Estoy añadiendo todo eso a unas hojas de cálculo que he puesto el enlace en el foro y también

añado aquí: I am setsuna database
Que puede servir como referencia para cualquiera que quiera traducir el juego a cualquier idioma.





domingo, 24 de julio de 2016

Lufia rpg maker

Hacía tiempo que no tocaba el engine/sistema del Lufia 2 que estuve haciendo en el Rpg maker 2003, y últimamente he estado haciendo algunos retoques. Hoy he estado cambiando las funciones del gancho (que antes era una cuerda).
y es completamente funcional como en el juego original (al menos a la derecha, a otros lados tengo que copiar y pegar eventos y cambiar graficos)

Antes solo habia animaciones en caso de que hubiese un pilar donde engancharse, pero no hacia nada al no tener nada delante, o haber una pared.

miércoles, 20 de julio de 2016

Avances Resident evil demake


- ADDED - Hecha la escena de la transmisión por radio de Brad en el
jardín, solo se activa si antes matas a los lobos y aun no has entrado
en la casa del guarda.
- ADDED - Reactivados los indicadores de la posicion en los mapas
- ADDED - Añadidos los indicadores de los mapas de guardhouse 1f
- ADDED - Añadidos los indicadores de los mapas de underground y los demás
- BUGFIX - Arreglado un bug que si estabas parado las avispas
no te atacaban y puesto un fx diferente para el ataque
- BUGFIX - Si entrabas en la sala para hacer el vjolt al salir
nunca te volvian a perseguir las avispas
- BUGFIX - Arreglado mapa de la mansion sin musica y puestos
otros temas en los exteriores
- BUGFIX - Arreglado un bug en el panel del puzle del vjolt que se
quedaban los graficos de las luces hasta cambiar de habitacion.
- ADDED - Hecha una musica nueva y un FX para los exteriores
- BUGFIX - Puesto el tiempo en que caiga el lanzacohetes normal,
que estaba puesto rapido para hacer pruebas.
- ADDED - Añadido el sistema propio de contador de tiempo para la explosión,
el contador no se muestra en el menú aunque sigue avanzando la cuenta atrás.
- BUGFIX - Cambiado el sonido de los golpes del Hunter
- ADDED - Añadido el hunter en Mansion 2F - West Stairway 2F
- ADDED - Añadido el hunter en Mansion 2F - 'C' Passage
- ADDED - Añadido el hunter en Mansion 2F - East Stairway 2F
- ADDED - Añadido el hunter en Underground - Branched Passage

miércoles, 13 de julio de 2016

Cómo se hizo: El menú del Resident Evil Demake (Parte 2)

Me quedé por la parte de:

Mezclar hierbas
Combinar objetos con cantidades
Baúl
Submenú de mapas
Submenú de archivos

Mezclar hierbas

Cada objeto tiene un valor, 01 es una planta verde, por ejemplo.
Asi que al elegir la hierba verde de una posición y otra hierba de
otra posición se haría lo siguiente.

Condición y efecto:
¿Posición A Es 01 planta verde?
 ¿Posición B Es 01 planta verde?
  Operación de variable, Posición A fijar 04 (2 hierbas verdes)
  Operación de variable, Posición B fijar 00 (nada)

Acto seguido se llama al evento que ordena los objetos quitando
los huecos vacíos.


Combinar objetos con cantidades

Esto es algo basado en lo de antes, solo que aquí algunos objetos tienen
cantidades en variables como la munición y las armas.

Al principio pensé en hacer una suma y según lo que sobrase y superase
el límite de la cantidad que puede llevar, como la Beretta que tiene un límite de 15 balas,
fuese al cargador, con una variable que guardase temporalmente lo sobrante.
Pero como no tenía gana de complicarme la vida en ese momento lo hice
de otra forma.

Ejemplo:
Intentas combinar un cartucho de balas con 30, y la Beretta no tiene balas. Pues estaría así:

Condición y efecto:
¿Posición A Es Cargador?
 ¿Posición A tiene 1 bala o más?
  Si >> Continua
  No > No hay balas, se para el proceso.
 ¿Posición B Beretta?
   ¿Posición B tiene 14 balas o menos?
     Si >> Continua
     No > La pistola ya tiene el maximo de balas, se para el proceso.

  Operación de variable, Posición A restar 1
  Operación de variable, Posición B sumar 1

Todo esto se repite una y otra vez añadiendo balas hasta que se cumple el No que hay arriba,
o al cargador ya no le quedan balas, o el arma no puede llevar más.
Después se llama al evento que ordena todo quitando espacios vacíos por si el cargador se ha quedado sin balas, que desaparezca.




Decir que en el maker hay que poner estas comprobaciones para todos los objetos en todas las posiciones posibles, así que una locura.


Baúl

El baúl forma parte del menú, al abrir el baúl se llama al menú con un interruptor que
hace que cambien algunas cosas, primero desactivar cosas del menú normal como ver el mapa o hasta mezclar objetos.
Lo otro que es lo importante es la base de datos para los 50 objetos del baúl.
Los controles cambian un poco para poder elegir los objetos que salen a la izquierda.
Internamente es muy parecido a como van los objetos en el menu normal, conforme
subes o bajas por la lista de objetos va cambiando una variable que es la posición del cursor,
y según esa posición se muestra el gráfico de lo que haya en ese slot y cantidad.
Al igual que la barra de desplazamiento que te indica por donde estás.


 

Submenú de mapas

 Los submenús son los apartados que hay dentro del mismo menú y se controlan
por una variable "submenú"
Así según el valor los controles que en cada submenu son diferentes pues funcionan bien.
En el submenú de mapas hay una lista de los mapas donde solo puedes moverte arriba y abajo.
Al darle al botón para mirar el mapa te muestra el gráfico del mapa que se va alternando con otro gráfico del mismo mapa con la posición donde estás en otro color.
En el maker 2003 acabas teniendo que hacer un grafico para cada cosa.

Para saber que posición del mapa tiene que indicar, cuando entras a una habitación
se procesa un evento que es "Posición del mapa" con un valor, y según ese valor
te dice el cuarto donde estás.
Son 143 gráficos ahora mismo...

Submenú de archivos

El submenú de esto es igual que el de los mapas, te mueves arriba y abajo para elegir
los documentos.
Al elegir uno, se abre el documento y hay un pequeño sistema por eventos
que muestra los documentos como gráficos y puedes moverte por las paginas.

 


Contador de energía

Comento esto como extra porque tiene algo curioso.
La energía del personaje se basa en la vida del personaje del rpg maker, no usa variables para eso.
Así que para mostrar la energía Fine-Caution-Danger
Basicamente entre una cantidad de vida y otra se muestran los gráficos.
Son 7 gráficos para cada estado.

Lo curioso es que los graficos de Poison al estar envenenado se alternan
mostrandote tambien la vida, mi amigo zutroy cuando lo testeaba
me dijo que estaba muy bien eso porque en el juego original al estar
envenenado no sabes cuanta vida tienes, pues bien esta "mejora" es un bug XD
Porque al mostrar los gráficos de Poison no se detiene el proceso que muestra
la vida, de momento se ha quedado así.