Dani posted on enero 11, 2010 18:14

En NienteGames sabemos que amas a los videojuegos, por lo tanto, estoy seguro que te gusta saber cómo hacer tus propios juegos. Para ello tenemos la sección de XNA, que aunque esta algo abandonada últimamente, te va enseñando poco a poco como crear tu mismo esos juegos que tienes en la cabeza.

Una buena forma de aprender es estudiar código creado por otras personas y ver como lo harías tu, por eso hoy os traigo un par de cosicas interesantes en XNA para que le deis un vistazo.

Este es muy antiguo, pero me parece tan interesante que lo voy a poner igualmente, es un clon del famoso Pac Man hecho en XNA.

El siguiente son un par de links a unos interesantísimos artículos de Jesús Bosch que nos explica unos algoritmos de comportamiento para crear unas IA (inteligencia artificial) creibles.

[IA] Steering Behaviors en XNA (I de II)

[IA] Obstacle Avoidance: Steering Behaviors en XNA (II de II)

Disfrútenlos. Unos videos después del salto.

Mas...



¿te ha gustado el post? Ayúdanos a crecer, compártelo.

Enviar por e-mail Enviar por e-mail | Meneame Menealo | Facebook Compártelo en Facebook
Dani posted on diciembre 18, 2009 13:47

Antes de continuar picando el código del juego, me gusraría rescatar este post de mi antiguo blog, ya que nos ira bien despúes.

Os voy a explicar un pequeño “truco” o utilidad que podemos usar con el Visual Studio 2008 o Visual C# 2008; Consiste en eliminar todos los Using que no se usan y ordenar los que sí.
Cuando creamos un proyecto nuevo o un fichero desde según que plantillas, se crean por defecto una serie de Using que no usamos o usaremos, esto en realidad no afecta para nada al rendimiento del programa o juego que estamos creando, ya que cuando compilemos se obviaran, pero por cuestión de “estética” o facilidad a la hora de leer el código puede ser una buena práctica “limpiar” la zona de “using”.

 

Visual Studio 2008 nos facilita esta tarea, tan solo hay que situarse en la zona de “using” y click derecho > Organize Usings > Remove and Sort.

 

Ahora ya no tenemos los Usings innecesarios.


Posteado en: Tutorial XNA  Tags: , ,

¿te ha gustado el post? Ayúdanos a crecer, compártelo.

Enviar por e-mail Enviar por e-mail | Meneame Menealo | Facebook Compártelo en Facebook

Ya hemos preparado el entorno y conocemos más o menos como funciona el flujo interno de un juego, ahora estamos preparados para empezar a picar el código de nuestro Asteroids.

Para que el juego no se nos haga eterno  y como las funciones de crear este juego son didácticas, vamos a obviar algunos temas que nos encontraríamos en cualquier juego, como un menú principal, niveles, etc., lo que vamos a hacer es crear un juego en el que directamente estaremos en una pantalla jugando infinitamente hasta que nos cansemos, cuando hayamos terminado este primer juego, trataremos esos temas.

Hoy vamos a crear el fondo del juego, podríamos crear una imagen para el fondo y colocarla, pero teniendo en cuenta que Asteroids tiene un fondo negro, no va a hacer falta, lo único que vamos a necesitar es que cuando se renderize la pantalla lo haga en negro, nosotros además le vamos a poner algunas estrellas de fondo para que no se vea tan soso y ya de paso trabajamos con sprites y con el lenguaje.

¡Empecemos a crear!

Lo primero que vamos a hacer es configurar la resolución de la pantalla, vamos a hacer que se vea en una ventana, podríamos hacerlo a pantalla completa, pero por ahora no,  a una resolución de 800x600 pixeles. En el constructor de la clase principal cambiamos las propiedades de graphics:

graphics.IsFullScreen = false;

             graphics.PreferredBackBufferWidth = 800;

             graphics.PreferredBackBufferHeight = 600;

graphics se crea automaticamente al crear un proyecto nuevo y es del tipo GraphicsDeviceManager [+], que controla los graficos del juego. Tiene que quedar así:

