Eclipse PyDev + PyGame - Programando juegos en Python

Publicado el Viernes, 30 de abril de 2010
Python

Python

A raíz de varias conversaciones en el trabajo, nos decidimos a comenzar a implementar un videojuego. Hace tiempo que venimos comentando la idea, pero nunca nos habíamos puesto a hacer algo concreto. Hoy Pablo vino con la noticia que los otros dos interesados en el proyecto "ya habían comenzado", y que lo iban a implementar en Flex... ("así practicábamos").

En el intercambio de bromas (que si en C, Assembler...), insistí en usar PyGame, la biblioteca orientada al desarrollo de videojuegos en 2D orientada al manejo de Sprites. Al llegar me puse a probar cosas. Por suerte la documentación de PyGame es mucha, y bastante simple. Iván, otro de los involucrados en el proyecto, ya estuvo jugando un rato con PyGame también.

No tocaba Python desde el post Primeros pasos con Python (donde tampoco llegué demasiado lejos). Pero no costó demasiado reescribir y adaptar los ejemplos de código que encontré. Lo de indentar es una muy buena práctica y no se hace tan difícil, lo que cuesta es no poner un ";" al final de cada línea.

Configurando Eclipse

Esta vez no usé la distribución de EasyEclipse. Descargué desde Eclipse.org la versión más liviana que encontré (C/C++ 79Mb) y le instalé el plugin de PyDev:

Agregamos nuevo repositorio de instalación para Eclipse, y pegamos el URL:
http://pydev.org/updates/

Elegí un nuevo directorio de trabajo, en ~/workspace/python y lo seleccioné por defecto.

Eclipse PyDev: Nuevo Proyecto

Eclipse PyDev: Nuevo Proyecto

Ahí mismo descarguéla biblioteca PyGame:

En el directorio examples encontramos varios ejemplos de código para ayudarnos a empezar con pyGame. El archivo readme.txt muestra un resumen de cada ejemplo.

Para agregar las bibliotecas de PyGame a nuestro proyecto, vamos a las propiedades, PyDev - PYTHONPATH y agregamos la biblioteca externa:

Agregar Pygame en Eclipse PyDev

Agregar Pygame en Eclipse PyDev

Y ya estamos prontos para salir programando. Todavía me falta muchísima práctica con Python, ni que hablar de PyGame. Sin embargo, en pocas líneas ya pude levantar una ventana con Sprites y darles movimiento. Cuando quise aprolijar el código y separar en clases, los ojos ya no daban más. Me confundí un poco con la sintaxis del lenguaje, así que dejé para otro momento. A veces la ansiedad de querer sacar algo andando rápido nos hace saltear documentación, pero veo que necesito leer algo más para poder programar algo prolijo y "mostrable".

Tengo al menos dos ideas de videojuegos "simples" en 2 dimensiones, probablemente ideales para ser implementados con estas herramientas. Espero que pasen de idea a algo concreto y visible. Pero con estas cosas "hobby", los tiempos nunca dan...
Al menos somos varios involucrados en el proyecto, ya comentaré cómo avanza.

These examples should help get you started with pyGame. Here is a
brief rundown of what you get. The source code for these examples
is in the public domain. Feel free to use for your own projects.

5 comentarios en este post

Feed de comentarios
  1. Avatar

    Pablo (implicado) 30 abril. 2010 - 19:20

    No pretendo sacar mérito al autor, pero lo de PyGame lo tiré como opción hace tiempo.
    En cuanto esté listo el repositorio prometo aportar mi no-mucha-experiencia en PyGame, pero bajo ningún motivo pienso usar Eclipse.

    • Avatar

      fernando 30 abril. 2010 - 20:16

      Sí, era la opción obvia. Pero mi insistencia era por la amenaza de hacerlo en Flex…

      Ya hablamos con Ivo, a ver si la semana que viene arrancamos a programar algo tipo “Space Invaders” para agarrarle la mano.

  2. Avatar

    Alejandro Segovia 6 mayo. 2010 - 13:53

    Hola Fernando,

    Realmente Pygame es una biblioteca excelente, construida sobre SDL, que provee muchísimas facilidades para hacer cosas cotidianas como leer imágenes en distintos formatos y controlar el loop de eventos del programa.

    Ya que están comenzando de cero, te recomendaría que veas si no les conviene arrancar con Pygame2 desde el principio.

    Aún está en beta, pero en algún momento se va a realizar el cambio y lo que hoy conocemos como Pygame probablemente quede como Legacy.

    Saludos,
    Ale.-

    • Avatar

      fernando 6 mayo. 2010 - 15:27

      Gracias por el consejo.

      Vamos a aprovechar ya que estamos en cero con PyGame (y con Python también :P) de aprender con lo nuevo.

      ¿Algún otro tip que nos puedas dar vos que andas en el tema?

      Saludos Ale!

  1. de la red – 30/04/2010 « Tecnologías y su contexto | 30 abril. 2010 - 23:43

    […] Eclipse PyDev + PyGame – Programando juegos en Python […]

Dejar un comentario

Toasty!