En este taller se propone una introducción al diseño de videojuegos y a la programación con Python desde una Raspberry Pi. El mismo se complementa con los talleres de Narrativas no Lineales y el de Exploración de la placa Raspberry Pi.
Para poder llevar adelante nuestro taller, haremos uso de múltiples herramientas que listamos a continuación:
- GitHub: Una plataforma para alojar nuestros proyectos y trabajar de forma colaborativa con otros programadores. Requisito crearse una cuenta
- Google Colab: Una plataforma que nos permitirá introducirnos al mundo de Python ejecutando código directamente desde el navegador sin necesidad de descargar entornos de programación específicos.
- PyGameZero: La librería que usaremos para construir nuestro videojuego en Python, basada en PyGame.
- Un editor de código como el IDLE preinstalado en el sistema operativo de la Raspberry o MU el cuál debe ser instalado.
- GPIO Zero: La librería que utilizaremos para interactuar con los pines de nuestra Raspberry y conectar los componentes electrónicos necesarios para construir un joystick para nuestro juego.
1) Preparación del Entorno
- Comandos de consola en Raspbian (Linux) para crear la estructura de archivos del proyecto
- Comandos de GitHub para: configurar la cuenta, clonar el ropositorio remoto y crear una rama.
2) Exploración de Ejemplos
- Lectura del código (python + Pygame Zero) de los ejemplos descargados.
- Modificación de aspectos visuales de los ejemplos usando VIM.
3) Montaje de aspectos visuales
- Descarga del Pack de Recursos.
- Creación del boceto en lápiz y papel.
- Creación del código en Pygame Zero para cargar los assets descargados.
4) Mecánica y Comportamientos del juego
- Creación de las funciones para la movilidad del personaje (desplazamientos y gravedad).
- Creación de las funciones para interactuar con el entorno (colisiones y final del juego).
5) Construcción del Joystick
- Ensamblado del Joystick utilizando componentes electrónicos básicos (protoboard, cables y botones).
- Conexión del Joystick a la RaspberryPi siguiendo el esquema de pines GPIO.
- Creación de la función para implementar el Joystick dentro del juego.