Resumen del Sprint #11

¡Hola!, pasaron varios días desde el último resumen del sprint, pero se avanzó mucho en la herramienta y por suerte tenemos varias novedades para compartir.

¡Ya les cuento las novedades!

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:

Agregando la posibilidad de subir imágenes personalizadas

A partir de esta nueva versión se van a poder subir y utilizar imágenes desde archivos externos fácilmente.

Para cargar una imagen personalizada hay que seleccionar la propiedad imagen de un actor y luego pulsar el botón “Importar imagen”.

En este caso, se puede cómo incorporé un archivo .png llamado “imagen.png” dentro del editor:

Voy a intentar hacer algún video tutorial para mostrar en detalle esta nueva mejora porque es bastante útil y hay varios detalles que me gustaría mostrar.

Incorporando ejemplo de naves contra aliens

Agregué un pequeño ejemplo que muestra cómo implementar colisiones entre proyectiles y enemigos:

PilasEngine_2019-10-13_20-06-13

El ejemplo surgió por una consulta que se hizo en este mismo foro, Ayuda con colisiones juego de naves, curiosamente nunca se me había ocurrido hacer un ejemplo de naves así, y ahora que lo veo me doy cuenta que es super importante.

Así que aprovecho a consultarles, ¿Qué otros ejemplos están faltando en pilas?, ¿hago más minijuegos?, ¿o ejemplos más pequeños y puntuales?, ¿qué ejemplos les gustarían ver en la próxima versión?

Mejorando personalización de escenas y actores

Hice varios arreglos en la forma en la que se pueden editar las escenas, entre estos cambios hice que se pueda cambiar el nombre de las escena y los actores:

PilasEngine___2019-08-03_20-23-20

Permitiendo mover actores entre escenas

Ahora tenemos la posibilidad de mover actores entre escenas. Agregué un menú desplegable al costado del menú de actores con varias acciones.

PilasEngine___2019-10-03_19-40-36

Tener la posibilidad de mover un actor de una escena a otra fue una idea que nos propuso hokuto hace unos días. Yo no me imaginaba muy bien si sería útil o no, pero luego de pensarlo un poco y jugar con un prototipo de la funcionalidad me pareció genial.

Una de las cosas que permite hacer esta funcionalidad es limpiar la escena de los actores auxiliares, o inactivos. Por ejemplo, en el mini-juego tipo flappy bird que había armado para el video tutorial hay varios actores que se podrían mover a otra escena con esta funcionalidad:

Y vale mencionar que aunque movamos los actores de una escena a otra, las funciones cómo clonar van a seguir funcionando sin problemas.

Otras tareas

Obviamente se hicieron otro montón de mejoras más, pero como no llegué a detallarlas por completo les dejo al menos el listado:

  • Haciendo un modelo de comportamientos similares a los que tenía pilas 1.
  • Corrigiendo bug que aparecía al momento de fijar la velocidad vertical de una figura dinámica.
  • Corrigiendo área interactiva de los actores cuando cambian de imagen.
  • Creando método “cuando_colisiona” que se llamará ante cualquier colisión, por más que sea entre figuras estáticas.
  • Se corrigió el problema de maquetado en firefox.

También tuve la posibilidad de dar un taller de realización de videojuegos para niños (y algún papá curioso) en la Universidad Tecnológica Nacional de Buenos Aires:

En el taller hicimos una versión reducida del minijuego flappy bird y jugamos bastante con el motor de física de pilas:

La experiencia estuvo buenísima, así que seguramente se va a repetir en el futuro.

Para el próximo Sprint

Estuve investigando bastante sobre matterjs, el motor de físicas que estamos usando en pilas, y eso me dio varias ideas para agregar al editor, como la posibilidad de suspender la gravedad de actores puntuales o incluso lograr movimientos constantes. Posiblemente le dedique bastante tiempo a eso, y a crear algunos ejemplos de físicas más avanzados.

También me gustaría mejorar un poco más la apariencia de los paneles y reducir un poco la cantidad de texto y opciones en pantallas, tal vez ensaye algunos cambios de interfaz para ver si conviene “colapsar” algunas opciones o no.

Ah, y también quiero dedicarme a crear más ejemplos, como les comentaba antes. ¿Se les ocurren ideas para sumar a este sprint?

¡Saludos!

Hola Hugo.

Muy interesante las novedades,sobre lo de realizar un video sobre la opcion de importar las imagenes,creo que es necesario ese video donde expliques en profundidad como usar esta opcion y tambien deberias de explicar en ese video como hacer animaciones en pilas con esas imagenes importadas.

Sobre los ejemplos,pues…deberias de hacer ejemplos de minijuegos y ejemplos pequeños sobre cosas especificas,para los minijuegos puedes coger ejemplos de juegos de la megadrive con algun emulador y sobre los ejemplos pequeños,puedes coger ideas de gdevelop que trae un monton de ejemplos pequeños.

