domingo, 6 de octubre de 2013

Fixed direction system RPGMAKER 2003

Esta es una de las cosas que me ha traído más de un dolor de cabeza en el RPG Maker 2003,
y es una de las cosas más difíciles que he hecho, (aunque no lo parezca)

Explico de qué trata (poca gente lo entenderá xd).

Esto es un sistema para girar el personaje en cualquier dirección sin que ande
que se usa en juegos como Lufia 2-4, (pokemon usa algo parecido, pero si le das un toque a la dirección mira a esa dirección y no anda)

Para hacerlo hay que usar varias líneas de proceso a la vez y jugar con los timings. ¡Es un follón! XD

La función de Asignar teclas, que es para que cuando pulses una tecla se guarde un valor,
y según ese valor ocurra algo es un poco extraña.

Primero porque si tienes por ejemplo pulsada la tecla Enter, cuando llegue a un Asignar teclas,
(aunque sea que esperas otra tecla y no Enter) el Asignar Teclas pondrá el valor a 0.
Así que no permite hacer cosas como mantén x botón para que pase algo.

Segundo motivo que no permite en el maker hacer lo de mantener teclas,
en Input keys hay una opción que pone "guardar valor mientras se pulsa", pues
esto que parecería ser la solución a todo esto no sirve, porque
ahí se guarda el valor de la tecla que pulsemos, pero si no pulsamos ninguna no se resetea a 0!!!
Así que es completamente inútil.

Lo comenté en Rpgmaker.net y kazesui me dijo más o menos como se podía hacer, y la
idea era usar varios asignar teclas

Un asignar teclas se usa para detener al personaje y entrar en modo que gire.
Otro asignar teclas está en automático (para que no se mueva el personaje) y le hace esperar,
y va llamando a otro evento común llamado soltar tecla

En el soltar tecla hay asignar teclas que si tiene el valor 0 (de la tecla que manteníamos,)
para todo el proceso.

Y ahora la parte que me daba más quebradero de cabeza, hacer las direcciones,
ayer estuve hasta las 3 de la mañana intentando hacer que quedara bien metiendo
lo de las direcciones en el evento automático y funcionar funcionaba, pero no
respondía de forma precisa, tardaba un poco en cambiar de dirección porque
el Input key era sin esperar tecla.

Y es que los Input key sin espera, producen más lag que los que tienen espera.

Tras muchos rollos hice otro evento común, y metí en un proceso paralelo
un input key con espera, y ya sí, funciona sin lag.

He subido un proyecto de demo con todo para el que lo quiera probar, usar o lo que sea,
porque no soy de esos mierdas que hacen muchas cosas pero no comparten nada.

Enlace: http://www.mediafire.com/?jocj2rl4e97n1bb

Decir que en el Lufia esto varía un poco y añade algunas cosas más, algunos tiempos
de espera para que se terminen mientras las animaciones de cortar con la espada por ejemplo,
y el permitir/no permitir técnicas cuando coges un jarrón y giras.

Y como es la demo:



No hay comentarios:

Publicar un comentario

Los comentarios deben pasar una moderación.