XNA Game Studio

XNA Game Studio
Información sobre la plantilla
Parte de la familia desarrollo de videojuegos
Xna game studio.png
DesarrolladorMicroSoft
Versiones2.0 Express, 3.0, 3.1
Última versión estable4.0
GéneroVideojuegos
Sistemas Operativos compatiblesMS Windows XP/Vista/7
IdiomaInglés, Español
Licenciafreeware

XNA Game Studio es una interfaz de programación de aplicaciones (API) diseñada para MS Windows y creada por Microsoft que permite a los programadores crear sus propios videojuegos con Visual Studio en cualquiera de sus versiones. Permite crear videojuegos para consola XBox 360, Windows Phone 7 y escritorio de MS Windows. Incluye el XNA Framework Redistributable 3.0, que administra librerías de diseño basados en el desarrollo de videojuegos.

Efectos configurables

Los efectos configurables están destinados a optimizar el rendimiento en dependencia de para que plataforma esta desarrollado el videojuego, están creado para ser usados de forma intrínseca en el objeto a partir de la configuración de las opciones del usuario.
La última versión trae incluida una nueva funcionalidad llamada efectos configurables que permite variar las opciones de rendimiento entre: Reach y HiDef, ambos están disponibles para cualquier plataforma en que se ejecutará el videojuego:Windows Phone 7, consola Xbox 360 o escritorio de MS Windows.

  •  Efectos básicos: Un efecto básico provee de la opción de adicionar más de tres direcciones de iluminado, humo, y textura. Usando una luz en una presentación rápida puede brindar la sensación de estar viendo un rayo de luz en forma tridimensional.
  • Textura ambivalente: Un efecto de textura ambivalente usa dos texturas con dos coordendas independientes. Cuando se combinan ambas texturas se genera mucha mas complejidad visual si la primera contiene los colores básicos o detallados y la segunda una iluminacion compleja.
  • Prueba Alfa: Este tipo de efecto usa una referencia y una función de tipo alfa para implementar la prueba del mismo tipo. Esto puede mejorar en mayor medida el rendimiento solamente con actualizar los pixeles de la textura que este siendo dibujada en una escena. Es común cuando no es usado el dibujado en profundidad.
  • Efecto de piel: Usa esqueletos y masas que influyen en la posición del vértice donde inicia la textura, lo que deforma el objeto y da este efecto. Es comúnmente usado para animación de caracteres y soporta hasta 72 esqueletos y 4 masas por esqueleto.
  • Mapas o escenario: Difunde el color y/o los detalles de una o más texturas. Un escenario en forma tridimensional contiene un ambiente que es capaz de sombrear el o los objetos a causa del mismo, debido a que el objeto se refleja en la escena haciendo que la misma luzca más real.

Sonido y Audio

Desarrollando juegos para escritorio de Windows y consola XBox 360 es posible utilizar el motor XACT o una API destinada a permitir la compatibilidad con Zune. Como característica principal de crear videojuegos que contengan sonido o audio utilizando XACT es que se pueden crear sus propias pistas o archivos audibles, editar la calidad de sonido de archivos que se tengan dentro de la aplicación y crear efectos de ciclo o bucle.
Usando el espacio de nombres (namespace) XNA Framework Audio la aplicación permitirá la captura de sonidos a través de las clases Microphone y DynamicSoundEffect.

Desarrollo de videojuegos vs encuestas

