NinjaWorld
Last Breath - Versión para impresión

+- NinjaWorld (https://ninjaworld.es)
+-- Foro: Comunidad (https://ninjaworld.es/foro-comunidad)
+--- Foro: El rincón creativo (https://ninjaworld.es/foro-el-rincon-creativo)
+--- Tema: Last Breath (/tema-last-breath)

Páginas: 1 2 3 4 5


Last Breath - Amedama Daruu - 19/02/2016

[Imagen: 7WDfy3j.png]

» ¡Disponible! «

Has intentado revivir a tu fiel amigo sin saber nada de nigromancia, y... ¡habéis acabado los dos en el limbo del Castillo Vestíbulo de los Muertos (Deadhall Castle), donde la muerte jugará a una sádica prueba con vosotros! Pero no os preocupéis. Con ayuda de tus poderes de nigromante, podrás crear alientos cada vez que mueras para superar todos los retos que se alzan ante vosotros. ¿O no?

Actualización (v1.6)
  • Revertido el cambio de borrar el último aliento. Ahora es como en la versión original. No controlo bien el funcionamiento de las pilas y la estructura del juego no me permite cambios más profundos sin reescribir todo el código. Consideraré esta versión, con ligeros cambios en los niveles y el modo speedrun, como la versión final si nadie encuentra algo importante.

Actualización (v1.51)
  • Corrección de bugs: el contador de tiempo se activaba fuera del modo speedrun.
  • Intento de corrección del suceso: hay más alientos de lo que debería según la sala.

Actualización (v1.5)
  • Añadido: Speedrun mode. Incluye un contador de tiempo que se para cuando acaba el juego, y guarda automáticamente una screenshot en "Users/AppData/Roaming/Last_Breath/speedrun_X.png".

Actualización (v1.11)
  • Corrección de bugs: ahora usar el botón para volver a la fuente NO te resta un aliento.
  • Corrección de bugs: removidos dos pinchos de una sala de la mazmorra que hacían que tu personaje quedase aplastado por un aliento continuamente sin querer.


Actualización (v1.10)
  • Volver a las fuentes de aliento no destruye los alientos creados.
  • Ahora puedes borrar los alientos en orden inverso al que los creaste pulsando X en el teclado, o X/Cuadrado en un mando de consola. Esto permite borrar sólo el último aliento o unos cuantos para ponerlos mejor sin tener que repetir todo el recorrido por morir sin querer en otro lado que no querías.

Last Breath es un juego desarrollado para la CometJam 2016, que tendrá lugar el fin de semana del 5 de marzo y con el que me presento al concurso.

Bajo el tema de la jam, que era HAS MUERTO, me embarqué en esta aventura con pocas perspectivas de terminar un juego completo. Finalmente así ha sido. El juego es corto, pero tiene principio, desarrollo y final e incluso una pequeña historia. El tiempo de juego aproximado es de 30-40 minutos. Tened en cuenta que es mi primer juego completo, y que además nunca había tocado en serio el software que he utilizado para unir todas las piezas. Y, qué diantre, que eran diez días.

He invertido mucho tiempo en el proyecto. Cuando digo mucho, es mucho. Todas las horas del día que no las dedicaba a estar en la universidad, comer o dormir, básicamente.


Hola.

Tal y como expliqué aquí, me iba a ausentar hasta el domingo para hacer un juego para una game jam. Una game jam es una maratón de creación de videojuegos, normalmente te dan 48 horas, menos mal que aquí me han dado más tiempo al final —10 días—, por lo que por supuesto tampoco pretendo estar ausente y sin pasarme por el foro (sé que estáis esperando los post de la segunda ronda).

En fin, que he pensado, que ya que estoy publicando en mi Twitter los progresos que voy haciendo, por qué no aquí también. Así os mantengo informados por si a alguien le interesa.

Desde ya digo que es probable que no termine el juego en los diez días, pero como que la idea me ha gustado bastante y es probable que la siga desarrollando, incluso si es sólo por aprender.

¿Qué idea es esta?

Comprenderéis mi ilusión cuando me enviaron el tema de la game jam y vi que era, literalmente, o pictóricamente, porque venía con foto y todo, esto:

[Imagen: has.png]

Claro, como un fan de Dark Souls incondicional, para mí esto fueron varios grititos ahogados y fangirleos varios muy fuertes. Pero como también sin duda comprenderéis, nunca he completado ni un sólo juego, y tenía diez días para hacer algo pequeñito, concreto, pulido y medianamente original. Y si no eran diez días, que no fueran diez años.

De modo que me puse a pensar. Como todos sabéis, se piensa mejor con el sacrosanto trasero aposentado en el retrete.

Y allí, mientras disputaba una encarnecida partida hardcore a Pokemon Shuffle, se me ocurrío la idea.


La idea


Pues bien. La idea, básicamente, es que el jugador sea un hechicero, un nigromante, que ha conseguido burlar a la muerte y que posee la habilidad para no morir. Esto en el juego se traduce como un respawn. Pero además, puede utilizar su último aliento para progresar y escapar del mundo de los muertos.

¿Que cómo es eso del último aliento? Pues, por ejemplo y como idea básica, si te caes en unos pinchos, se crea una nube encima, y en el siguiente respawn, puedes saltar sobre esa plataforma para llegar al siguiente punto de control.

Por supuesto, tienes que elegir bien dónde morir porque sólo tienes un aliento, o varios, porque los puntos de control son fuentes de aliento en las que puedes, vaya, recuperar el aliento Sans. El o los alientos, porque el personaje puede obtener varias "almas" que dejar en varias muertes para poder seguir llegando a las siguientes fuentes y progresar en el juego.

Como véis, puzzle-plataformas-aventura.


El protagonista


Me puse manos a la obra. Como soy incapaz de imaginarme lo que es el juego sin una estética, sin un personaje, me imaginé al nigromante. No quería hacerlo oscuro y siniestro, todo lo contrario: infantil y estilo cartoon, algo parecido a lo que uno podría encontrarse en un juego de Mario. De modo que hice un dibujo rápido. Y por supuesto un prototipo del personaje dibujado en pixelart que más tarde usaré para animarlo:

[Imagen: KrXj2Hb.png][Imagen: 9PAjoMa.png]

La verdad es que estoy muy contento con el resultado (no preguntéis por qué un nigromante tiene un gorro con un pollo, podría ser perfectamente su dios, o quizás su antigua mascota disecada, no lo sé, los nigromantes son muy siniestros por muy cartoony que los dibujes, chsst).


Empieza la miga


Después de eso me puse con lo importante, que viene siendo todo el motor de plataformas sobre el que se sustentarían las demás mecánicas del juego.

Al principio fue fácil. Colisiones básicas con el suelo. Luego se complicó un poco cuando quise introducir los saltos en la pared, y pegarte en la pared (exactamente lo mismo que pasa en SuperMeatBoy). Después tuve bastantes problemas con las plataformas a las que puedes atravesar si saltas desde debajo pero no por arriba, a no ser que pulses un botón.

Llegados a este punto, estaba de física, colisiones y matemáticas hasta donde no se puede decir con menores a la vista. Así que me dediqué a embellecer un poco los movimientos, a darle un poquito de game juice. Ese nosequé que hace que todo se vea mejor si el personaje se encoge y se estira cuando salta o aterriza.

Y no lo digo yo, lo dicen Frank Thomas y Ollie Johnson, de Disney.

Además me permití incluir partículas de polvo a los impactos y a los saltos.

Adivinad como se hace esto. Exacto, física y mates. Yuju. Pero son física y mates sencillas y molonas.

En fin, que todo eso ha sido... Hasta la hora de comer de hoy. Después he estado TODA LA PUTA TARDE, así, en negrita y sin cortarme, porque estoy hasta las narices, con las plataformas móviles. Son un problema, de verdad. En realidad, la vertical. La horizontal la he hecho en nada.

Así que este es el resultado actual de todo el engine. Ahora queda empezar a desarrollar sobre esto lo que sería el juego completo, aunque aún me quedan unas cuantas cosas, como hacer que determinados objetos, como obstáculos, puedan depender de dichas plataformas móviles y se muevan al son de ellas.

Comprenderéis que cuando todos los elementos encajen, será mucho más fácil simplemente insertarlos en los niveles para construir puzzles y tener que preocuparme sólo de que el puzzle tenga sentido y sea divertido.

En fin. Este es:

[Imagen: xXfZaWO.gif]


Bueno, me quedan 7 días completos y es bastante improbable que consiga terminar lo que quiero hacer, sobretodo por el tema de que soy yo solo y tengo que montarme todos los gráficos (uff) y probablemente la música y el sonido (doble, triple uff). De todas maneras iré informando por aquí y posteando gifs bonicos para vuestro disfrute.

Podéis comentarme/preguntarme lo que queráis Risa



RE: Last Breath ~ en proceso ~ - Uchiha Akame - 19/02/2016

Daruu-san...

Esto...

Es...

¡¡FLIPANTE!!

Sé que es una perogrullada pero la única pregunta que se me puede ocurrir ahora mismo es...

¿Pero cómo narices lo has hecho? XDDDDDDDDDD

¡Ponte a mandar CVs por ahí a la de ya!


RE: Last Breath ~ en proceso ~ - Amedama Daruu - 19/02/2016

Ojalá fuera así de fácil, lo de los CV digo.

Estoy usando Game Maker Studio. Es una buena herramienta que agiliza MUCHO las cosas, sobretodo para prototipos y juegos con un alcance pequeño-medio.

He seguido tutoriales para aprender hacer la mayoría de las cosas que ves aquí y sobretodo para solucionarme dudas. A trompicones y con los conceptos que he aprendido en Simulación en la carrera lo he sacado Lengua.

Simulación es lo que me ha dado la tralla de integradores, y simulación física básica y avanzada de elementos de la vida real. Con un poco de física falsa puedes hacer perfectamente esto. En cada frame: sumas aceleracion a velocidad, y velocidad a posición. Ya tienes gravedad.

Esto por supuesto con más cosas debajo.

Un saludo, jeje.


RE: Last Breath ~ en proceso ~ - Umikiba Kaido - 19/02/2016

Un traductor para lo que ha dicho Daruu, please.

Jajaja buen trabajo, Durru. Yo te veo buenas posibilidades en la competencia, así que ánimo con el jueguillo. Refiriéndome al concepto, que es a lo único que me encuentro en posición de opinar, decir que está molón. Esperemos a ver el resultado final.


RE: Last Breath ~ en proceso ~ - Karamaru - 19/02/2016

Debe de ser difícil hacer un juego sobre la muerte sin influenciarte de Dark Souls, sobre todo si sos fan xD

La idea me gusta, sobretodo porque haces que el personaje a veces tenga que morir para avanzar, algo que creo que no muchos hacen. Ojala algún día yo pueda hacer eso.

¿Con qué motor y lenguaje lo estas haciendo? Tengo curiosidad Risa

Y por cierto, no tiene un gorro con un pollo, tiene un gorro con Spike. No se de donde viene lo de Spike pero como es un pollito amarillo me hizo a acordar de él xD


RE: Last Breath ~ en proceso ~ - Amedama Daruu - 19/02/2016

Karamaru escribió:¿Con qué motor y lenguaje lo estas haciendo? Tengo curiosidad

Daruu escribió:Estoy usando Game Maker Studio. Es una buena herramienta que agiliza MUCHO las cosas, sobretodo para prototipos y juegos con un alcance pequeño-medio.

XDDDDDDD.

Uso el Game Maker Studio, la edición Professional, la de pago (que por cierto ahora está de oferta, pero que nadie se la compre si no quiere dedicarse/le gusta mucho esto). No uso apenas el pseudolenguaje de botones y de arrastrar y soltar que trae, sólo para definir los eventos.

Uso los eventos (cuando el objeto es creado; el evento step que se ejecuta en cada frame, ya sabes, si el juego va a 60 fps, 60 veces por segundo), pero en los eventos pongo siempre un código utilizando la API. El lenguaje es uno propio de Game Maker, GML. Es muy sencillo y cuando sabes programar lo suficientemente bien es una maravilla.

Sobre los fps, un dato interesante: un juego es un bucle infinito.

ACCIONES PRE-BUCLE INFINITO. INICIALIZAR.
JUEGO {
  • Acciones que se ejecutan en un solo frame.
  • Registrar botones. Si pulsa salir, rompe el bucle.
}
ACCIONES DE SALIDA

Es algo mucho más complejo que eso, pero el bloque JUEGO se repite constantemente.


RE: Last Breath ~ en proceso ~ - Amedama Daruu - 19/02/2016

~unas escaleritas por aquí funcionando...

[Imagen: zSlCBlR.gif]



RE: Last Breath ~ en proceso ~ - Amedama Daruu - 19/02/2016

Ahora los saltos en la pared sólo funcionan si vienes del suelo, de una escalera o de otra pared, no de la misma pared de la que acabas de saltar. Esto impide que escales una pared entera saltando sobre ella misma y me da más libertad para diseñar niveles-puzzle.

[Imagen: KOKid2a.gif]



RE: Last Breath ~ en proceso ~ - Amedama Daruu - 19/02/2016

Las escaleras (realmente, cualquier objeto que yo quiera, pero las escaleras han sido un reto porque a ellas va pegada también el jugador) ahora pueden asignarse a plataformas móviles con autonomía de la dirección de la plataforma.

[Imagen: 9z8jmLH.gif]



RE: Last Breath ~ en proceso ~ - Amedama Daruu - 19/02/2016

Soporte para controladores de Xbox360/One/PS4 implementado.


RE: Last Breath ~ en proceso ~ - Amedama Daruu - 19/02/2016

Implementada la muerte y respawn básicos. Por supuesto queda por hacer la mayor premisa del juego, que es la de que al morir se crea un "aliento" que te permite cruzar huecos y avanzar.

[Imagen: 52sjqVA.gif]



RE: Last Breath ~ en proceso ~ - Karamaru - 19/02/2016

Me sorprende lo rápido que se avanza cuando uno sabe lo hace xD

¿En la competencia solo se permite un desarrollador por juego o hay equipos participando?

Porque si hay equipos tendrían mucha ventaja frente al resto de personas.


RE: Last Breath ~ en proceso ~ - Amedama Daruu - 19/02/2016

(19/02/2016, 18:51)Karamaru escribió: Me sorprende lo rápido que se avanza cuando uno sabe lo hace xD

¿En la competencia solo se permite un desarrollador por juego o hay equipos participando?

Porque si hay equipos tendrían mucha ventaja frente al resto de personas.

Tengo entendido que también pueden participar equipos. Si lo piensas, sí, tienen ventaja teórica. Ten en cuenta que quien sepa coordinar un equipo para hacer un juego, que tiene sus problemas además del desarrollo ya de por sí en solitario, se merece la "ventaja".

¡He implementado el sistema de último aliento! El jugador debe usar su último aliento para cruzar a través de los niveles y progresar.

[Imagen: bLWr9Ix.gif]



RE: Last Breath ~ en proceso ~ - Amedama Daruu - 19/02/2016

Alientos ahora también verticales.

[Imagen: 1LBYRU5.gif]



RE: Last Breath ~ en proceso ~ - Amedama Daruu - 19/02/2016

[Imagen: 4pAgKNt.gif]

Nuestro nigromante Sonrisa


This forum uses Lukasz Tkacz MyBB addons.