Sie sind auf Seite 1von 22

Como desarrollar juegos con Python y Pygame

Autor: Email: Web: Evento: Fecha: Licencia: Hugo Ruscitti hugoruscitti@gmail.com http://www.losersjuegos.com.ar CaFeCONF 2007 6 de Septiembre del 2007 Creative Commons

Resumen: Se mostrar como construir videojuegos en 2 dimensiones utilizando el lenguaje de programacin Python y la biblioteca Pygame.

ndice de contenidos

Por qu desarrollar videojuegos? Herramientas a utilizar. Veamos como hacer un juego paso a paso.

Otros proyectos interesantes. Preguntas.


Como desarrollar juegos con Python y Pygame

Por qu desarrollar videojuegos?

Hacer juegos permite:


aprender acerca de tecnologa. conocer el funcionamiento de los programas. encontrar una forma prctica usar matemticas. constituye una actividad muy constructiva.

ahora entre nosotros, permite:


dar vida a un montn de ideas locas. compartir tu experiencia de aprendizaje. es todo un desafo. diversin, mucha diversin...
Como desarrollar juegos con Python y Pygame

Herramientas a utilizar

python, como lenguaje de programacin.

y pygame como biblioteca multimedia.

Como desarrollar juegos con Python y Pygame

Python, como sugerencia

python es:

Un lenguaje de programacin. dinmico e interpretado. multiplataforma (GNU/Linux, Windows, Mac) es adecuado para casi todo proyecto.

Por qu python?

es fcil de aprender. excelente documentacin. promueve cdigo elegante, simple y legible. puedes adaptar tu programa al cambio.
Como desarrollar juegos con Python y Pygame

Pygame, una biblioteca multimedia

pygame se encarga de gestionar:


imgenes en formato PNG, BMP, PCX, TGA ... sistemas de sonido, formatos MOD, OGG, MP3... operaciones relacionadas con el gestor de ventana. eventos de aplicacin y dispositivos de entrada como mouse, teclado y joystick. temporizadores. Colisiones, sistema de Sprites (objetos de un juego).
Como desarrollar juegos con Python y Pygame

Un juego paso a paso

Es simple, pero tiene todo lo que la mayora de los juegos tiene.

Como desarrollar juegos con Python y Pygame

1 - Como crear una ventana

Incorporar el mdulo pygame. Utilizar la funcin set_mode con el tamao de pantalla.

cdigo

resultado

Como desarrollar juegos con Python y Pygame

2 Manejo de imgenes en pygame

La funcin load permite incorporar grficos a partir de archivos BMP, PNG, JPEG... etc. load genera un objeto Surface que representar a la imagen en la memoria del equipo. El retorno de set_mode tambin es una superficie, pero esta representa lo que veremos en pantalla.

Como desarrollar juegos con Python y Pygame

2 Como crear objetos Surface

cdigo

cdigo

logotipo

fondo

Como desarrollar juegos con Python y Pygame

2 El mtodo Blit

Se utiliza (generalmente) para dibujar en pantalla. blit recibe la superficie a imprimir y su posicin. La posicin consiste en una coordenada (x, y).
posicin (300, 300)

posicin (0, 0)

mono

screen

Como desarrollar juegos con Python y Pygame

3 y como realizamos movimientos ?

Los juegos generalmente utilizan un bucle de repeticin (llamado main loop). Ejecuta pequeas operaciones muy rpidamente.

Como desarrollar juegos con Python y Pygame

3 y como realizamos movimientos ?

En nuestro casos podemos cambiar poco a poco la posicin del Mono en el escenario.

Como desarrollar juegos con Python y Pygame

4 Sprite, como base para el Mono.

Agrupa todo lo relacionado con el personaje, atributos, comportamiento. El mtodo update contiene el comportamiento del personaje.

cdigo

diagrama

Como desarrollar juegos con Python y Pygame

4 Detectando la pulsacin de teclas

El mdulo key contiene una funcin llamada get_pressed. get_pressed nos informa el estado completo del teclado en un instante del juego.
Ejemplo: como podemos manejar al Mono del juego

cdigo

Como desarrollar juegos con Python y Pygame

5 Grupos

La clase Group permite agrupar y clasificar sprites. pygame facilita as la administracin de objetos. Para nuestro ejemplo podemos crear 4 grupos:

Como desarrollar juegos con Python y Pygame

5 Colisiones de grupos.

El mdulo sprite incluye varias funciones para controlar colisiones entre objetos Sprite. La colisin se evala en base a los atributos rect de cada Sprite, aunque se puede modificar...
Algunas posibilidades:
pygame.sprite.groupcollide (...) Colisiones entre miembros de dos grupos. pygame.sprite.spritecollide (...) Detecta todas las colisiones entre un sprite y miembros de un grupo. pygame.sprite.spritecollideany (...) Detecta la primer colisin entre un sprite y miembros de un grupo
Como desarrollar juegos con Python y Pygame

6 Otras mejoras

Una decoracin alrededor del escenario. Un laberinto de troncos. Enemigos con autonoma (IA bastante trucha...). y movimientos en bloque...

Como desarrollar juegos con Python y Pygame

Algunos proyectos interesantes...

Como desarrollar juegos con Python y Pygame

Algunos proyectos interesantes...


PyAr

PyAr es el grupo de usuarios de Python en Argentina. Suelen participar de la competencia internacional pyweek. ... casualmente darn una charla a continuacin en el Mini Auditorio (llamada pyweek un juego en 7 das).

Como desarrollar juegos con Python y Pygame

Algunos proyectos interesantes...


LosersJuegos

Es un proyecto que promueve el desarrollo de juegos Libres. Realizamos artculos, traducciones de documentacin al espaol y juegos. Contamos con un sitio web, un foro y un wiki cooperativo. Tambin armamos un CD ...

Como desarrollar juegos con Python y Pygame

Preguntas...

Programacin y parloteo: Hugo Ruscitti - <hugoruscitti@gmail.com> Grficos e ideas locas: Walter Velazquez - <wgv_tattoo@yahoo.com.ar>

Web

http://www.losersjuegos.com.ar

Das könnte Ihnen auch gefallen