Hola a todos voy a intentar contar algunas cosillas que he aprendido últimamente sobre XNA, así que
cualquier duda o sugerencia la posteais en los comentarios y aprenderemos todos un poco más.

Lo primero de todo para los que no lo conozcáis o
solo os suene un poco, os explico en una frase lo que es XNA: se trata de un
framework que nos facilita la creación de videojuegos en Windows y xbox360.

Pero que es un framework, pues son un conjunto de
herramientas (funciones) que han sido creadas para que no tengamos que partir
de cero a la hora de ponernos a trabajar y que en muchas ocasiones nos va a
ahorrar mucho tiempo y quebraderos de cabeza.

Con esto que es lo que ganamos, pues en general
bastantes cosas lo primero de todo se programa con un lenguaje gestionado que
es C#, sobre todo para la gente que empieza (y para los que no) facilita la
tarea el no tener en cuenta a los punteros que siempre existe el peligro de que
falle un puntero no sepamos donde.

No vamos a tener que crear la ventana del juego a
mano, tampoco tendremos que realizar complejas funciones para calcular
colisiones y la carga de texturas la hacemos en una línea.

Para hacernos una idea de las partes en las que
se compone XNA vamos a ver de arriba abajo el siguiente esquema:

 

La capa de juegos es la capa más alta del
framework, en esta capa es donde se encuentra el código de tu juego y sus
recursos, además puedes encontrar starter kits, en este caso serían juegos con
funcionalidades básicas a los que se les puede empezar a programar nuevas
funciones. Si estás empezando no es mala idea mirar un poco como están hechos,
de esta forma te vas haciendo una idea de lo que es un videojuego por dentro.

Por defecto cuando instalas XNA Game Studio en tu
ordenador, ya viene un starter kit de un juego de naves.

En esta capa también tenemos los componentes de
juego o game components que son elementos independientes que puedes llevar de
un proyecto a otro sin tener que alterar su código, simplemente los añades,
asignas valores a sus propiedades y ya está. Es como cuando en Windows Forms
agregas un Button o un ListBox, simplemente tienes que cambiarle algunas
propiedades, asignarle eventos y empezar a utilizarlo.

La capa Extended Framework es la capa que hace
que XNA sea una plataforma sencilla para el desarrollo de videojuegos, dentro
de ella tenemos el Application Model que es como he comentado antes lo que facilita
la vida al programador, es decir no tener que hacer ventanas, realizar cálculos
complicados, etc. Y por otro lado esta el Content Pipeline que se encarga de
gestionar en tiempo de ejecución los recursos, ya sean modelos o sonidos.

La capa Core Framework da la funcionalidad necesaría
a las otras capas, los que hayan visto alguna vez Manager DirectX les resultara
familiar la agrupación que se ha hecho, gráficos, audio, input, matemáticas y
almacenaje.

Por último agrupados en esta capa la Platform nos encontramos
diversas API´s, Direct3D 9, XACT, XInput, y XContent.

Ya por hoy solo me queda deciros donde encontrar
los programas que necesitáis para hacer funcionar XNA en vuestra máquina:

Microsoft Visual Studio C# Express 2005 

XNA Game
Studio Express

Y opcional pero siempre recomendable:

Directx 9 SDK

Pues hasta aquí nada más, la próxima vez haremos algo más practico.
 

Un saludo a todos [H]