Actualizado 28/05/2015 13:31: Añadida una comprobación para que el hitter no golpée varias veces al mismo enemigo si tiene más de un punto de vida.
Como el señor Radas me ha picado para poner las espadas de Sir Ababol como hitter en MK2 (acompañando al simpático puñito Ninjajarero), quise hacer una mini demo para probarlo todo - y esa demo me ha llevado a ampliar un montón el motor, corregir mil bugs, meter un par de mejoras, y decidirme, por fin, a documentar el sistema de scripting. Con todos vosotros:
Mega Meghan - Espadewr (demo)
Meghan, nuestra time lady favorita, se permite cometer la excentricidad de ir a comprar huevos a Hexon-4, el planeta de los hombres-cebolla multiformes y calvos. Sin embargo, una colilla que en vez de en el cenicero de su TARDIS terminó cayendo por una rendija de ventilación al mismo centro de lo que es el motowr, la hizo desviarse unos parsecs (y otros tanto siglos). Cuando se quiso dar cuenta, estaba varada en un planeta desconocido. Cuando salió a investigar un poco, se cayó por un terraplen y perdió el conocimiento.
Cuando se despertó, comprobó que estaba en unas misteriosas ruinas. Un montón de amazonas furiosas pululaban por allí - ¡pero estaban malditas! Al poco tiempo se convertían en unos murciélagos feos de cojones.
Armada con una espada que se encontró por ahí, Meghan debe avanzar por las ruinas hasta encontrar su TARDIS.
En esta demo hay 9 pantallas. El juego completo saldrá en una fecha indeterminada comprendida entre el momento en el que leas esta frase y el futuro.
El juego puede (debe) servir como una especie de "juego didáctico" y como una forma divertida de publicar Mt Engine MK2 0.88c y msc 3.91.
Juego demo MK2: Espadewr!
Moderador: na_th_an
Juego demo MK2: Espadewr!
- Adjuntos
-
- mojon-twins--spadewr-demo--src.zip
- (1.72 MiB) Descargado 969 veces
-
- mojon-twins--spadewr-demo.tap
- (41.01 KiB) Descargado 1014 veces
Como diría Rorshach: "Urm..."
Re: Juego demo MK2: Espadewr!
¿Se puede acortar el tiempo de espada? es decir, dejarlo en un par de frames como mucho. Es que se me antoja lenta.
Lo que verdaderamente se necesita es un sprite más del personaje con la posición de ataque, pero no pediré peras al olmo. Esta solución es bastante buena.
Lo que verdaderamente se necesita es un sprite más del personaje con la posición de ataque, pero no pediré peras al olmo. Esta solución es bastante buena.
Re: Juego demo MK2: Espadewr!
Se podría meter un sprite más, con el consiguiente gasto de memoria. Pero se podría meter, no sería nada complicado, cuestión de un ratito. Soy reacio a meter más frames siempre porque estas dos que necesitaríamos se llevan 288 bytes. Parece poco, pero en 288 bytes caben bastantes pantallas Pero bueno, la modificacion es fácil y puedo añadirla en plan activable/desactivable. Le daré una vuelta.
Sobre lo otro, claro. Puedes modificar mil cosas. La espada está en engine/hitter.h... Ahora ando apretado de tiempo, pero luego me paso y documento este tema y donde tocar para alterar el comportamiento (y de paso, el comportamiento del puño, que comparten gran parte del código).
Sobre lo otro, claro. Puedes modificar mil cosas. La espada está en engine/hitter.h... Ahora ando apretado de tiempo, pero luego me paso y documento este tema y donde tocar para alterar el comportamiento (y de paso, el comportamiento del puño, que comparten gran parte del código).
Como diría Rorshach: "Urm..."
Re: Juego demo MK2: Espadewr!
He actualizado las fuentes con una cosilla que faltaba. Luego publicaré un pequeño tutorial para modificar el recorrido/número de frames de la espada.
Como diría Rorshach: "Urm..."
Re: Juego demo MK2: Espadewr!
Yeah!,
habrá que darle un tiento... Yo ya le metí caña a hitter para meterle espadita al juego también, era muuuy sencillo con el array ese con "offsets" para el desplazamiento, pero un na_th_an-Tuto sería la leche, a lo mejor descubro más cosas que hacer con él.
Editado: Vaya por Dios!, acabo de ver que has puesto ya el tutorial de hitter y lo que comentaba aquí abajo está más que solucionado.
------------------------------
Por cierto, ahora que me acuerdo (y no se si esto habrá cambiado desde el código de MK2 de Ninjajar), una cosa que descubrí es que la colisión entre hitter y los enemigos (y supongo que con el resto) no discriminaba de frames del arma. Es decir que si el movimiento de la espada son 5 frames a cada frame comprueba si hay colisión y actua en consecuencia, lo que da a lugar de que si un enemigo tiene 3 vidas con "un solo golpe" podías acabar con él. Yo la solución que le dí fue tan sencilla como añadir en las condiciones de colision con los enemigos que el frame de la espada fuera uno determinado (digamos el frame 4), así sólo si está la espada/puño en un frame determinado y colisionando con el enemigo se procede a restarle la vida al mismo.
Espero que se entienda por si quereis cambiar/corregir el comportamiento descrito (como ya digo si todavía funciona así XD)
------------------------------
habrá que darle un tiento... Yo ya le metí caña a hitter para meterle espadita al juego también, era muuuy sencillo con el array ese con "offsets" para el desplazamiento, pero un na_th_an-Tuto sería la leche, a lo mejor descubro más cosas que hacer con él.
Editado: Vaya por Dios!, acabo de ver que has puesto ya el tutorial de hitter y lo que comentaba aquí abajo está más que solucionado.
------------------------------
Por cierto, ahora que me acuerdo (y no se si esto habrá cambiado desde el código de MK2 de Ninjajar), una cosa que descubrí es que la colisión entre hitter y los enemigos (y supongo que con el resto) no discriminaba de frames del arma. Es decir que si el movimiento de la espada son 5 frames a cada frame comprueba si hay colisión y actua en consecuencia, lo que da a lugar de que si un enemigo tiene 3 vidas con "un solo golpe" podías acabar con él. Yo la solución que le dí fue tan sencilla como añadir en las condiciones de colision con los enemigos que el frame de la espada fuera uno determinado (digamos el frame 4), así sólo si está la espada/puño en un frame determinado y colisionando con el enemigo se procede a restarle la vida al mismo.
Espero que se entienda por si quereis cambiar/corregir el comportamiento descrito (como ya digo si todavía funciona así XD)
------------------------------
Re: Juego demo MK2: Espadewr!
Pues si te soy sincero no sé si está solucionado Probablemente no. Nunca he probado un hitter con enemigos de más de un golpe. Probablemente siga pasando lo que dices.
Tengo que limpiar un poco esa parte, está algo guarra (el tema que controla la vida de los enemigos, el número de golpes, etcétera).
Una forma muy sencilla de solucionarlo, es hacer que un golpe de la espada deje completamente de procesar más golpes. Con una bandera global lo tienes. Lo digo porque yo ahora mismo defino bastantes frames "calientes" como quien dice, lo cual a veces es deseable (¡si no el juego es muy difícil!). La bandera hitter_hit será 0 y se pondrá a 1 en cuanto golpée algo. Cada vez que se lance la el hitter se volverá a poner a 0. Sólo golpeará si vale 0.
De hecho, qué hostias, lo voy a implementar y actualizo los fuentes. Es una tontá
Tengo que limpiar un poco esa parte, está algo guarra (el tema que controla la vida de los enemigos, el número de golpes, etcétera).
Una forma muy sencilla de solucionarlo, es hacer que un golpe de la espada deje completamente de procesar más golpes. Con una bandera global lo tienes. Lo digo porque yo ahora mismo defino bastantes frames "calientes" como quien dice, lo cual a veces es deseable (¡si no el juego es muy difícil!). La bandera hitter_hit será 0 y se pondrá a 1 en cuanto golpée algo. Cada vez que se lance la el hitter se volverá a poner a 0. Sólo golpeará si vale 0.
De hecho, qué hostias, lo voy a implementar y actualizo los fuentes. Es una tontá
Como diría Rorshach: "Urm..."
Re: Juego demo MK2: Espadewr!
Yes, con una flag global es más elegante y así todos los frames valen como "calientes" como dices (o los que uno quiera).
Ya sabía yo que convenía escribir sobre el tema jajajajaja.
Thxss.
Ya sabía yo que convenía escribir sobre el tema jajajajaja.
Thxss.
Re: Juego demo MK2: Espadewr!
Hummm un juego nuevo, me teneis ganado piratas, esta noche lo pruebo y os cuento mañana.
Re: Juego demo MK2: Espadewr!
Lo del hitter para las espaditas mola mazo
Sin ver el codigo ¿Puede ocupar 2 tiles? Los espadazos en el Zelda de GameBoy ocupaban el tile delante del muñeco y el de la izquierda, como si hiciera un espadazo "mu largo"
Sin ver el codigo ¿Puede ocupar 2 tiles? Los espadazos en el Zelda de GameBoy ocupaban el tile delante del muñeco y el de la izquierda, como si hiciera un espadazo "mu largo"
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado