En este curso vamos a desarrollar una serie de contenidos orientados al desarrollo de videojuegos con el objetivo de aprender a programar en Python.
Para empezar a abordar algunas cuestiones de este curso va a ser necesario tener algún conocimiento básico de programación, en cualquier otro lenguaje, ya que los contenidos que se explican no se orientan a la comprensión del lenguaje Python, sino a la comprensión de unas librerías ya definidas para crear videojuegos.
Para ello, deberemos relacionarnos con la comprensión de la documentación publicada online y poco a poco iremos aprendiendo trucos para conseguir nuestro objetivo.
Pygame
Pygame es un conjunto de módulos del lenguaje Python que permiten la creación de videojuegos en dos dimensiones de una manera sencilla. Está orientado al manejo de sprites. para la creación de animaciones y la manipulación de gráficos para cargar imágenes y sonidos, así como la recopilación de eventos de teclado y ratón.
La ventaja de Pygame es que es una biblioteca ligera que nos ayuda a comprender cuáles son los elementos de nuestro juego de una forma ágil con la que podemos aprender a programar en Python con resultados concretos.
Pymunk
Pymunk es una librería que nos permite aplicar físicas sobre Pygame que nos ayudarán a no tener que definir elaboradas ecuaciones que simulen movimientos, colisiones , fuerzas y de una manera más compleja el momento o el par de algunos objetos o la creación de cadenas cinemáticas.
Las físicas es quizás un modelo que requiere de comprensión, debida a su abstracción aplicada a cualquier plataforma de desarrollo de videojuegos y que requiere de un conocimiento del desarrollador para definir una serie de objetivos en el juego.
Pygame Zero
A lo largo del curso veremos que aunque programemos muy bien, algunos de nuestros objetivos como programadores de videojuegos pueden llevar más tiempo del que esperamos. Pygame Zero es una respuesta equivalente al de un motor de videojuegos que implementa las dinámicas más usuales para desarrollar de manera facil e intuitiva videojuegos.
Una vez que hayamos aprendido los conceptos básicos de programación, avanzaremos con Pygame Zero para avanzar más rápido hacia nuestros objetivos.
El curso se divide en :
Introducción a los videojuegos
- Recursos de videojuegos en 2D
- Vistas 2D y definición de la vista de nuestro videojuego
- Sprites y recursos de animación
- Tiles
- Sonidos
Pygame
- Image – Background blit and Resize
- Funcionamiento en bucle de nuestro videojuego – Eventos de teclado
- Eventos de ratón
- Class Player – Introducción a las clases
- Metodo constructor y herencia
- Movimiento
- Animación con Sprites
- Time clock
- Pygame Collisions
- Uso de máscaras Mask
- Grupos de colisionadores
- Layers – Capas de profundidad
- Fondo corredizo
- Interfaz de inicio
- UI – Buttons
- UI – Animation
- Sonidos
Pymunk
- Introducción a Pymunk – Physics space
- Vectores
- Elementos estáticos
- Añadir físicas a nuestras clases
- Colisiones y fuerzas
Clases Extra
- Explosiones
- Objetos Open/Close
- Enemigos
- Armas arrojadizas
- Coleccion de animaciones en lista
Todos los recursos del curso y los ejercicios los podréis encontrar publicados en nuestro Github.
Instalación de Pygame y Pymunk
Linux
Para instalar en Linux solamente tendremos que acceder desde el terminal y escribir los siguientes comandos en función de la version de python que tenemos instalada.
sudo apt-get install python-pygame sudo apt-get install python3-pygame
Para instalar pymunk en Linux podemos hacerlo directamente desde el gestor de paquetes pip de python.
pip install pymunk
IMPORTANTE: En caso de querer instalar pymunk en nuestra Raspberry, hay que instalar previamente los modulos CFFI, para extender unas dependencias que no son de Python. Para ello, ejecutaremos previamente el siguiente comando.
sudo apt–get install python–dev libffi–dev
Windows
Para instalar pygame en Windows deberemos instalar primero una versión de Python desde la página oficial en su sección de descargas.
Para instalar pygame escogeremos de la lista, la versión de la lista que nos conviene, identificando el sistema operativo (x86 para arquitectura de 32 bits, amd64 para 64 bits) y la version de Python cp27 para la versión 2.7.
Las versiones de python y de pygame deben coincidir. Para asegurar su funcionamiento descargaremos la versión 3.4 o la versión 2.7.
Este proceso puede ser a veces un poco complicado para Windows, así que os dejamos un video para añadir el gestor de paquetes de Python pip, para que podáis instalar todos los paquetes desde terminal, como si estuvieramos en una terminal de Linux.
Antes de nada, acordaros de ejecutar como administrador la terminal de Windows para dar permisos a las instrucciones de terminal y ejecutando el siguiente comando.
py -m pip install pygame
En caso de no installar el paquete podemos probar con otras instrucciones equivalentes:
python -m pip install pygame
También podéis revisar las instrucciones de instalación desde el siguiente enlace.
Instalacion de Pymunk para windows.
Si tenemos pip instalado todo será más fácil ya que las dependencias las reconocerá el sistema automaticamente y solamente tendremos que escribir en terminal lo siguiente..
pip install pymunk
También se puede instalar Pymunk accediendo a la sección de descargas y escoger la apropiada en la que aparezca la palabra win32 o win_amd64; en formato .whl.
Un archivo en formato .whl es un paquete de python que podemos instalar directamente con pip y para ello solamente tendremos que escribir “pip install” seguida la ruta del paquete que nos hemos descargado.