Resumen del sprint #13

# Resumen del sprint 13

¡Saludos!, quería comentarles que ya preparé la versión 2.0.92 de Pilas Engine con todas las mejoras que se implementaron durante Enero.

Estas son las novedades:

¡Nuevos ejemplos!

Como les había comentado en el sprint pasado, uno de mis objetivos en esta entrega era construir más ejemplos de lo que se puede hacer en pilas.
Hice un pequeño juego tipo Arkanoid, la mecánica básica del juego Pac-Man y algunos otros ejemplos pequeños para mostrar cómo desplazar la cámara y usar el teclado:

PilasEngine_2019-12-26_01-47-02

Si quieres mirar estos ejemplos directamente en la versión online puedes hacerlo visitando este link:

Mejorando la biblioteca de imágenes

También aumentamos la cantidad de imágenes incluidas en pilas, ahora tenemos sprites para realizar prototipos, como figuras tipo círculos y cuadrados de varios colores, personajes como fantasmas, aliens etc…

Creando funciones para atender el teclado

En versiones anteriores teníamos la posibilidad de acceder al teclado para realizar comprobaciones de movimiento muy básicas. Pero en esta versión ya incorporé el acceso al teclado por completo.

Ahora tenemos la posibilidad de crear varios personajes y controlarlos simultáneamente con el teclado, como muestra el ejemplo de dos jugadores de las naves:

687D68F7-B6F5-48A2-AEFB-B817708C4A64

O incluso acceder a los eventos de teclado sin repetición, para detectar cuando se pulsa o suelta una tecla en particular.

image

En la documentación del proyecto hay información detallada de esta mejora:

Creando sistema de mensajes

Algo que nos venía faltando en el motor era una forma sencilla de enviar y recibir mensajes de forma desacoplada. Es decir, permitiendo que los actores se puedan comunicar sin saber nada de su entorno.

En esta versión implementé un sistema de mensaje que permite que cualquier actor envíe un mensaje (como “recolecta_fruta”) y que el resto de los actores se puedan notificar de ello como si se tratara de un evento global.

Esta característica se usa mucho en el ejemplo “Arkanoid”, donde el sistema de puntajes va “contando” la cantidad de bloques que quedan en el nivel, mientras que la escena también reacciona diciéndonos si ganamos o perdemos:

Hay una explicación mucho más detallada de este sistema de mensajes en la documentación, ahí explico la motivación de un sistema de mensajes y cómo utilizarlo, con varios ejemplos:

Arreglos de bugs y actualizaciones

Aproveché a resolver algunos problemas con el cambio de tamaño de las figuras físicas. También actualicé la biblioteca multimedia Phaser a la versión 3.21.0 y adapté varios detalles de cómo accedíamos a sus propiedades.

Por último, adapté el maqueado de la aplicación para que el area de juego se pueda colapsar mucho más, y así ganar espacio para editor de texto:

image

Para el próximo sprint

Quiero incorporar un gestor de sonidos para que podamos empezar a personalizar los sonidos y músicas de los juegos. Tengo un boceto general de cómo me gustaría implementarlo, así que me voy a poner a trabajar en la implementación en estos días.

Seguramente también arme algunos ejemplos adicionales, si se les ocurren ideas avísenme !!!

¡Saludos!

2 Me gusta

Vamos a probar las novedades.:wink:

Genial @hugoruscitti te felicito por el trabajo arduo que le estás dando ,:heart_eyes:

Excelente es un gran trabajo…
Como parte del sonido te recomiendo que mires el editor de sonido de Godot engine,creo que es un gran ejemplo para manejar sonidos en un game engine…Saludos
https://docs.godotengine.org/en/3.1/tutorials/audio/audio_buses.html