jueves, noviembre 02, 2006

Mono.Xna, el XNA libre

Tras el bombazo que han supuesto la aparición de las tecnologías XNA en tan poco tiempo, el mundo del software libre se une a la batalla y comienza el desarrollo de una librería compatible y libre para Mono
Lo cierto es que ya tardaban los desarrolladores de Mono en pronunciarse sobre el asunto, y es que una tecnología con tantísimas posibilidades es muy importante también en el mundo del software libre.

Para los no versados en la materia, Mono es una implementación en software libre de las tecnologías .NET. Como la mayoría de los proyectos en software libre (me refiero a los proyectos serios, de gran envergadura) no se puede atribuir su desarrollo a una entidad específica, sino a la entera comunidad de desarrolladores, cada uno poniendo su granito de arena. A pesar de ello, los chicos de Novell (que desarrolla la distribución SUSE Linux y otras basadas en ella) son los que podríamos llamar, padres de la criatura.

Mono no es símplemente una copia del runtime de .NET hecha mediante software libre. Además tiene SDK, como el .NET Framework, y también se está desarrollando un IDE de desarrollo similar a Visual Studio llamado monodevelop. La gran ventaja de estos paquetes es que los programas escritos y compilados con y para tecnologías .NET se convienrten en verdaderamente interplataforma, ya que Mono, al ser software libre, puede compilarse libremente para cualquier plataforma (Linux, Mac, Solaris, etcétera).

En su actual nivel de desarrollo (que como cualquier tecnología va cambiando cada semana) Mono es capaz de desarrollar y funcionar de manera prácticamente transparente con las tecnologías .NET 1.1 y con algunas añadiduras de las .NET 2.0. De hecho ya se ha incluído el soporte para C# 2.0 y está en desarrollo el soporte para C# 3.0 del .NET Framework 3.0. La última reunión de sus desarrolladores proyectó dos grandes hitos del desarrollo de Mono, la cercana terminación de la versión 2.0 (con interoperatibilidad transparente con .NET 2.0) y la futura ampliación con las tecnologías de .NET 3.0 (Mono 3.0).

Todo esto es muy bonito, pero no tiene nada que ver con XNA, ¿no? Bueno el caso es que a partir de ahora sí. Los desarrolladores de Tao Framework (una capa para utilizar OpenGl con Mono - algo que en Mono ya estaba y en .NET no lo había visto) al ver las XNA se han puesto manos a la obra para portar las librerías XNA a software libre. Evidentemente las XNA de Mono (Mono.Xna) no funcionarán sobre DirectX ya que DirectX es código propiedad de Microsoft. Pero el hecho de portar las librerías, funcionando por debajo con OpenGL abre muchísimas puertas no solo a Mono, sino también a XNA.

Por ejemplo, actualmente uno de los objetivos de XNA es proporcionar un entorno único de desarrollo de videojuegos de manera que se consiga una verdadera interplataforma. Cuando la versión final esté disponible, XNA será un 95% interplataforma entre Windows y XBOX360, es decir, para hacer funcionar juegos de XBOX en Windows y viceversa habrán ocasiones en las que haga falta modificar mínimamente el código. No obstante, las librerías Mono.Xna funcionando sobre el runtime de Mono (que ya es operativamente 2.0) pueden extender esa multiplataforma a Windows - Linux - Mac con un 100% de compatibilidades. En otras palabras, un juego escrito y compilado con XNA para Windows podrá funcionar sin ningún problema en máquinas Linux/Unix y viceversa. Interesante, ¿eh?

Por supuesto estamos hablando del actual XNA. Los rumores y frases inacabadas de los desarrolladores en el foro dejan ver que cuando la versión actual salga de su fase beta y se convierta en oficial, el equipo se centrará en la segunda versión, incluyendo las mejoras del futuro DirectX10. Pero para eso habrá que esperar aún un poco.

Para los curiosos y los que quieran apuntarse al carro, a partir de ahora tendréis disponibles las páginas de desarrollo de Mono también en nuestra sección de links. Por supuesto también os las incluyo en este post:

Beta 2 Disponible

Microsoft presenta la nueva Beta de XNA Game Studio Express Edition
Ya está descargable, chicos. Yo la estoy bajando en este preciso momento. La nueva Beta 2 de XNA GSEE ha salido mucho antes de lo previsto en vista del enorme éxito de la primera Beta. Muchos de los que la utilizamos dimos buena cuenta de los problemillas que nos surgían y los chicos de Microsoft por lo visto nos han tenido en cuenta. Me están empezando a caer bien y todo...

El caso es que la nueva Beta 2 está ya disponible desde la página de descargas de Microsoft. Entre las notables mejoras sobre la versión Beta 2 están la inclusión en el paquete de la herramienta para sonido de XNA (XACT) que antes solo estaba disponible con el SDK de DirectX y, por fin, el tan deseado Content Pipeline. No espero gran cosa de éste último tratándose de una versión Beta, no obstante los chicos del XNA Team han estado trabajando (posiblemente centrados exclusivamente) en este aspecto de XNA que es el gran caballo de batalla de esta tecnología. Ya os contaré lo que descubro al respecto.

En otro orden de cosas, muy posiblemente el martes por la tarde a las 19.00 en la Politécnica 1 tengamos una mini reunión los que estamos apuntados a la lista del .NET Club de Alicante. Si hay ovedades del Code Camp o cualquier otra cosa las informaremos puntualmente.