Resumen del Sprint #08

Resumen del Sprint #08

¡Buenas!, quiero resumirles las mejoras que se implementaron en la versión más reciente de Pilas Engine 2

Notas

Los links para usar la versión online o descargar la versión nueva están aquí. Recuerden que aún estamos en una fase muy temprana del desarrollo:

Ahora se pueden ejecutar los juegos en dispositivos móviles

Implementé un pequeño servidor web dentro del mismo editor de pilas para que sea super sencillo probar y actualizar juegos desde dispositivos móviles.

Para ejecutar un juego en un dispositivo móvil solo se tiene que pulsar el botón iniciar servidor web e ingresar la dirección IP que aparece en pantalla.

Incluso pude grabar un video mostrando cómo se utiliza esta nueva característica:

También se crearon algunos actores nuevos para generar gamepads en pantalla similares a los que se incluyen en varios juegos móviles:

Lo único que me quedó pendiente es llevar esta característica a la versión web, porque por el momento solo funciona en la versión offline. Queda para el próximo sprint.

Incorporando observables

Añadí un concepto nuevo a la herramienta llamado observables, que permiten poner en pantalla un pequeño visualizador de variables para saber exactamente qué valor tiene cada propiedad.

Por ejemplo, en este caso se hicieron 4 observables para ilustrar las variables más importantes para construir un pequeño tanque que apunta en la dirección del cursor del mouse:

Si quieren ver una descripción completa de este concepto y cómo se utiliza pueden visitar la documentación aquí:

Otras mejoras generales

Se hicieron varias mejoras menos visibles a los usuarios pero bastante importantes: ahora el editor no utiliza la biblioteca jQuery, con lo cual la aplicación carga más rápido y es un poco mas liviana.

También hice unos scripts para automatizar la incorporación de imágenes, y con esa mejora también añadí varias imágenes nuevas:

Luego agregué algunas habilidades nuevas como oscilar y varias mejoras en la estéticas de los paneles:

también documenté las funciones para gestionar el tiempo y hacer pausas en el manual:

y por último incorporé un ejemplo de mini-juego imitando la mecánica básica del juego flappy bird:

Para el próximo sprint

Como les escribí anteriormente, el modo para ejecutar juegos en dispositivos móviles por el momento solo funciona en la versión descargable (u offline) de pilas. Me gustaría dedicar algo de tiempo a llevar esa funcionalidad a la versión web en este próximo sprint. Es algo más desafiante hacer que funcione en la versión web, pero creo que voy a poder resolverlo.

Otro objetivo que me quedó pendiente es crear el actor pizarra. Me di cuenta que había subestimado un poco la dificultad de ese actor y no pude resolverlo como quería. Así que en este sprint me voy a dar una segunda oportunidad a ver si puedo implementarlo bien.

¿Cómo lo ven?, ¿me ayudan sugiriendo ideas y probando estas nuevas características?. Obviamente cualquier error o detalle que encuentren avísenme y trato de corregirlo.

¡Abrazo!

1 Like

Hola hugo,vamos con una tanda de sugerencias.

El tema de comportamientos que se pueden introducir desde el editor esta muy chulo pero muy limitado ya que no me deja cambiar ningun parametro de esa habilidad como por ejemplo la velocidad.

Habria que darle mas opciones o hacer los cambios desde el codigo.
Otra cosa que ya comente hace tiempo es que cada actor pueda aprender las habilidades de los otros actores y sobre todo que un actor creado desde cero que me permita enseñarle cualquier habilidad de cualquier actor prediseñado.

Aunque seria mejor un sistema de comportamientos como tiene construct2 en vez de actores prediseñados,creo que da mas libertad .

La funcion de tiempo me confunde y no queda claro su uso,esto como se usa,de esta manera:
“pilas.luego(cantidad_de_segundos_a_esperar, función)”

O de esta otra manera que es muy rara:
“pilas.luego(3, () => {
mi_actor.decir(”¡Han pasado 3 segundos!“)
})”

No entiendo ese parentesis y esa flechita,no seria mejor usar estas funciones de esta manera:
“if(pilas.luego(3)) {
mi_actor.decir(”¡Han pasado 3 segundos!“)
}”

Ahora la ultima sugerencia,sigo sin poder cargar sprites desde el disco duro o no se como se hace,sobre todo me interesa para el actor creado desde cero,propongo una idea tal y como esta en construct 2.

Si te fijas en la imagen donde te he señalizado tienes la ventana de abajo donde se van cargando en una lista cada imagen suelta del sprite y en la parte derecha de arriba hay otra ventana donde pones el nombre de esa animacion.

Luego hay otra ventana para darle velocidad y si quieres que sea en bucle o solo una vez pero eso se puede hacer desde el codigo de pilas,creo que estaria bien poder cargar cada imagen y darle su nombre para luego poder controlarla desde el codigo.Saludos

1 Like

Hola, esta avanzando muy bien la version 2 de pilas! me gustaria que los ejemplos esten documentados con “//” para que sea mas educativo por asi decirlo, tambien no estaria de mas que en la documentacion PilasEngine tenga un pequeño ejemplo para cada codigo, ej de la funcion “avanzar”:

class actor extends Actor {
    propiedades = {
        imagen: "imagenes:objetos/aceituna"
    };
    iniciar() {
        this.imagen = "imagenes:objetos/aceituna";
    }
    actualizar() {
        //avanza con un angulo de 0 a una velocidad de 0.1
        this.avanzar(0, 0.1);
    }
}

porque por ejemplo en muchas ocaciones cuando estaba investigando la documentacion me costo muchisimo entender como utilizar ciertas cosas y hasta en algunos casos me di por vencido :frowning:

1 Like

Tiene muchísimas mejora parece que falta poco para que sea stable…Sigo soñando con ver algo 3D dentro de este engine…Saludos.

Para el 3d lo mejor seria introducir en pilas 2 three.js,parece que da muy buen rendimiento por lo que he podido probar en sus ejemplos.

1 Like