El Microsoft XNA es un conjunto de herramientas lanzadas por la compañía de Bill Gates que proporciona un entorno de desarrollo para el diseño de videojuegos. Los primeros anuncios sobre el desarrollo de esta herramienta datan de Marzo de 2004 cuando fue anunciada en la Game Developers Conference de San José, California. Según palabras de sus creadores, se pretende aunar todos los elementos del desarrollo de videojuegos en una única herramienta, facilitando su desarrollo.
Esta herramienta permite el desarrollo de videojuegos tanto para PC (usando .NET Framework 2.0), como para la XBOX 360 (.NET Compact Framework 2.0). De esta manera el desarrollo del videojuego se puede realizar en C#, XNA Game Studio Express IDE y Visual Studio 2005, aunque la principal característica del entorno es tener unas amplias librerias y colecciones de clases que permitan una fácil reutilización de elementos.
A lo largo de la vida de la aplicación, Microsoft ha ido lanzando diversas versiones para distintos niveles de aprendizaje, siendo la versión más básica el XNA Game Studio Express, pensado para estudiantes y jugadores que quieran explotar su creatividad. La última versión lanzada es el Microsoft Game Studio 2.0 sin hacerse distinción entre versiones básicas y profesionales. La aplicación permite utilizar tanto librerías de DirectX 9.0, como los controladores de la XBOX 360, lo que permite desarrollar videojuegos tanto en 2D como en 3D.
Respecto al tema de licencias, Microsoft permite la realización de videojuegos comerciales para Windos, no permitiéndose uso comercial para XBOX Live o WIndows Live, a menos que se llegue a un acuerdo en concreto entre el desarrollador y la compañía. Microsoft tiene creado un club de usuarios que, bajo cuota de 99 dólares, permite probar los videojuegos de otros usuarios de la plataforma de desarrollo. La comunidad de usuarios de XNA es bastante activa, existiendo diversos sitios para poder empezar a trabajar con la herramienta, como por ejemplo este blog.
En este vídeo podeis ver un videojuego desarrollado con XNA: