Resumen del sprint 17

¡Buenas!, les quiero comentar que recién publiqué una versión nueva de Pilas Engine 2 con varias novedades y un video tutorial nuevo.

Recuerden que pueden descargar Pilas desde la web, usar la versión online o acceder al código en github:

Estas son las novedades:

Nuevo tutorial sobre cómo hacer un juego de plataformas

Grabé un video tutorial en youtube mostrando como implementar la mecánica inicial de un juego de plataformas; y aprovechando la ocasión hice un recorrido por varios conceptos: colisiones, múltiples sensores, manejo de cámara, animaciones, efectos etc…

¡ Ojalá que les guste el video !

Agilizando la apertura de proyectos

Añadí dos mejoras que van a permitirnos agilizar el uso de la herramienta.

El primer cambio, es que se van a poder arrastrar y soltar archivos de proyectos directamente en la pantalla principal:

Cuando se arrastra el archivo “.pilas” a esta pantalla el editor lo abre directamente sin pasar por la pantalla de confirmación, tanto en la versión web como en la versión de escritorio offline.

También añadí otra mejora a la versión online cuando se guardan los proyectos: Cuando se pulsa “guardar” el proyecto queda almacenado en la sesión del navegador además de generarse el archivo de proyecto “.pilas”. Esto hace que la siguiente vez que se abra el editor (en la misma computadora y navegador), el proyecto aparezca directamente listo para seguir desarrollando.

Agregando atajos de teclado

Añadí atajos de teclado para hacer más sencillo trabajar sobre el area de juego.

Se pueden crear actores nuevos en la escena pulsando la tecla “n” y se pueden eliminar los actores seleccionados pulsando “x”.

Estas dos acciones no requieren confirmación, ya que también incorporé el sistema para deshacer cambios que comentaré a continuación.

Implementando el botón “deshacer”

A partir de esta versión se pueden revertir cambios pulsando el botón “deshacer”:

PilasEngine___2020-05-17_13-42-49

Esta funcionalidad puede revertir hasta 10 cambios hacia atrás, al menos los cambios más realizados en el motor como: cambios de propiedades, creación de actores, eliminación de actores etc…

Agregando un gestor de sonidos

Realicé una primer implementación del gestor de sonidos para el motor.

Esta es una incorporación bastante importante, a pesar de que en esta primer entrega no parece tener mucha funcionalidad, el módulo de sonidos es complejo e intervienen muchas partes del motor para que comience a funcionar bien.

En próximos Sprints voy a incorporar la posibilidad de añadir sonidos externos, pero la estructura general más importante está lista para usar.

Otros cambios menores

Añadí varias correcciones y mejoras muy puntuales a medida que revisaba el motor. En total fueron un montón de cambios pequeños como para mencionarlos, pero quería hacer este apartado para reforzar algo que mencioné hace tiempo: es de mucha ayuda el reporte de errores y las pruebas que realizan, ¡gracias por eso!, es muy importante para mí que cada prueba, problema o éxito que tengan con la herramienta lo mencionen aquí para mejorar el motor.

Ideas para el próximo sprint

Tengo planificado añadir la posibilidad de añadir sonidos externos en el gestor de sonidos y armar el mini juego tipo beat em’ up.

También voy a intentar mejorar algunos detalles del sistema de física, trabajando en el video tutorial que mencioné más arriba encontré varias cosas para mejorar, las voy a pasar en limpio y luego vuelvo a escribir.

¡Hasta la próxima!

8 Likes

Hola @hugoruscitti, tenes pensado agregar la funcion de fuentes personalizadas?

Bravo!!,voy a ver ese videotutorial. :+1:

Muy bueno,mire todo el tutorial y puedo decir que el diseño de pilas ya practicamente esta terminado,vi muchos conceptos de otros engine y la verdad una maravilla.
Lo único que no me gusto de la api es la del pulsar teclas…
this.pilas.control.izquierda

Creo que quedaria mejor y es muy importante determinar cuando esta presionada,cuando fue soltada o cuando está mantenida.
this.pilas.Presionaboton.izquierda
this.pilas.Sueltaboton.izquierda
this.pilas.Mantieneboton.izquierda
Osea si escribis botón que aparezca alguno de estos input
.
Después todo lo demás perfecto,me fascino,esperamos las siguientes mejoras.

