Aprender a usar la herramienta Pilas-Engine para el desarrollo de un juego basado en el lenguaje de programación Python.
Objetivo específico:
Motivar el uso de este intérprete para explotar todo potencial de dicha herramienta entre la sociedad.
MARCO TEÓRICO.
¿Qué es pilas-engine?
Pilas es una herramienta para construir videojuegos de manera sencilla y divertida.
Ideamos esta herramienta para que los jóvenes puedan descubrir y aprender a programar computadoras. Creemos que aprender a programar es espectacular, porque les permite tener el control de las computadoras, inventar y desarrollar cualquier tipo de software.
¿Por qué pilas?
Pilas está focalizado en ofrecer ayuda a los desarrolladores de juegos casuales y novatos que quieran hacer sus primeros videojuegos, ofreciendo una colección importante de actores, escenas prediseñadas y rutinas para facilitar las tareas más comunes del desarrollo.
Pensamos que pilas es una gran oportunidad de acercar el desarrollo de videojuegos a todas las personas, principalmente jóvenes con interés en aprender a programar computadoras y darle vida a sus ideas.
Pilas está profundamente inspirada en las ideas de Seymour Papert, logo y bibliotecas de videjuegos modernas como cocos2d, pygame, rabbyt y squeak.
Características
Estas son algunas de las características técnicas que podemos resumir de pilas.
• Es multiplataforma (Funciona sobre GNU/Linux y Windows)
• Cuenta con objetos prediseñados para agilizar el desarrollo.
• Tiene documentación completamente en español.
• Se utiliza desde python, lo que permite usarla desde sesiones interactivas.
• Incluye interacción con el motor de física pybox2d.
• Es software libre.
• Cuenta con varios ejemplos y tutoriales para ir paso a paso.
A lo largo del documento se dará un repaso más completo de cada una de estas características y más.
¿Cuándo comenzó?
El proyecto comenzó el 1 de Agosto del 2010, a cargo de Hugo Ruscitti, puedes ver el primer commitdel proyecto y cómo avanzó en el tiempo usando el historial de cambios que tenemos en github.
Este juego fue desarrollado en el motor Pilas-Engine basado en el lenguaje de programación Python.
Básicamente se trata de crear un entorno llamativo para el usuario con múltiples funciones y objetivos respecto al juego.
Este contiene librerías importadas de dicho lenguaje de programación en si consiste en crear la clase del menú principal del juego ahí contiene las escenas del juego que se van a iniciar en el menú contiene las instrucciones para poder inicializar el juego y seguidamente se inicia el juego con las primeras escenas creadas.
Una vez creada la escena del menú se procedió a crear al actor principal del juego después de haber iniciado el juego, luego el actor toma una grilla de cuadros de animación desde una imagen importada del equipo y los reproduce hasta que la animación termina. También se puede editar al actor en base al tamaño en escala del mismo, darle cualquier función y limitar su recorrido en el escenario de izquierda a derecha dependiendo los valores dado en el eje de la “X” o en su defecto de arriba hacia abajo en el eje de la “Y”.
Luego procedí a crear una clase la cual sería el botón de regreso al menú principal y con una función le di la acción de redirección al menú en mitad de la partida o cuando se haya perdido el juego o se haya ganado.
A continuación cree las clases que crearan al enemigo principal al ejecutar el código en el intérprete y de igual manera se le da funciones específicas, lo mismo realice para crear al enemigo secundario y para el actor de los puntajes.
Aquellas funciones fueron el tamaño de los actores, la ubicación, el traslado, rotación y el tiempo estimado para cada aparición de los actores.
Luego realice en la misma clase el fondo de la pantalla inicial donde se procede a jugar y donde también estarán la barra del actor principal, la del enemigo y el puntaje conseguido, obviamente le di formatos a cada actor como he venido haciendo una reacción para cada acción.
Y con todo esto ya realizado procedí a llamar a las clases antes creadas para que cumplan con lo requerido, una vez hecho esto hice las funciones de colisiones entre el actor principal y la golosina, colisión entre la munición del actor principal y el enemigo secundario, y por ende la función de las barras de energía de los actores.
Luego ya al terminar importe en el código varios archivos de sonidos una específico para cada escena según sea el caso.
Y al finalizar se procede a llamar y vincular todas las escenas creadas, con todos los actores, la escena principal y la ejecución del juego.
Manual de funcionamiento del juego
¿Cómo inicia el juego?
Para iniciar el juego tenemos que tener instalado, pilas-engine o alguna herramienta similar, (link de descarga por si no lo tuvieran http://pilas-engine.com.ar/)
Procedemos abrir nuestro programa pilas-engine
Una vez abierto arrastramos nuestro juego, hasta donde pone, puede ejecutar archivos.py
Una vez ahí dentro nos aparecerá el fondo de la pantalla de inicio del juego ahí estarán las instrucciones para iniciar y poder jugar
Al dar click como le pedirá en la pantalla se iniciara el juego con otro fondo donde ya se encontraran los personajes y la interfaz ya recreada.
Ahí tendremos al actor principal (Naruto) que tendrá como función los movimientos a través de todo el escenario con las teclas de “flechas” y la opción de lanzar municiones con la tecla de “espacio” y que va a tener como objetivos esquivar el enemigo principal que serán “bolas de fuego” (si esto no se lleva a cabo y se reciben impactos haciendo que la barra de energía de “Naruto” se mostrara el siguiente mensaje “Te queda el 30% de vida"), eliminar al enemigo secundario (Ninja) con sus municiones (realizando lo anterior cuando la barra del enemigo este en el 30% saldrá un mensaje diciendo “30% de vida del enemigo”), y atrapar la mayor cantidad de golosinas (ramen)(tendrá un valor de 10 puntos, cada vez que se atrape uno se mostrara el mensaje “Delicioso!”) en la parte inferior izquierda se encontrará un botón que nos permite regresar el juego a la pantalla del menú y en la parte superior derecha se encontraran las barras de energía o vida de “Naruto” y el “Ninja” que cada una se vendría a agotar por cada impacto recibido ya sea de la munición al enemigo o del enemigo a “Naruto” la equivalencia de resta por impacto es del 10% cabe recalcar que tanto la barra de “Naruto” como la del enemigo es de 100.
Nota: las bolas de fuego saldrán de la parte derecha de la pantalla de forma aleatoria, al igual que los Ninjas, pero las golosinas caerán desde la parte superior.
¿Cómo se gana?
Este juego se gana de la siguiente manera el personaje principal “Naruto” deberá esquivar todos los ataques del enemigo principal, y atrapando las golosinas mientras tanto debe lograr eliminar al enemigo secundario “Ninja” eliminándolo 10 veces a través de las municiones lanzadas por “Naruto” entonces la barra de energía del enemigo llegara a cero además se debe evitar que las “bolas de fuego” nos lleguen a tocar muchas más veces de las que eliminamos al “Ninja” para que nuestra barra de energía no se acabe y así “Naruto” será el vencedor del juego y saldrá un fondo con una canción alegre por la victoria obtenida.
¿Cómo se pierde?
Dicho lo anterior para perder básicamente tendría “Naruto” que recibir 10 impactos de la “bola de fuego” para que su barra de energía se agote hasta cero y no importa cuántas golosinas obtengamos en el transcurso de la partida así perdería “Naruto” y al final saldrá un fondo con una canción triste ya que se llegó a perder
CONCLUSIONES:
* Concluí que es muy útil la herramienta de pilas-engina además es muy amplia ya que puede realizarse un sin número de juegos de muchas diferentes maneras.
*Fue muy entretenido desarrollar este juego ya que nunca escuchado de este entorno y además que es muy sencillo de usar y eso permite que cualquier persona lo pueda hacer.
*Este entorno nos ayuda en el desarrollo mental y creativo y así nos lleva a seguir la rama de la programación.
ANEXOS:
Pantalla de menú de inicio.
Escenario donde se ejecuta el juego y sus actores.