Cambio hacia XNA
En el mundo del desarrollo de videojuegos siempre hay que estar avanzando y descubriendo nuevas tecnologías. Hace tiempo que quería mirarme bien el framework XNA de Microsoft. Este fin de semana he estado a fondo con él y me he enamorado. No sabía nada de el el viernes y hoy ya tengo hecho mi Pong clásico que suelo hacer al estilo Hola Mundo.
A partir de ahora creo que trabajaré con el y publicaré algunas cosillas sobre XNA. Me gusta mucho Python y Pygame, pero lo cierto es que para videojuegos más allá que para una toma de contacto y empezar en el mundo no es muy útil ya que es algo limitado. He intentado analizar los pros y contras de Python+Pygame y C#+XNA y mis conclusiones son.
Python + Pygame
Ventajas
- Son libres.
- Son multiplataforma.
- Lenguaje y Biblioteca super sencilla. Muy recomendado para inciarse.
Desventajas
- El soporte de gráficos por hardware es limitado, tira mucho de procesador.
- Python es un lenguaje interpretado, para juegos que requieran grandes cálculo eso se nota.
- Soporte solo para 2D.
- La gestión del sonido de Pygame es nefasta. Hay que usar bibliotecas adicionales.
C# + XNA
Ventajas
- C# es un lenguaje moderno y eficaz. Hereda toda la potencia de C++, pero lo hace sencillo.
- Tiene detrás toda la plataforma .NET que hace que tengas un mundo de posibilidades.
- C# es un lenguaje compilado, por lo tanto más velocidad.
- XNA tiene soporte para 2D y 3D.
- El framework XNA construido sobre directX.
- Fácil de aprender a usar, casi todo viene hecho. Es montar las piezas para hacer lo que tu quieres.
- Puedes publicar tu juegos para Xbox 360 y Microsoft Phone.
- Es gratuito. Tando C# express como XNA son gratuitos.
Desventajas
- No es libre (XNA).
- Soporta menos plataformas que Pygame(nada de Linux, ni Mac por ahora).
Por tanto para mí la decisión es clara, me gusta el software libre y linux, pero en el mundo de los videojuegos si quieres dedicarte a eso no es el camino más óptimo actualmente. Así que bienvenido a XNA.
Intentaré terminar los tutoriales de Pygame que tengo a medias, no os los dejaré a la mitad.
¿Por qué todos se van a plataformas así?
¿Nunca probaste SFML (Simple and Fast Media Library)? Es una alternativa bastante venerable a SDL escrita en C++:
-Renderizado vía OpenGL (aceleración por hardware).
-Curva de aprendizaje mínima y una API práctica y reducida.
-Gran control de dispositivos de entrada.
-Soporte de Audio bastante decente.
-Un sistema de Scrolling integrado.
Entre otras cosas… la biblioteca está soportada por Python (vía el binding PySFML) por lo que si te familiarizas, dar el salto a otro lenguaje te será muy fácil (ya que tiene bindings para C, C++, C#/.NET, Python, Ruby y Lenguaje D).
joder, mejor usa SFML y trata de mantenerte multiplataforma, yo uso PySFML y me a parecido una muy buena opción a PyGame, te la recomiendo mas que XNA… pasate por el repositorio de ejemplos en PySFML que estoy escribiendo con otros programadores mas que están orientados a novatos, https://bitbucket.org/shackra/ejemplos-pysfml quizás cambies de parecer ;).