¡Saludos!, espero estén bien en medio de este momento tan raro del mundo.
Les escribo porque hoy publiqué una versión nueva de pilas con muchas novedades.
Les recuerdo que pueden descagar pilas desde la web, usar la versión online o acceder al código en github:
- https://www.pilas-engine.com.ar/
- https://app.pilas-engine.com.ar/
- GitHub - pilas-engine/pilas-engine: Una herramienta para aprender programación y desarrollo de juegos
Estas son las novedades:
Desplazamiento y zoom en el editor
Agregué la posibilidad de desplazar la cámara dentro del escenario directamente con el mouse.
También agregué un pequeño mini mapa para mostrar la parte del escenario que visualiza la cámara y cómo nos desplazamos:
El tamaño total del escenario se podrá cambiar desde estas propiedades nuevas en la escena:
También añadí la posibilidad de hacer "zoom” y controlar con mayor precisión la posición de los actores. El “zoom” se puede modificar utilizando la rueda del mouse o directamente desde el selector en la parte superior de la pantalla:
Este es el selector:
Con estos cambios también mejoré varios ejemplos, hice una función para que la cámara pueda seguir actores en tiempo de ejecución y varias cosas mas. Les dejo el link del manual en donde comento estas mejoras: PilasEngine Manual - Cámara
¡Ejemplos nuevos!
Agregué varios ejemplos nuevos para mostrar cómo se pueden implementar alguna mecánicas tradicionales en pilas.
El primer ejemplo que armé es una especie de Sokoban muy sencillo, apenas con un solo nivel, pero que aún así se puede extender fácilmente:
El otro ejemplo qué armé muestra la mecánica de un juego de naves estilo 1942. Con enemigos que realizan recorridos predefinidos, disparos que van hacia el protagonista, e incluso ¡ la posibilidad de enfrentarse a un jefe final !
Los gráficos de este juego los tomé de la galería libre SpriteLib por si quieren modificarlo.
Y el último de los ejemplos de mecánicas que armé es un juego donde podemos apilar cajas. Este ejemplo lo armé porque quería mostrar cómo se pueden combinan colisiones físicas con el desplazamiento de la cámara:
Creando una función para realizar recorridos
Implementé una idea que sugirió hokuto en el foro de pilas para que los actores puedan realizar recorridos por la pantalla de manera sencilla.
Hice varias pruebas y llegué a una implementación que me gustó mucho: La idea es muy simple, podemos tomar un actor y llamar a la función hacer_recorrido
especificándole todos los puntos que tiene que recorrer, una duración en segundos y algunos parámetros más:
El movimiento del actor se puede ajustar de varias formas, pero por omisión es super gradual, incluso se puede enviar un parámetro para que el actor cambie su rotación de acuerdo al movimiento que está realizando:
Esto es super útil, por ejemplo en el juego tipo 1942 que les mencioné antes usé este parámetro para mejorar el recorrido de estos enemigos:
Les paso el link al manual en donde se detalla cómo utilizar esta nueva función y algunos ejemplos más: PilasEngine Manual - Recorridos
Más imágenes
Incorporé varias imágenes nuevas de Kenney y las separé en tres grillas nuevas para mejorar la carga del editor:
Agregando grillas de posición
Añadí un selector de varios tipos de grillas para facilitar la ubicación de los actores en la pantalla y crear niveles con mayor precisión.
Esta nueva característica nos va a venir bien para hacer algunos juegos de plataformas en la próxima versión, estuve haciendo algunas pruebas y va muy bien.
Para el próximo Sprint…
Estuve pensando en varias mejoras para el siguiente Sprint, me gustaría rediseñar las pruebas que estaba haciendo para incorporar un gestor de sonidos. Si bien llegué a algo que funciona, no quedé muy conforme con el resultado y prefiero volver a diseñarlo usando otro enfoque. Veré si en este sprint logro darle una vuelta de tuerca e incluirlo en el motor.
Otra cosa que me gustaría hacer es crear algún mini juego de plataformas. Con las mejoras al sistema de cámaras y grillas creo que tengo todo para hacer un mini juego interesante.
¿Se les ocurren más mejoras para implementar?, estaré atento al foro cualquier idea que quieran compartir para la siguiente versión.
¡Saludos!