domingo, 1 de abril de 2012

Plataformas que soportan XNA

Carrera de XNA – Capítulo 1 - Artículo 3

Introducción

El presente artículo muestra las plataformas soportadas por XNA y los requerimientos básicos de desarrollo y ejecución. A su vez, detalla las opciones para la creación de juegos multi-plataforma y algunos consejos útiles a la hora de trabajar con los mismos.

 

Plataformas

Las 3 plataformas principales de Microsoft están soportadas por XNA para el desarrollo de videojuegos.

  • Windows Phone (Móvil)
  • Xbox 360 (Consola)
  • Microsoft Windows (PC)

    image image

    image

     

    Como crear juegos Multi-Plataforma

    Existen dos métodos principales para la creación de juegos en múltiples plataformas.

  • Crear una Solución completa en XNA Game Studio para cada plataforma
  • Crear una única Solución con partes comunes (lógica del juego) y un proyecto de Implementación para cada plataforma.

     

    Creando una solución Multi-Plataforma

    Conceptualmente es sencillo: Podemos mantener dentro de una misma Solución toda la lógica principal del juego y las diferentes versiones para cada plataforma, con el objetivo de reutilizar la mayor cantidad de código y contenidos posible.

     

    Asistentes de Conversión

    Una de las características más interesantes en XNA Game Studio es la capacidad de crear copias para plataformas específicas a partir de un juego base.

    A modo de ejemplo, podemos crear nuestro juego para Windows y luego crear una “Copia para Xbox 360” y otra “Copia para Windows Phone” (siempre que tengamos el SDK de Windows Phone instalado. Ver Carrera de Windows Phone en MVA)

    Nota: Cualquier proyecto de cualquier plataforma puede ser convertido a cualquier otra. Al hacerlo, todas las referencias de una plataforma específica se traducen al equivalente dentro del proyecto nuevo. A su vez, los proyectos creados con el Asistente de Conversión quedan asociados al original, y cada archivo agregado, renombrado o eliminado es también afectado en todas las otras plataformas.

     

    Contenido específico

    El Contenido de nuestro juego, es decir la colección de imágenes, sonidos, fuentes, texturas, etc. debe estar personalizado para cada plataforma. Si bien podemos crear un proyecto genérico de contenido con elementos “comunes”, las buenas prácticas indican que debemos crear un proyecto particular de contenido para cada plataforma.

    image

    Figura 1 - Contenido por Plataforma

    Como podemos ver en la Figura 1 podemos crear una Solución con proyectos para cada plataforma, en este caso MyFirstGame (para Windows), Windows Phone Copy of MyFirstGame (para Windows Phone) y por último Xbox 360 copy of MyFirstGame (para Xbox).

    Los 3 proyectos referencian al contenido común, ubicado en MyFirstGameContent pero solamente la versión para Windows Phone referencia al proyecto de contenido para dicha plataforma PhoneContent.

     

    Requerimientos para el Desarrollo

    XNA Game Studio está disponible para los siguientes sistemas operativos:

    • Windows XP Home, Professional, Media Center y Tablet PC (Sin soporte para   Windows Phone)
    • Windows Vista Home Basic, Home Premium, Business, Enterprise y Ultimate
    • Windows 7 Home Basic, Home Premium, Professional, Enterprise y Ultimate

     

    En cuanto al Hardware hay requerimientos específicos por plataforma que incluyen:

  • Placa de video con DirectX9.0c y Shader Model 1.1.
  • Placa de video con DirectX 10 y WDDM 1.1 para el emulador de Windows Phone.
  • Disco Rígido en la Xbox 360 para desarrollar sobre esta plataforma.

     

    Código Específico por Plataforma

    Si necesitamos escribir alguna parte de código que se ejecute, dependiendo de la plataforma en la que estamos, podemos utilizar los símbolos de compilación, es decir palabras clave que pueden ser “consultadas” a través de código.

    • WINDOWS
    • XBOX / XBOX360
    • WINDOWS_PHONE

    El siguiente fragmento de código en C# muestra como detectarlos con sentencias de pre-compilación (las líneas de código que comienzan con un carácter “#”).

    image

    9 comentarios:

    1. MUY BUENO Y ME GUSTA LA PROGRAMACION PARA CREAR JUEGOS ES ALGO FASCINANTE

      ResponderEliminar
    2. Interesante como una simple línea de código identifica la plataforma a la que se desea llegar...

      ResponderEliminar
    3. Hola, comencé “Desarrollo en XNA” en la MVA, está excelente y estoy seguro me va a resultar muy útil, dado que estoy terminando mi carrera universitaria de Ingeniería de Software con perfil de Desarrollador de Videojuegos con tecnologías Microsoft. Quería felicitarlos por la propuesta, está impecable y muy interesante :)

      Saludos,

      Gonzalo García
      Microsoft Student Partner

      ResponderEliminar
    4. Muy interesante eso de identificar la plataforma con una sola linea de codigo... execelente!!

      ResponderEliminar
    5. alguien me puede decir donde puedo descargar el programa XNA por favor

      ResponderEliminar
    6. Se baja desde la página de Microsoft! es el XNA Studio!

      ResponderEliminar
    7. La verdad que le doy a microsoft las grasias por todo este proyecto la verdad que e aprendido muchisimo a medida que boy avanzando con el curso

      ResponderEliminar
    8. es interesante saber algo de programación para los distintos juegos para la consola de XBOS

      ResponderEliminar