domingo, 11 de enero de 2009

¿Qué es XNA?

XNA es un juego de palabras. Quiere decir "XNA's Not an Acronym". Los productos y tecnologías de Microsoft tienen tantos acrónimos que decidieron crear un nombre que se viera como un acrónimo pero que en la realidad no lo fuera. Por lo tanto no hay que buscar más en esas tres letras, única y exclusivamente es su nombre.

XNA Game Studio es un entorno de desarrollo para la creación de videojuegos en Xbox 360, Microsoft Windows y Zune. Contiene, un conjunto de herramientas para Visual Studio(c#), herramientas externas para la introducción de gráficos y sonidos en los juegos, documentación, ejemplos y el framework XNA.

El framework(o marco de trabajo) XNA es una biblioteca de clases de código administrado(Managed Code) diseñadas y destinadas especificamente para el desarrollo de videojuegos. Se basa en el Framework .Net, por lo que a la hora de crear los juegos utilizaremos XNA para las tareas especificas de éste y el Framework .Net para las tareas de programación más generales.

El objetivo de XNA es hacer el desarrollo de juegos mas fácil para el programador. Evitando que éste se enfrente a problemas de integración con la plataforma, los dispositivos gráficos, etc. De esta manera el desarrollador únicamente se centra en escribir el código.

El Framework XNA trabaja en una capa abstracta por encima de las DirectX llamando a sus funciones nativas. Anteriormente a XNA existían las denominadas Managed DirectX (MDX), que al igual que XNA, permitían desde .Net llamar a las funciones de DirectX. Básicamente eran las mismas funciones DirectX pero para .Net, un puente por decirlo de alguna manera. Los mismos nombre(o parecidos), la misma funcionalidad, etc, lo que se suele denominar un "wrapper".

XNA es mucho más que eso, no son simples funciones de mapeo sino que es todo un marco de trabajo especializado para la creación de videojuegos, claramente más intuitivo que MDX y por supuesto más sencillo que las DirectX.

XNA substituye a MDX por lo que no encontrarás más versiones de esta última. Lo que no hará nunca es substituir a DirectX ya que como anteriormente he comentado, XNA llama a sus funciones nativas. Por lo tanto irá adaptandose conforme vayan surgiendo nuevas versiones de DirectX.

XNA Game Studio funciona con todas las versiones de Visual studio 2008, incluida la versión gratuita(express). Esta pensado para trabajar con el lenguaje c#. Al ser una biblioteca de ensamblados(dll), nada impide que puedas referenciar estas dll en proyectos con otros lenguajes .Net, como por ejemplo Visual Basic .Net. No tendras las plantillas y otras herramientas(Aunque ya hay gente que las ha hecho).

De todos modos el desarrollo para XBox 360 únicamente soporta el lenguaje c# ya que el Compact Framework que corre en XBox 360 y Zune(que nada tiene q ver con el compact framework de windows mobile), no soporta el ensamblado Microsoft.VisualBasic.dll. Está claro que tu decides si quieres incluir ese ensamblado o no a tu proyecto, pero hay consecuencias entorno a la velocidad y uso de la memoria al no usarlo. Eso sí, podrás desarrollar juegos para windows sin ningún tipo de problema con Visual Basic.

XNA Game studio es gratuito, puedes bajarte el kit de desarrollo en la página de Microsoft. Está basado para desarrollar sobre Visual Studio. Lo sé, no te preocupes, XNA como dije antes también funciona con las versiones gratuitas de Visual Studio, por lo que basta con bajarse Visual Studio c# express.

Links de descarga


Por si es de interés, os comento que es posible vender juegos hechos en XNA en XBox live, aunque para ello debe pasar los controles de calidad y ser seleccionado por la comunidad. Además al contrario que el desarrollo para Windows o Zune, crear un juego para XBox no es gratuito, pues se necesita una suscripción especial a Creators Club. El precio no es muy caro, 99 euros anuales. Más información aquí: http://creators.xna.com/es-ES/faq

Web Oficial de Creators Club. http://creators.xna.com/

Los requerimientos para ejecutar un juego hecho en XNA para windows son los siguientes:

(Más que nada por si le quieres pasar tu juego a un colega :D)

  • Tarjeta gráfica que soporte Shader Model 1.1 y DirectX 9.0 (Recomendado Shader Model 2.0)
  • Tarjeta grafica que soporte Shader Model 2.0
  • Microsoft® Windows® XP(Service Pack 3) o Windows Vista™ (Service Pack 1)
  • DirectX 9.0c. Redistribuible
  • XNA framework 3.0 redistribuible
  • .Net framework 2.0 redistribuible o superior.

No hay comentarios:

Publicar un comentario