lunes, 10 de septiembre de 2012

Comentarios del engine de cuerda-gancho del lufia

Bueno en vez de intentar maquillar las cosas para que las entienda cualquiera voy a comentar lo
que tengo hecho, y el como funciona de lo de engancharte en pilares en el proyecto este del lufia, para que peña como mi "amijo" martin ya de paso aprenda algo xd.

Lo primero que comento es que en eventos comunes, se puede organizar un engine, para que por ejemplo puedas guardar posiciones de un evento o moverlo, en eventos comunes lo que sale a la hora de eventos en la lista, son los que tienes en ese mismo momento abiertos de mapa, sabiendo esto se puede tener un engine ahi y no tener que copiarlo como evento en cada mapa. (esto no lo sabia yo antes cuando trasteaba engines de gancho)


Lo que hago primero en un evento común es guardar un montón de variables, todo lo que hay
adyacente al personaje en coordenadas e id de eventos, y 1 tile en evento lo que hay alrededor
de los pilares a los que me voy a "agarrar".

Así que si por ejempplo yo estoy como en la imagen donde está la posicion de inicio, y quiero agarrarme al pilar de la derecha que es el pilar id1, lo que se calcula es, a 1-2-3-4-5 de distancia se guarda que hay en id, a mi derecha hay 3 tiles que no hay nada, asi que su id es 0, y al 4 a la derecha está el pilar que tiene id, así que me puedo agarrar a el, si hay 3 tiles de distancia me muevo 3 tiles a la derecha.

¿Que pasa si hay otro evento en medio como el monstruo ese? Pues que si ese evento tiene el id 13 por ejemplo, el personaje no ira hasta el pilar.
Asi que vamos es intentar decirle a esto que si no hay nada en medio que se enganche y sino no.

Tambien otro problema que surgia al principio cuando empece a hacerlo era que si ponia una fila de pilares, no se enganchaba en el que tenia mas cerca, se podia enganchar en cualquiera, eso lo solucione haciendo pues unas prioridades, primero cuando pulsas el boton mira si hay un pilar a un tile de distancia (pilar 1 -2 -3 ahora mismo) si no se encontraba el proceso miraba a 2 tiles de distancia, de este modo no se enganchaba en el pilar del tile 3 en vez del 1 que está mas cerca.

Así que ahora mismo el engine este soporta:
- 3 pilares por mapa aunque espero hacer para más (tienen que ser ID001-ID002-ID003 obligatoriamente)
- Todo evento que tenga una ID 011 o superior se considera algo en medio, como un monstruo o una columna que impide el paso.
- Desde ID001-ID010 se consideran pilares lo que pongas
- Menú para elegir habilidad con el boton shift aunque está muy verde
- Animación para cuando se lanza la cuerda o el gancho, segun la distancia se tiene que usar
diferente animación,

Para las animaciones hago un apaño de los mios xd
Cuando pulsas el botón, aparece una animacion de batalla pero en mapa, justo 0.0s el grafico del
personaje se pone transparente, muestro la animacion de agarrarse, y justo 0.0s antes de que termine,
vuelvo a mostrar el personaje, me llevó unas cuantas pruebas hacer que no hubiese parpadeo ni nada, hay que trabajar un poco a decimas de segundo de proceso.
Ah y otra cosa cuando se hace la animacion si no pones un Movimieno de Heroe - Esperar, el personaje se puede mover mientras y mierda para todo XD

Cosas ahora mismo el engine este NO soporta:
- Si hasta 5 tiles hay un pilar se agarrará, pero si esas condiciones no se cumplen, no hará nada porque no hay nada programado para otras condiciones, si no hay ningún pilar y pulsas el boton el personaje no hará nada, para hacer que esto se pueda hay que implementar el control de ID de terreno, ya que sino
podrías lanzar la cuerda y se vería atravesar una pared por ejemplo, así que me toca crear ID de terreno para los tiles, y que se guarde lo que hay alrededor del personaje, si lo que hay delante es un muro, que lance la cuerda hasta el muro y no la atraviese.

Bueno ya he comentado bastante por hoy, de momento lo voy a dejar esto aparcadillo y lo tocaré los fines de semana o algo, que me conozco y con las cosas de Lufia me pongo y me motivo y no paro de trabajar en ello, y hay un Nostalgia y un Tetrix que tienen prioridad XD.


No hay comentarios:

Publicar un comentario

Los comentarios deben pasar una moderación.