Tutorial de XNA: Introducción

Lección -1. (sí, menos uno, ¡aún no comienza lo bueno!)

 

Introducción al desarrollo de videojuegos.

¡Bienvenidos sean a esta sección de tutoriales de XNA! Para empezar, daremos una pequeña introducción a lo que es un videojuego y como se hace (es decir, que es lo que se hace para crear un juego) muy "por encima". Luego veremos exactamente qué es XNA y como funciona dicho framework.

Prerequisitos:
Para poder seguirnos en este tutorial, se recomienda altamente que tengan un conocimiento básico de C#, o de programación orientada a objetos. Con esto nos referimos que, de preferencia, sepan como crear objetos, instanciarlos, etc., pero no es TOTALMENTE necesario que conozcan toda la teoría de OOP (polimorfismo, herencia, etc.), sin embargo, si lo conocen, podrán hacer uso de él.

Para trabajar con XNA en estos tutoriales, necesitaran bajar Visual C# 2010 (la versión express basta: http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-csharp-express ) y XNA 4.0 (http://www.microsoft.com/download/en/details.aspx?id=23714). 

Con esto concluido, damos comienzo al tutorial.

¿CÓMO FUNCIONA UN VIDEOJUEGO?

En puros términos técnicos, un videojuego es en esencia un ciclo continuo donde se ejecutan diversas acciones, y que en cada iteración de dicho ciclo se ejecuta un fotograma de animación. Dividamos esta explicación compleja, en fases.

*Diagrama, secuencia de un videojuego

FASE 1: INICIALIZAR EL PROGRAMA

Primero se crea la ventana donde se va a desplegar nuestro juego, normalmente se cargan los gráficos, modelos, se prepara la memoria, etc.

FASE 2: INICIAR EL JUEGO

Aqui es donde normalmente se selecciona el mapa, los valores, se colocan los personajes donde se debe, etc. Esto sirve como preambulo al ciclo principal del juego.

FASE 3: LEER DATOS DEL USUARIO

Como dice, leemos lo que el jugador quiere hacer.

FASE 4: LOGICA DE JUEGO, FISICA, INTELIGENCIA ARTIFICIAL.

Ahora procesamos como todo cambia en el mundo. ¿A dónde movimos al jugador? ¿Qué tantas municiones nos quedan? ¿Hay aliados? ¿Chocaron? ¿Las balas dieron al blanco? Etc, etc.

FASE 5: RENDER (DIBUJAR EN PANTALLA)

Aqui procesamos todas las graficas tanto como 2D como 3D, y las desplegamos en la pantalla.

FASE 6: REINICIAR

Volver a fase 3!

FASE 7: LIMPIAR

Terminar el juego, liberar memoria, etc.

Esto es por supuesto muy simple. Uno podria extenderlo y decir que ahora tienes una splash screen (pantalla de carga) o poner musica, menús especiales, networking, etc., pero la idea se mantiene!

Ahora veamos XNA...

XNA - LÓGICA DE VIDEOJUEGOS.

XNA es una herramienta creada por Microsoft, completamente gratuita, para que puedas crear tus propios videojuegos. Tiene la ventaja de poder crear juegos simultaneamente para la PC, X Box 360, y Windows Phone (bueno, "simultaneamente", se tienen que hacer unos cuantos cambios, pero es básicamente la misma estructura). 

XNA decide simplificar algunas cuestiones del desarrollo de videojuegos, otorgandole al programador herramientas definidas para acelerar el proceso de un videojuego, sin limitarlo demasiado (uno puede incluso crear archivos en C++, HLSL, DX, etc., y mejorar su proyecto).

Cada archivo en XNA se divide en los métodos:

Initialize()

En este metodo nosotros lo utilizamos para darle valor a todas las variables INTERNAS... con esto me refiero a vectores, numeros, strings, lo que sea que NO SEA MULTI-MEDIA (imágenes, audio, etc).

LoadContent()

Aqui es donde uno normalmente cargaria la información multi-media. Imagenes, efectos, sonidos, peliculas...

UnloadContent()

Pueden dejar esto vacio, es el encargado de liberar la memoria.

Update() y Draw()

Estos dos métodos es donde "ocurre toda la magia". Funcionan entre ellos como un ciclo: Update manda a llamar a Draw, y Draw llama a Update, aunque no lo digan implicitamente. En Update una persona colocaria toda la lógica, lectura de datos, cambios de mundo, fisica... y en draw lo dibujariamos en pantalla.

El buen observador se dará cuenta que varios puntos de las FASES que escribi antes, no están presentes en XNA. Esto es porque en este framework, Microsoft se encargó de que la ventana del juego y mucha información antes creada manualmente, se haga de manera automática.

En nuestro próximo tutorial veremos más a fondo XNA, y crearemos nuestro primer "juego".

Saludos!

/Daniel

Leave a Reply