Creare un semplice gioco UWP (Universal Windows Platform) con DirectX

In questa serie di esercitazioni si apprenderà come utilizzare DirectX e C++/WinRT per creare il gioco di esempio di base per UWP (Universal Windows Platform) denominato Simple3DGameDX. Il gameplay è quello di un semplice sparatutto 3D in prima persona.

Nota

Il collegamento da cui è possibile scaricare il gioco di esempio Simple3DGameDX è Gioco di esempio Direct3D. Il codice sorgente C++/WinRT si trova nella cartella denominata cppwinrt. Per informazioni su altre app di esempio UWP, vedere Applicazioni di esempio per lo sviluppo di Windows.

Queste esercitazioni riguardano tutte le parti principali di un gioco, inclusi i processi per il caricamento di asset quali immagini artistiche e mesh, la creazione di un ciclo di gioco principale, l'implementazione di una pipeline di rendering semplice e l'aggiunta di suoni e controlli.

Si vedranno anche tecniche e considerazioni sullo sviluppo dei giochi UWP. Ci concentreremo sui concetti chiave dello sviluppo di giochi UWP DirectX e richiameremo considerazioni specifiche di Windows Runtime su tali concetti.

Obiettivo

Imparare nozioni su concetti e componenti di base di un gioco UWP DirectX e acquisire maggiore familiarità nella progettazione di giochi UWP con DirectX.

Informazioni importanti

Per questa esercitazione, è necessario avere familiarità con questi argomenti.

  • C++/WinRT. C++/WinRT è una proiezione standard del moderno linguaggio C++ 17 per le API di Windows, implementata come libreria basata su file-header e progettata per fornire accesso privilegiato alle moderne API di Windows.
  • Concetti di base in algebra lineare e fisica newtoniana.
  • Terminologia di base di programmazione grafica.
  • Concetti di base di programmazione Windows.
  • Familiarità di base con le API Direct2D e Direct3D 11.

Il gioco di esempio Simple3DGameDX implementa un semplice sparatutto 3D in prima persona, in cui il giocatore spara sfere verso bersagli mobili. Quando si colpisce un bersaglio viene assegnata una serie di punti e il giocatore può progredire fino a 6 livelli di sfida in crescendo. Al termine dei livelli, vengono calcolati i punti ottenuti e il giocatore riceve un punteggio finale.

L'esempio dimostra i seguenti concetti di gioco.

  • Interoperabilità tra DirectX 11.1 e Windows Runtime
  • Una prospettiva in prima persona 3D e una telecamera
  • Effetti 3D stereoscopici
  • Rilevamento di collisioni tra oggetti in 3D
  • Gestione dell'input del giocatore per controlli mouse, touch e controller Xbox
  • Miscelazione e riproduzione audio
  • Una macchina a stati per gioco di base

the sample game in action

Argomento Descrizione
Impostare il progetto di gioco Il primo passaggio nello sviluppo del gioco consiste nel configurare un progetto in Microsoft Visual Studio. Dopo aver configurato un progetto specificamente per lo sviluppo di giochi, è possibile riutilizzarlo successivamente come tipo di modello.
Definire il framework dell'app UWP di un gioco Il primo passaggio per la codifica di un gioco UWP (Universal Windows Platform) è la realizzazione del framework che consente all'oggetto dell'app di interagire con Windows.
Gestione del flusso di gioco Definire la macchina a stati di alto livello per abilitare l'interazione tra giocatore e sistema. Informazioni su come l'interfaccia utente interagisce con la macchina a stati generale del gioco e come creare gestori di eventi per i giochi UWP.
Definire l'oggetto principale del gioco Esaminiamo ora i dettagli dell'oggetto principale del gioco di esempio e il modo in cui le regole implementate si traducono in interazioni con il mondo del gioco.
Framework di rendering I: Introduzione al rendering Informazioni su come sviluppare la pipeline di rendering per visualizzare la grafica. Introduzione al rendering.
Framework di rendering II: Rendering del gioco Informazioni su come assemblare la pipeline di rendering per visualizzare la grafica. Rendering del gioco, configurazione e preparazione dei dati.
Aggiungere un'interfaccia utente Informazioni su come aggiungere una sovrimpressione dell'interfaccia utente 2D a un gioco UWP DirectX.
Aggiungere controlli Diamo ora un'occhiata a come il gioco di esempio implementa i controlli move-look in un gioco 3D e come sviluppare i controlli di base touch, del mouse e del controller di gioco.
Aggiungere audio Sviluppare un semplice motore audio utilizzando le API XAudio2 per riprodurre musica ed effetti audio in un gioco.
Estendere il gioco di esempio Informazioni su come implementare una sovrimpressione XAML per un gioco UWP DirectX.