miércoles, 24 de noviembre de 2010

Un poco sobre videojuegos y XNA

¿Qué me apasiona?
Si me hacen esa pregunta mi respuesta sería: "Los videojuegos". Pero no sólo el jugarlos, sino también la creación y el desarrollo de los mismos.


¿Por qué me apasiona?
Porque es una industria que hay crecido impresionantemente en poco más de 20 años, desde sus humildes orígenes donde una sola persona se encargaba de crear el juego hasta los productos actuales donde un equipo de diferentes profesionistas (programadores, diseñadores, escritores, animadores, testers, etc.) se unen para crear juegos verdaderamente increíbles. Y aparte por una razón menos profesional: son divertidos.


¿Cómo puedo empezar a crear videojuegos?
Bueno, primero debemos saber que existen diferentes tipos de juegos y diferentes maneras de programarlos: juegos móviles (celular, ipod, ipad), juegos flash (los que normalmente jugamos en algunos sitios de Internet), juegos para consolas o para la computadora; en fin, son bastantes, así que decidí concentrarme en una de las tecnologías recientes de Microsoft para la creación de videojuegos, XNA Game Studio, con la que puedes crear juegos para Xbox 360, Windows o Windows Phone 7.


¿Hay algún buen libro para empezar a aprender XNA?
Si, hay muchos libros buenos ahí afuera. No existe ningún libro mágico que nos dará todo claro, pero el mejor que he visto hasta ahora es Learning XNA 3.0  de Aaron Reed, contiene muchos ejemplos que ayudan a comprender mejor el funcionamiento de un juego y el cómo usar XNA. El libro para la versión 4.0 de XNA del mismo autor sale a la venta el 29 de diciembre del 2010 aquí, esta última edición cubre el desarrollo para Windows Phone 7.


¿Qué sitios/foros/blogs son los mejores para aprender?
Aquí les dejo algunos links a sitios con información y tutoriales para XNA.


App Hub es el mejor para empezar. No sólo podemos obtener el software necesario sino que también contiene un buen número de tutoriales creados por los mismos usuarios.


XNA Game Studio Team Blog . Este esl el blog de los propios creadores de XNA, contiene noticias y actualizaciones útiles.


XNA Development contiene algunos tutoriales simples para empezar.


XNA Resources contiene más tutoriales.


Lo que necesitas para comenzar.
Para empezar a crear tus propios videojuegos primero necesitas ir al App Hub donde puedes conseguir el software necesario para hacer videojuegos. Recomendaría bajar el Windows PHONE Developer Tools porque incluye todo lo que se necesita para hacer juegos para Windows, Xbox 360 o Windows 7 Phone. Si no te interesan las tecnologías para el desarrollo móvil, puedes bajar XNA 4.0 y la versión Express de Visual C# 2010 por separado.


Hello World
Para nuestro programa de muestra haremos algo simple: dibujar una cadena de caracteres y que la podamos mover por toda nuestra pantalla con las flechas del teclado.


Creamos un nuevo proyecto de XNA(Windows game es lo más recomendable) y en el Content Pipeline en el Solution Explorer(lo encontrarás como nombreDeTuProyectoContent) damos clic derecho, Add New Item, seleccionamos Sprite Font de la lista y le podemos cambiar el nombre si así lo deseamos (yo lo llamé miFont).
Dentro de nuestra clase principal, debajo de la declaración del SpriteBatch pondremos el siguiente código:

Vector2 posImagen = Vector2.Zero;                    
SpriteFont font1;

En el método de LoadContent(), agregamos la siguiente línea después de la inicialización del spritebatch inicializar nuestro font:

font1 = Content.Load<SpriteFont>("miFont");

Dentro del método Update() borramos las dos líneas de la sentendia if y agregamos el código que nos permitirá utilizar las flechas para mover el texto:

if (elXbox.Buttons.Back == ButtonState.Pressed || elTeclado.IsKeyDown(Keys.Escape))
             this.Exit();
         else if (elTeclado.IsKeyDown(Keys.Left))
             posImagen.X -= 2;
         else if (elTeclado.IsKeyDown(Keys.Right))
             posImagen.X += 2;
         else if (elTeclado.IsKeyDown(Keys.Down))
             posImagen.Y += 2;
         else if (elTeclado.IsKeyDown(Keys.Up))
             posImagen.Y -= 2;

En el método Draw() introducimos el siguiente código:

GraphicsDevice.Clear(Color.Purple);
spriteBatch.Begin();
spriteBatch.DrawString( font1, "Hello World!", posImagen, Color.White);
spriteBatch.End();

Pueden cambiar el color de GraphicsDevice al que ustedes gusten. Lo qué hará es pintar el fondo de su ventana del color que seleccionen. Corremos este código y nos mostrará nuestro texto “Hello World” y si presionamos las flechas de nuestro teclado lo podemos mover en cuatro direcciones:



Espero que con esta pequeña introducción se puede entender de una manera general como funciona la programación en XNA.

2 comentarios:

  1. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  2. Cuando quiera aprender a programar XNA, ya sé a quién pedirle ayuda =P

    ResponderEliminar