¡Saludos!, pasaron solo 11 días desde el último resumen, pero hicimos tantas tareas que vale la pena resumirlas y dar paso firme hacia el próximo sprint.
Al igual que en el sprint anterior, usamos trello para cargar y realizar cada una de las tareas. Podes ver este tablero cuando quieras ingresando acá:
Aunque, como mencioné en el sprint pasado, mi intención es hacer resúmenes cada una o dos semanas para mantenerlos informados:
Creación del actor Nave
Incorporamos uno de los actores clásicos de Pilas 1.
Aún nos queda pendiente armar el sistema de proyectiles, por lo que esta primer versión es una nave bastante inofensiva… ¡pero vamos avanzando!. La nave tiene varias animaciones para que se puedan encender sus turbinas de forma independientes:
Mejoras en el editor y las preferencias de usuario
Agregamos la posibilidad de configurar el tema de colores del editor desde la sección preferencias, una idea que propuso Hokuto en el resumen de sprint pasado.
Para colocar el editor con colores oscuros hay que pulsar el botón preferencias y seleccionar la opción “usar el editor en modo oscuro”:
También agregamos un botón para permitir que el area de juego se expanda para usar todo el area disponible, y reparamos el tamaño de los actores en el dialogo de creación:
Mejorando las instrucciones para colaboradores
Escribí algo de documentación para facilitar la configuración del entorno de desarrollo para colaboradores. Comencé describiendo las tecnologías que utiliza pilas, y luego armé una guia detallada de las operaciones básicas que un colaborador del proyecto va a querer ejecutar, como: correr tests, compilar pilas desde cero etc…
Aquí está la guia completa:
http://manual-pilas-engine.surge.sh/entorno.html
De paso, aprovecho a mencionar que en ese dominio web van a encontrar la versión más reciente la documentación con cada nueva versión. La documentación se genera automáticamente cada vez que subimos código nuevo a github.
También grabé un video mostrando estos pasos de configuración y lo subí a youtube:
Corrección de bugs y mejoras menores
Volvímos a activar los atajos de teclado, ahora se puede ejecutar desde el editor pulsando “cmd+s” o “ctrl+s” y regresa al editor pulsando la tecla “Escape”.
Actualizamos el código a phaser 3.3.0 el mismo día que se publicó, y también actualizamos las definiciones de typescript para poder usar su autocompletado dentro del editor.
Mejorando el sistema de colisiones
Encontré un problema al detectar colisiones desde matter-js (el motor de física de phaser) e informarlos al motor de pilas. Noté que las colisiones en simultáneo no se reportaban correctamente, o al menos, no como yo suponía al principio. Así que escribí un issue para avisar a los desarrolladores de phaser y por suerte nos pudieron ayudar: Collisions events are called one time on multiple collisions in matter-js · Issue #3450 · photonstorm/phaser · GitHub
Ahora las colisiones en pilas se reportan correctamente, pude mejorar al actor Conejo para que detecte colisiones usando sensores y ahora va mucho mejor que antes:
Les recomiendo probarlo, con poner un par de plataformas y al actor en la escena alcanza. Incluso funciona bastante bien si hay cajas o pelotas en la escena.
También agregamos un sistema de etiquetas muy simple para facilitar la detección de colisiones y reproducir acciones. Por ejemplo, si colocás actores moneda en el escenario vas a ver cómo el actor conejo puede colisionar con ellas:
Esta nueva forma de declarar etiquetas y colisiones también lo documentamos en el manual:
http://manual-pilas-engine.surge.sh/etiquetas.html
Pensando en el próximo sprint
Aún no tenemos completamente enumeradas las tareas para el próximo sprint, pero tenemos varias ideas: queremos empezar a crear mini ejemplos, con lo que tenemos hasta ahora podríamos hacer un mini-mario bros o un juego de naves básico. Crear un sistema de interpolaciones para animaciones simples y posiblemente retomar las pruebas sobre arduino para integrar robótica.
También estuvimos charlando con varios chicos del equipo de desarrollo, es una etapa super interesante para encarar esta nueva versión de pilas juntos, así que posiblemente hagamos un hangout grupal y empecemos a trabajar en la web renovada y más tareas de los sprints.
¡Saludos!