Share via


Desarrollar Marble Maze: un juego para la Plataforma universal de Windows (UWP) creado con C++ para DirectX

En este tema, se describe cómo usar DirectX y C++ para crear un juego 3D para la Plataforma universal de Windows (UWP). El juego, llamado Marble Maze, adopta varios factores de forma, como tabletas, equipos de escritorio tradicionales y equipos portátiles.

Nota:

Para descargar el código fuente de Marble Maze, consulte el ejemplo en GitHub.

Importante

Marble Maze ilustra los patrones de diseño que consideramos los procedimientos recomendados para crear juegos para UWP. Puede adaptar muchos de los detalles de implementación para que se ajusten a sus propias prácticas y a los requisitos únicos del juego que está desarrollando. No dude en usar diferentes técnicas o bibliotecas cuando se adapte mejor a sus necesidades. (Sin embargo, asegúrese siempre de que el código pase el Kit para la certificación de aplicaciones de Windows). Cuando consideramos que una implementación usada aquí es esencial para el desarrollo exitoso de juegos, lo destacamos en esta documentación.

Presentación de Marble Maze

Hemos elegido Marble Maze porque, si bien es relativamente básico, demuestra la gran variedad de características presentes en la mayoría de los juegos. Muestra cómo usar gráficos, control de entrada y audio. También muestra mecánicas de juego como reglas y objetivos.

Marble Maze se asemeja al juego de tablero de laberinto que se suele construir a partir de una caja con agujeros y una canica de acero o vidrio. El objetivo en Marble Maze es igual que en la versión de tablero: inclinar el laberinto para conducir la canica desde la salida hasta el final del laberinto en el menor tiempo posible, evitando que caiga dentro de uno de los agujeros. Marble Maze añade el concepto de puntos de control. Si la canica cae en un agujero, el juego se reinicia en la última ubicación del punto de control sobre el que la canica pasó.

Marble Maze permite que el usuario interactúe con el tablero del juego de varias formas. Si tiene un dispositivo con el acelerómetro o la función táctil habilitada, puede usar esos dispositivos para mover el tablero de juegos. También puede usar un mando o un mouse para controlar el juego.

screen shot of the marble maze game.

Requisitos previos

  • Windows 10 Creators Update
  • Microsoft Visual Studio 2017
  • Conocimientos de programación de C#
  • Familiaridad con la terminología de DirectX y DirectX
  • Conocimientos básicos de COM

¿A quiénes está dirigido este documento?

Si está interesado en crear juegos 3D u otras aplicaciones de uso intensivo de gráficos para Windows 10, está en el lugar perfecto. Esperamos que use los principios y prácticas que describe esta documentación para crear su propio juego para UWP. Tener conocimientos previos o un gran interés en la programación de C++ y DirectX le ayudará a sacar el máximo partido de esta documentación. Si no tiene experiencia con DirectX, igual puede beneficiarse si tiene experiencia con entornos de programación con gráficos 3D similares.

En el documento Tutorial: crear un juego para UWP sencillo con DirectX, se describe otro ejemplo que implementa un juego básico de disparos 3D mediante DirectX y C++.

Aspectos cubiertos en esta documentación

En esta documentación, se explica cómo:

  • Usar la API Windows Runtime y DirectX para crear un juego para UWP.
  • Usar Direct3D y Direct2D para trabajar con contenido visual como modelos, texturas, sombreadores de vértices y píxeles y superposiciones 2D.
  • Integrar mecanismos de entrada, como la función táctil, el acelerómetro y el controlador de juego.
  • Usar XAudio2 para incorporar música y efectos de sonido.

Lo que esta documentación no cubre

Esta documentación no cubre los siguientes aspectos del desarrollo de juegos. Estos aspectos van seguidos de recursos adicionales que los cubren.

  • Principios de diseño de juegos 3D.
  • Conceptos básicos de programación de C++ o DirectX.
  • Cómo diseñar recursos como texturas, modelos o audio.
  • Forma de solucionar problemas relativos al comportamiento o el rendimiento de la aplicación.
  • Cómo preparar el juego para su uso en otras partes del mundo.
  • Cómo certificar y publicar el juego en Microsoft Store.

Marble Maze también usa la biblioteca de DirectXMath para trabajar con la geometría 3D y realizar cálculos físicos, como las colisiones. DirectXMath no se trata en profundidad en esta sección. Para obtener más detalles sobre cómo Marble Maze usa DirectXMath, consulte el código fuente.

Aunque Marble Maze proporciona muchos componentes reutilizables, no es un marco completo de desarrollo de juegos. Cuando consideramos que un componente de Marble Maze se puede reusar en el juego, hacemos hincapié en ello en la documentación.

Pasos siguientes

Se recomienda empezar con los aspectos básicos de la muestra de Marble Maze para conocer la estructura de Marble Maze y algunas de las directrices de codificación y estilo que sigue el código fuente de Marble Maze. En la tabla siguiente, se describen los documentos de esta sección para que pueda hacer referencia a ellos con más facilidad.

En esta sección

Title Descripción
Conceptos básicos sobre la muestra de Marble Maze Proporciona información general sobre la estructura del juego y algunas de las directrices de código y estilo que sigue el código fuente.
Estructura de la aplicación Marble Maze Describe cómo se estructura el código de la aplicación Marble Maze y las diferencias entre la estructura de una aplicación DirectX para UWP y la de una aplicación de escritorio tradicional.
Agregar contenido visual al ejemplo Marble Maze Describe algunos de los procedimientos clave que se deben tener en cuenta al trabajar con Direct3D y Direct2D. También describe cómo Marble Maze aplica estos procedimientos al contenido visual.
Agregar controles de entrada e interactividad al ejemplo Marble Maze Describe cómo funciona Marble Maze con entradas de acelerómetro, función táctil y dispositivo de juego para permitir a los usuarios navegar por menús e interactuar con el tablero de juegos. También se describen algunos de los procedimientos recomendados que se deben tener en cuenta al trabajar con las entradas.
Adición de audio a la muestra de Marble Maze Describe cómo funciona Marble Maze con audio para agregar música y efectos de sonido a la experiencia de juego.