Sobre los actores,sigue sin convencerme como esta organizado,lo mejor seria tener un apartado solo para los actores y una vez se creen pues solo seria agarrarlo y soltarlo en cada escena,pero cuando lo agarras y lo arrastras lo que se crea es una instancia del actor,el actor original se queda donde esta.Lo mejor seria que miraras como esta hecho en gdevelop para que entiendas lo que te digo.

Algo que he pensado y que seria interesante, es que se creara una buena cantidad de actores para poder crear aplicaciones de escritorio,puede que haya gente que no quiera crear juegos y que le interese mas crear aplicaciones graficas como un bloc de notas,una calculadora,un reproductor de musica,un reproductor de video etc…Saludos :slightly_smiling_face:

Hola hugo,queria comentarte un par de cosas.

Cuando pulsas en la carpeta proyecto hay la opcion para aplicar la resolucion que se quiera,pero creo que falta la opcion para colocar los fps que se quieran,para ordenadores viejos es recomendable tener el juego a 30 fps o menos por eso creo que es necesario que metas esa opcion.

No se si te he dicho esto pero te lo voy a decir por si acaso no lo he comentado,he probado el actor nave y tiene algunos errores,si te mueves hacia delante y al mismo tiempo giras hacia la izquierda no funciona el disparo ,y si te mueves hacia delante y al mismo tiempo disparas no funciona el girar hacia la izquierda.

El actor ceferino cuando ejecutas la aplicacion solo se ven cajas verdes y negras,no se si esto es a proposito o es un fallo.

He mirado la documentacion sobre las animaciones pero no esta muy claro y no consigo hacerlo funcionar,para crear la animacion el la documentacion hay este codigo.

this.crear_animacion("conejo_parado", ["imagenes:conejo/conejo_parado1", "imagenes:conejo/conejo_parado2"], 2);

Pero no esta claro que carpeta y archivo esta cargando,no se si la carpeta se llama imagenes o conejo(“no entiendo esos dos puntos delante de imagenes”),tampoco se si hay que poner la extension del archivo de imagen porque aqui no lo lleva.
Agradeceria una explicacion un poco mas detallada.Saludos

Podrias agreger un sistema de combos,es algo que se usa en muchisimos juegos.
podrias agregar un sistema de camara sigue a jugador y cuando muere deja de seguirlo.
Podrías agregar un sistema de interpolación,osea Godot engine tiene un nodo llamado tween que sirve para interpolar casi cualquier cosa como rotaciones,posiciones entre otras…La ventaja de pensar en una herramienta como esta es que si vos tenes que cambiar a un personaje de lugar podes hacerlo en un cierto tiempo,también va en el caso de las rotaciones para que no sean inmediatas…Osea la interpolación seria como una posición inicial y una posición final “en un cierto tiempo”…En unity se suele usar la función matemática lerp para esto…EL problema es que tenes que usarlo dentro de un bucle para calcular con el delta time el tiempo entre las 2 posiciones y eso no es tan optimizado como el nodo tween de Godot Engine…saludos

Hola de nuevo.

Estaba mirando la documentacion por si se habia introducido algo nuevo y veo que todavia no se ha documentado la api del motor.

Mire la funciones en la lista desplegable del autocompletado del ide pero como no se para que sirven muchas y tampoco se los parametros a introducir,ni se como se usan,creo que se deberia documentar cada funcion.

Como has dicho que ibas a realizar algunos ejemplos,deberias de hacer pequeños ejemplos con cada funcion,para saber como usarlas y ya de paso tener esos ejemplos como documentacion de todas las funciones disponibles.

¡Hola!, ¡gracias a ambos!. Estuve pasando algunas de sus sugerencias al trello de pilas para ir incorporando mejoras al sprint que viene.

Sobre las animaciones, voy a intentar diseñar una interfaz para poder crear y probar animaciones sin necesidad de escribir código. Creo que pueden quedar bien si logro al menos bocetar una primer versión muy simple.

¡Muchas gracias!, y si se les ocurren más ideas avisen!!

1 me gusta

Hola.

Estube exportando algunos ejemplos y probandolos en un servidor local con xampp para ver como funcionaban en velocidad.

La mayoria de ejemplos me funciono muy bien pero el de la gallina/flappy, cuando muere y sale el boton de reiniciar se queda congelado y hay que cerrar el navegador.

Lo probe en firefox y google chrome,en los dos se congela,el juego funciona bien hasta que la gallina muere.

Me he encontrado mas errores.

Si utilizas la opcion de duplicar 5 veces un actor hay dos que salen con el mismo nombre y no me deja cambiarlo y tambien hay un actor que lo coloco en alguna parte del escenario pero al ejecutar se coloca en otra parte.

Si utilizo un objeto con el rebote en 1.5 este despues de rebotar dos o tres veces acaba desapareciendo.

Si desde el codigo desactivo la dinamica y luego lo activo desde el codigo el objeto desaparece.

La funcion avanzar() intento que haga avanzar una bala al ser creada en la direcion de rotacion del objeto que la crea pero no lo hace,esta funcion la tengo que probar mas para confirmar si es que no se usarla bien o es un fallo de la misma.

5 mensajes han sido separados a un nuevo tema: Consultas sobre juego arkanoid