Una diferencia entre el desarrollo de un videojuego y el desarrollo de una aplicación típica reside en el concepto de encuestas contra el registro de eventos. Muchas de las aplicaciones que no son videojuegos son solamente escritas por eventos conducidos por usuarios, dígase que si se quiere escribir un determinado módulo de un widget para aceptar o cancelar algún tipo de acción en un determinado sistema se debe construir una pantalla para preguntar al usuario por el nombre de este widget y entonces aceptará o cancelará la acción. Considerando el lenguaje en el que la aplicación fue escrita, el sistema no hará nada hasta que el usuario no se lo ordene mediante este widget. Cuando el usuario oprima el botón entonces se le enviará al sistema un evento que será capturado por el mismo y ejecutará la orden. Por otro lado las aplicaciones de videojuegos son conducidas por encuestas por cada evento que ocurra, preferentemente cuando el evento esta tomando lugar en el modo de ejecución del videojuego. En lugar de que el sistema le “diga” al videojuego que el usuario a oprimido un botón o movido el mouse, el videojuego le esta “preguntando” constantemente al sistema si el usuario a ejecutado una de las acciones antes mencionadas, o sea el videojuego siempre esta desempeñando una acción, considerando la entrada del usuario.

2D y 3D

XNA Game Studio permite a los desarrolladores elegir entre el diseño y escritura de un videojuego que implemente vistas de 2 o 3 dimensiones, lógicamente el desarrollo de ambas es muy diferente, aunque es válido aclarar que es posible el uso de figuras en dos dimesiones en videojuegos que busquen dar la sensación de tercera dimensión en su gráfico.
Una de las diferencias principales entre el desarrollo de un videojuego en 2D y uno en 3D es la existencia para este último de la clase Cámara (Camera) para enfocar o desenfocar el objeto principal del videojuego, que está presente en todo el desarrollo del mismo y es posible crear cámaras en primera persona, o sea que el usuario no conduzca un objeto en la historia del videojuego, si no que el usuario sea el objeto en la historia, otro elemento diferencial es la clase Matriz (Matrix), usadas como entidades matemáticas que al igual que las cámaras son empleadas a lo largo de la escritura del código del videojuego debido a que son las que permiten establecer las propiedades de vista y proyección de las cámaras. El movimiento en cambio es común para ambos tipos de desarrollo de videojuegos aunque se use de forma unísona con la rotación que solo compete a las aplicaciones en 3D.

Salva de archivos

En similitud con otras aplicaciones destinadas a desarrollar videojuegos, XNA Game Studio posibilita la generación y carga de archivos de datos que son utilizados para hacer una “salva” que permita al usuario reiniciar un videojuego que comenzará en el escenario justo donde ordenó al sistema que se realizara la operación. Así como opciones configuradas previamente por el usuario ejemplo: volumen del sonido, opciones graficas etc.

Multijugadores

A través de las vias convencionales de comunicación entre ordenadores XNA Game Studio brinda la posibilidad de incluir dentro del código de un videojuego, librerías independientes o por espacios de nombres (namespaces), que posibiliten la conexión de uno o más usuarios finales, en otras palabras que brinden la funcionalidad de multijugador, principalmente usados en videojuegos deportivos, de combate, o estratégicos (ej. Call of Duty, Pro Evolution Soccer etc.).
Dentro de estas opciones está la de dividir la pantalla principal o escenario donde se desarrolla la historia del videojuego, esta funcionalidad conlleva a considerar varios factores ya que el sistema tendría que soportar uno, dos o más jugadores sobre un mismo teclado, aunque es válido decir que no obligatoriamente tiene que suceder esto, es posible adaptar esta funcionalidad a varios ordenadores y que cada usuario actúe sobre un solo teclado.
Entre otros, los tres factores principales a considerar en caso de emplear esta funcionalidad son:

  • Entrada de usuario (User input)
  • Control de cámaras
  • Estado real de cada objeto en cada pantalla que se muestre

Espacios de nombres (namespace)

Entre los espacios de nombres más comunes para el desarrollo de un videojuego con XNA Game Studio se destacan los siguientes:

  • using System.Collections.Generic
  • using System.Linq
  • using Microsoft.Xna.Framework.Audio
  • using Microsoft.Xna.Framework.Content
  • using Microsoft.Xna.Framework.GamerServices
  • using Microsoft.Xna.Framework.Graphics
  • using Microsoft.Xna.Framework.Input
  • using Microsoft.Xna.Framework.Media
  • using Microsoft.Xna.Framework.Net
  • using Microsoft.Xna.Framework.Storage

Véase también

Fuentes