Crear un juego de Plataforma universal de Windows simple (UWP) con DirectX

En este conjunto de tutoriales, aprenderás a usar DirectX y C++/WinRT para crear el juego de ejemplo básico de Plataforma universal de Windows (UWP) denominado Simple3DGameDX. El juego tiene lugar en una sencilla galería de disparos 3D en 3D.

Nota:

El vínculo desde el que puedes descargar el juego de ejemplo Simple3DGameDX es un juego de ejemplo de Direct3D. El código fuente de C++/WinRT está en la carpeta denominada cppwinrt. Para obtener información sobre otras aplicaciones de ejemplo de UWP, consulta Aplicaciones de ejemplo para el desarrollo de Windows.

Estos tutoriales cubren todas las partes principales de un juego, incluidos los procesos para cargar activos como artes y mallas, crear un bucle de juego principal, implementar una canalización de representación simple y agregar sonido y controles.

También verás las técnicas y consideraciones de desarrollo de juegos para UWP. Nos centraremos en los conceptos clave de desarrollo de juegos directX para UWP y llamaremos consideraciones específicas de Windows Runtime en torno a esos conceptos.

Objetivo

Para obtener información sobre los conceptos básicos y los componentes de un juego DirectX para UWP, y para ser más cómodo diseñar juegos para UWP con DirectX.

Lo que necesitas saber

Para este tutorial, debe estar familiarizado con estos temas.

  • C++/WinRT. C++/WinRT es una proyección estándar del lenguaje C++17 estándar para las API de Windows, implementadas como una biblioteca basada en archivos de encabezado, y diseñadas para proporcionarle acceso de primera clase a las API modernas de Windows.
  • Conceptos básicos de álgebra lineal y física newtoniana.
  • Terminología básica de programación de gráficos.
  • Conceptos básicos de programación en Windows.
  • Conocimientos básicos de las API de Direct2D y Direct3D 11 .

El juego de ejemplo Simple3DGameDX implementa una sencilla galería de disparos 3D en 3D, donde el jugador dispara bolas a objetivos móviles. Alcanzar cada objetivo otorga un número establecido de puntos, y el jugador puede avanzar a través de 6 niveles de desafío creciente. Al final de los niveles, los puntos se cuentan y el jugador recibe una puntuación final.

En el ejemplo se muestran estos conceptos de juego.

  • Interoperación entre DirectX 11.1 y Windows Runtime
  • Una perspectiva 3D y una cámara 3D de primera persona
  • Efectos estereoscópicos 3D
  • Detección de colisiones entre objetos en 3D
  • Control de la entrada del reproductor para los controles del mouse, la entrada táctil y el mando de Xbox
  • Mezcla y reproducción de audio
  • Una máquina de estado de juego básica

el juego de ejemplo en acción

Tema Descripción
Configurar el proyecto de juego El primer paso para desarrollar el juego es configurar un proyecto en Microsoft Visual Studio. Después de configurar un proyecto específicamente para el desarrollo de juegos, podría volver a usarlo más adelante como un tipo de plantilla.
Definir el marco de la aplicación para UWP del juego El primer paso para codificar un juego para la Plataforma universal de Windows (UWP) es crear el marco que permite que el objeto de aplicación interactúe con Windows.
Administración de flujo de juegos Defina la máquina de estado de alto nivel para habilitar la interacción del jugador y del sistema. Obtén información sobre cómo la interfaz de usuario interactúa con la máquina de estado general del juego y cómo crear controladores de eventos para juegos para UWP.
Definir el objeto principal del juego Ahora, veremos los detalles del objeto principal del juego de ejemplo y cómo las reglas que implementa se traducen en interacciones con el mundo del juego.
Marco de representación I: Introducción a la representación Obtenga información sobre cómo desarrollar la canalización de representación para mostrar gráficos. Introducción a la representación.
Marco de representación II: representación de juegos Obtenga información sobre cómo ensamblar la canalización de representación para mostrar gráficos. Representación de juegos, configuración y preparación de datos.
Agregar una interfaz de usuario Aprende a agregar una superposición de interfaz de usuario 2D a un juego directX para UWP.
Agregar controles Ahora, echemos un vistazo a cómo el juego de ejemplo implementa controles de vista de movimiento en un juego 3D y cómo desarrollar controles táctiles, de mouse y de dispositivo de juego básicos.
Agregar sonido Desarrolle un motor de sonido simple con las API de XAudio2 para reproducir música y efectos de sonido del juego.
Extender el juego de ejemplo Aprende a implementar una superposición XAML para un juego DirectX para UWP.