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

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

Nota

El vínculo desde el que puede descargar el propio 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 Obtener ejemplos de aplicaciones para UWP.

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

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

Objetivo

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

Lo que necesita saber

Para este tutorial, debe estar familiarizado con estos temas.

  • C++/WinRT. C++/WinRT es una proyección de lenguaje C++17 moderna estándar para las API de tiempo de ejecución de Windows (WinRT), implementada como una biblioteca basada en archivos de encabezado y diseñada para proporcionar acceso de primera clase a las API Windows modernas.
  • Álgebra lineal básica y conceptos de física newtoniana.
  • Terminología básica de programación de gráficos.
  • Conceptos básicos de programación en Windows.
  • Conocimiento básico de las API Direct2D y Direct3D 11.

El juego de ejemplo Simple3DGameDX implementa una galería de juegos en 3D en primera persona sencilla, donde el jugador se desenlazna al mover los objetivos. Acertar a cada objetivo concede un determinado número de puntos, y el jugador puede avanzar a través de 6 niveles de dificultad creciente. Al final de los niveles, se cuentan los puntos y el jugador obtiene una puntuación final.

En el ejemplo se muestran estos conceptos de juego.

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

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, más adelante podría volver a usarlo como un tipo de plantilla.
Definir el marco de la aplicación para UWP del juego El primer paso para codificar un juego Windows Plataforma universal (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 estados de alto nivel para habilitar la interacción entre el reproductor y el sistema. Obtenga información sobre cómo interactúa la interfaz de usuario 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, observamos 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 Obtén información sobre cómo agregar una superposición de interfaz de usuario 2D a un juego de DirectX para UWP.
Agregar controles Ahora, echamos un vistazo a cómo el juego de ejemplo implementa controles de aspecto de movimiento en un juego 3D y cómo desarrollar controles básicos de toque, mouse y controlador de juego.
Agregar sonido Desarrolle un motor de sonido simple mediante las API de XAudio2 para reproducir música de juegos y efectos de sonido.
Extender el juego de ejemplo Obtén información sobre cómo implementar una superposición XAML para un juego directX de UWP.