Otro tema de los Input que existe tanto en godot como en Unity es el que al pulsar una tecla devuelva 1 o -1 de esta forma
es posible mover los personajes de otra manera.
Por ejemplo en Godot Engine


Osea el input tiene este nombre,

En unity es parecido,pero tiene otro nombre en este ejemplo vemos como es aplicado en un vector2int que posee la posición x/y para mover objetos en una escena,un tema importante que no podría afirmar pero que a simple vista parece cierto es que con el getaxisRaw de unity no es necesario hacer la resta de Godot Engine.
Captura de pantalla_2020-05-24_13-46-19

Osea este sería el input en unity.

Documentación de unity con un poco más de info y ejemplos sobre esta funcionalidad.

Bueno eso fue todo por este domingo,gracias por el tutorial los conceptos sirven para cualquier engine estubo muy bueno el tutorial…Saludos.

Ayer estube viendo el video tutorial y me gusto mucho,explicas de una forma muy didactica y paso a paso,lo haces tan bien que no quedan dudas y se aprende con bastante facilidad,para mi un tutorial de 10.

Ya solo queda integrar el sistema de musica y algunos retoques y ya estara listo pilas para realizar juegos completos.Gracias por todo el trabajo que estas haciendo,para mi la mejor herramienta para aprender a programar mientras creas juegos,muy superior que scratch. :+1: :+1: :+1:

Se que no tiene mucho sentido,pero me preguntaron si es posible manejar el DOM desde el Engine,nose capas sirve para darle alguna funcionalidad al engine personalizada como crear plugins…

Buenisimo lo del gestor de sonidos! Justo lo que estaba buscando…

¡Muchas gracias por sus palabras!, voy a tomar nota de las ideas y tratar de incorporarlo al próximo sprint.

Lo de fuentes personalizadas lo veo medio difícil ahora porque aún existe un bug en phaser que nos impide hacer que las fuentes se puedan generar realmente desde el editor (Text and RenderTexture Issue · Issue #5064 · photonstorm/phaser · GitHub) pero veremos que pasa en uno días.

También puede que lo resolvamos teniendo más variedades de fuentes tipo bitmaps o un tutorial que explique cómo hacer fuentes personalizadas e incorporarlas. Yo siempre preferí las fuentes tipo bitmap para juegos porque se pueden decorar de mil maneras, y siempre son más rápidas de dibujar que las fuentes de sistema personalizadas.

Por cierto, si no les suena mucho el tema de las fuentes tipo bitmaps hay un buen artículo acá: Diseño de tipografías bitmap (bitmap fonts) para juegos Unity | by Ignacio Ferro | BinPar y otro (no tan reciente) que muestra el algoritmo detrás de las fuentes tipo bitmaps http://losersjuegos.com.ar/referencia/articulos/fuentes_graficas

Sobre los controles tipo unity, a futuro nos vendría bien tomar algunas ideas de ahí, sobre todo si agregamos soporte para gamepads o joysticks con controles analógicos.

Bueno, tomo nota de las ideas y seguramente incluya algunas en este próximo sprint.

¡Gracias nuevamente!

2 Likes

Hola @hugoruscitti que buen tutorial, una cosa que estaria buan, segun para mi, que para poder colapsar y expandir los paneles sea con atajo de teclado, como [cntrl + T] para expandir o colapsar el panel de codigo y [cntr + P] para expandir o colapsar el panel de propiedades, un saludo

Hola Hugo.
Encontre esta libreria JS para integrar Huesos.

Pijnta buena
Saludos

Hola @Alejandro_Romero!!, voy a investigarlo, actualmente pilas soporta huesos, pero lamentablemente hace falta un software externo para realizar las animaciones:

http://foro.examplelab.com.ar/t/agregando-soporte-para-bones-y-renovacion-del-foro/1675

Si encontramos una alternativa libre o gratuita para realizar las animaciones sería espectacular.

¡Gracias por el dato!