Criar um jogo simples UWP (Plataforma Universal do Windows) com DirectX

Neste conjunto de tutoriais, você aprenderá a usar DirectX e C++/WinRT para criar o jogo de exemplo básico de Plataforma Universal do Windows (UWP) chamado Simple3DGameDX. A jogabilidade ocorre em uma galeria de tiro 3D simples em primeira pessoa.

Observação

O link do qual você pode baixar o jogo de exemplo Simple3DGameDX em si é o jogo de exemplo direct3D. O código-fonte C++/WinRT está na pasta chamada cppwinrt. Para obter informações sobre outros aplicativos de exemplo UWP, consulte Aplicativos de exemplo para desenvolvimento do Windows.

Esses tutoriais abrangem todas as principais partes de um jogo, incluindo os processos para carregar ativos como artes e malhas, criar um loop de jogo main, implementar um pipeline de renderização simples e adicionar som e controles.

Você também verá as técnicas e considerações de desenvolvimento de jogos UWP. Vamos nos concentrar nos principais conceitos de desenvolvimento de jogos do DirectX da UWP e chamar considerações específicas do Windows-Runtime em relação a esses conceitos.

Objetivo

Para saber mais sobre os conceitos e componentes básicos de um jogo DirectX UWP e se tornar mais confortável projetando jogos UWP com DirectX.

O que você precisa saber

Para este tutorial, você precisa estar familiarizado com esses assuntos.

  • C++/WinRT. C++/WinRT é uma projeção de linguagem C++17 moderna padrão para APIs do Windows, implementada como uma biblioteca baseada em arquivo de cabeçalho e projetada para fornecer acesso de primeira classe às APIs modernas do Windows.
  • Álgebra linear básica com conceitos de física Newtoniana.
  • Terminologia básica de programação gráfica.
  • Conceitos básicos de programação no Windows.
  • Familiaridade básica com APIs de Direct2D e Direct3D 11.

O jogo de exemplo Simple3DGameDX implementa uma galeria de tiro 3D simples em primeira pessoa, onde o jogador dispara bolas em destinos móveis. Cada tiro no alvo concede um certo número de pontos, e o jogador pode passar por seis níveis com desafio crescente. No fim dos níveis, os pontos são calculados e o jogador recebe uma pontuação final.

O exemplo demonstra esses conceitos de jogo.

  • Interoperação entre DirectX 11.1 e o Windows Runtime
  • Câmera e perspectiva 3D em primeira pessoa
  • Efeitos 3D estereoscópicos
  • Detecção de colisão entre objetos em 3D
  • Manipulação de entrada do usuário para controles por mouse, toque e joystick do Xbox
  • Mixagem e reprodução de áudio
  • Um computador de estado de jogo básico

o jogo de exemplo em ação

Tópico Descrição
Configurar o projeto de jogo A primeira etapa no desenvolvimento do jogo é configurar um projeto no Microsoft Visual Studio. Depois de configurar um projeto especificamente para desenvolvimento de jogos, você poderá usá-lo novamente como uma espécie de modelo.
Definir a estrutura do aplicativo UWP do jogo A primeira etapa na codificação de um jogo de Plataforma Universal do Windows (UWP) é criar a estrutura que permite que o objeto do aplicativo interaja com o Windows.
Gerenciamento de fluxo de jogo Defina a máquina de estado de alto nível para habilitar o player e a interação do sistema. Saiba como a interface do usuário interage com a máquina de estado do jogo geral e como criar manipuladores de eventos para jogos da UWP.
Definir o objeto principal do jogo Agora, analisamos os detalhes do objeto main do jogo de exemplo e como as regras que ele implementa se traduzem em interações com o mundo do jogo.
Estrutura de renderização I: introdução à renderização Saiba como desenvolver o pipeline de renderização para exibir gráficos. Introdução à renderização.
Estrutura de renderização II: introdução ao jogo Saiba como montar o pipeline de renderização para exibir elementos gráficos. Renderização de jogos, configurar e preparar dados.
Adicionar uma interface do usuário Saiba como adicionar uma sobreposição de interface do usuário 2D a um jogo UWP do DirectX.
Adicionar controles Agora, vamos dar uma olhada em como o jogo de exemplo implementa controles de aparência de movimento em um jogo 3D e como desenvolver controles básicos de toque, mouse e controlador de jogo.
Adicionar som Desenvolva um mecanismo de som simples usando APIs XAudio2 para reproduzir música de jogo e efeitos sonoros.
Estender o exemplo de jogo Saiba como implementar uma sobreposição XAML para um jogo UWP DirectX.