Últimamente he empezado a interesarme por la programación de videojuegos. Lo cierto es que nunca me he topado con un juego escrito en Python salvo buscándolo específicamente, tal vez porque seguramente no sea el lenguaje más adecuado para ello. En cualquier caso me han entrado ganas de probar cómo sería eso de desarrollar un videojuego y Python se me hace muy cómodo para probar cosas nuevas, así que he decidido darle una oportunidad.
Leyendo tanto sobre programación de videojuegos en general como temas más específicos de Python (principalmente pygame) he encontrado tantas cosas que llamaban mi atención que me he saturado. Aún no había resuelto cómo dibujar el escenario y ya me encontraba debatiendo conmigo mismo qué algoritmo de búsqueda de caminos implementar para los enemigos.
Al final he optado por hacer un experimento: voy a desarrollar al mismo tiempo una especie de “motor” y un videojuego, de manera que iré implementando funciones en el motor según las vaya necesitando, aunque trataré de hacerlo lo más general posible de manera que sirva para otros tipos de juegos. Para no partir totalmente de cero voy a basarme en pygame.
Ya he visto algunas cosillas por ahí parecidas a lo que quiero hacer, pero como lo que realmente me interesa es aprender prefiero hacerlo yo mismo desde el principio, aunque investigue cómo lo hacen los demás, claro está. El código del motor lo alojaré en Google Code y aquí iré comentando la experiencia. No tengo intención de hacer una especie de tutorial, sino más bien comentar las dificultades que encuentre, decisiones a las que me enfrente, errores que cometa, etc.