Y hacemos que el fondo se vea negro.

En el método Draw cambiamos el GraphicsDevice.Clear y lo ponemos en negro:

GraphicsDevice.Clear(Color.Black);

Quedara algo tal que así:

Lo siguiente que vamos a hacer es crear una clase nueva que representara a cada una de las estrellas.

En el próximo capítulo  veremos cómo crear una clase nueva que herede de DrawableGameComponent, o lo que es lo mismo, para que muestre un componente que se “pinta” en pantalla.

 


Posteado en: Tutorial XNA  Tags:

¿te ha gustado el post? Ayúdanos a crecer, compártelo.

Enviar por e-mail Enviar por e-mail | Meneame Menealo | Facebook Compártelo en Facebook
Dani posted on noviembre 16, 2009 15:14

Antes  de empezar a picar el código, es importante conocer el ciclo de ejecución de un juego creado con XNA.
Al crear un nuevo proyecto de juego XNA, podemos ver como se crean una serie de métodos automáticamente, estos son los métodos principales del juego.

En una aplicación normal, como cualquiera de las que usas en tu PC a diario, normalmente lo que hace el programa al ejecutarse es esperar a que realices una acción para ejecutarla, mientras tanto se queda a la espera, un juego se comporta de forma distinta, no se queda simplemente esperando ya que siempre está ejecutándose en blucle (una vez tras otra), por lo tanto estará continuamente ejecutando los métodos antes mencionados, por eso es tan importante conocer que hace cada uno de esos métodos y en qué orden los ejecuta, debemos saber donde escribir nuestro código para que se ejecute correctamente en el momento que debe hacerlo.

 

De una manera muy esquematizada, un juego se comporta de la siguiente manera: primero se arranca, luego pasa a cargar todos los componentes necesarios (gráficos, música, fuentes, etc.), acto seguido, espera una entrada del jugador o un cambio en el estado del juego (se ha pulsado una tecla, un enemigo se ha movido, etc.), después calcula toda la lógica a partir del estado anterior (coloca al enemigo en su nueva posición, el protagonista dispara, etc.) y por último refleja todos estos cambios en pantalla dibujándola (renderizando).

 

 

Todo lo comentado arriba, se ve reflejado en los métodos que se crean automáticamente al crear un nuevo proyecto de juego.

 

Más adelante veremos cómo hacer todo esto.

 

En “Initialize” se inicializan todas las constantes del juego, aquí se pondrán cosas como la resolución, el directorio donde se guardará el contenido, etc.

 

 

En el método “LoadContent” es donde cargaremos los elementos, como gráficos, música, fuentes, etc.

 

 

“Update” se encargará de calcular la lógica del juego, como por ejemplo mover los gráficos, etc.

 

Por último el método “Draw” se encargará de dibujar todos los componentes gráficos en pantalla.

  

En el próximo capítulo del tutorial empezaremos a codificar el juego y a ver “cosas” por pantalla, ¡nos leemos!

 


Posteado en: Tutorial XNA  Tags: ,

¿te ha gustado el post? Ayúdanos a crecer, compártelo.

Enviar por e-mail Enviar por e-mail | Meneame Menealo | Facebook Compártelo en Facebook
Dani posted on noviembre 6, 2009 09:00

Hoy vamos a ver como es un proyecto XNA y de que se compone. Vamos a ver como se crea un proyecto nuevo y como es el entorno de trabajo.

Lo primero que hemos de hacer es crear el proyecto:
1- Vamos al menú Archivo -> Nuevo -> Proyecto o Ctrl. + Mayús. + N o el icono

 

 

 

 

 

Se nos abrirá una ventana como la siguiente: 

Selecciona el tipo de plantilla de proyecto que vas a cargar, en nuestro caso XNA Game Studio 3.1, después selecciona un proyecto tipo Windows Game, de momento programaremos para PC (básicamente es que no tengo subscripción a Creators Club). Ponle un nombre al proyecto, por ejemplo Asteroids y por último selecciona una ubicación, te crea una por defecto, no es necesario que lo cambies si no quieres. Deja la opción de crear directorio seleccionada, de esta forma te creará un directorio para almacenar el proyecto.

Bien, ya hemos creado un proyecto, a tu derecha podrás ver el explorador de soluciones, es algo tal que así:

En el explorador de soluciones veremos todos los proyectos que contenga la solución (si, puede haber mas de uno) y los ficheros que componen dichos proyectos.

Verás que automáticamente te ha creado una serie de ficheros y carpetas, eso es gracias a la plantilla de Windows Game que hemos seleccionado antes, nos crea la estructura básica para nuestro juego.

Puedes observar que hay dos ficheros con extensión .cs, son los ficheros de código fuente de C#, en estos ficheros es donde ira toda la programación (la lógica) del juego.

 Game1.cs lo veremos más adelante en futuros tutoriales.

 Haz doble clic en Program.cs para abrirlo, te encontraras con lo siguiente:

El método main es el punto de entrada de cualquier programa, por lo tanto es el primer sitio donde ira el programa cuando se ejecute, nosotros no lo tocaremos ya que XNA se ha encargado de crear todo lo necesario, aquí se llama a Run, que es lo que hará que se ejecute el juego.

En la parte superior de la pantalla tenemos varias herramientas que iremos viendo a lo largo de los tutoriales, como puedes ver, es igual que cualquier aplicación Windows:

En la parte central tenemos el area de trabajo, es donde "picaremos" y debugaremos (búsqueda de errores) nuestro juego:

 

 Ahora ya tenemos el entorno preparado, en el siguiente tutorial empezaremos a con la sintaxis básica de programación.

Para terminar, pulsa ejecutar en la barra de herramientas y verás el juego ejecutandose, por supuesto, aún no hay nada, aunque eso lo solucionaremos pronto.

 


Posteado en: Tutorial XNA  Tags: ,

¿te ha gustado el post? Ayúdanos a crecer, compártelo.

Enviar por e-mail Enviar por e-mail | Meneame Menealo | Facebook Compártelo en Facebook
Dani posted on noviembre 5, 2009 18:42

Para aprender a programar nuestro propio juego vamos a crear un Asteroids, es perfecto por que nos permite ver aspectos tales como gráficos, sonido, input/ouput (vamos, las ordenes de entrada por el teclado y las respuestas a estas órdenes que vemos por pantalla), colisiones, textos, etc. y  al ser un juego sencillo no caeremos en el error de empezar algo inalcanzable(un error muy común entre los que queremos hacer nuestros juegos).

Por lo tanto, aprenderemos a programar nuestro juego de una manera amena, ya que iremos viendo los resultados de lo que vamos aprendiendo en cada uno de los capítulos que vaya publicando.

Espero veros en los comentarios comentando posibles mejoras para nuestro juego y preguntando las dudas que tengáis.


Posteado en: Tutorial XNA  Tags: ,

¿te ha gustado el post? Ayúdanos a crecer, compártelo.

Enviar por e-mail Enviar por e-mail | Meneame Menealo | Facebook Compártelo en Facebook
Dani posted on octubre 22, 2009 15:56

XNA es un framework de programación creado por Microsoft para facilitarnos la vida a la hora de crear nuestros propios juegos, es como una capa que nos permitirá que sin conocimientos previos de DirectX (bastante complicado) podamos tener resultados muy conseguidos.

Para empezar a crear nuestro juego necesitamos tener las herramientas necesarias: Microsoft Visual C# Express (nosotros vamos a usar la versión 2008) y XNA Game Studio 3.1. Las podemos descargar gratuitamente desde creators.xna.com, una vez las tenemos descargadas e instaladas podemos empezar a programar. En el siguiente capitulo crearemos nuestro primer proyecto XNA.


Posteado en: Tutorial XNA  Tags:

¿te ha gustado el post? Ayúdanos a crecer, compártelo.

Enviar por e-mail Enviar por e-mail | Meneame Menealo | Facebook Compártelo en Facebook

Últimos comentarios

Hablamos de...