Erstellen eines einfachen Spiels für die universelle Windows-Plattform (UWP) mit DirectX

In diesen Tutorials erfahren Sie, wie Sie directX und C++/WinRT verwenden, um das UWP-Beispielspiel (Basic Universelle Windows-Plattform) mit dem Namen Simple3DGameDX zu erstellen. Das Gameplay findet in einer einfachen First-Person-3D-Schießgalerie statt.

Hinweis

Der Link, über den Sie das Simple3DGameDX-Beispielspiel selbst herunterladen können, ist Direct3D-Beispielspiel. Der C++/WinRT-Quellcode befindet sich im Ordner mit dem Namen cppwinrt. Informationen zu anderen UWP-Beispiel-Apps finden Sie unter Beispielanwendungen für die Windows-Entwicklung.

In diesen Tutorials werden alle wichtigen Teile eines Spiels behandelt, einschließlich der Prozesse zum Laden von Ressourcen wie Kunst und Gittern, zum Erstellen einer Standard Spielschleife, zum Implementieren einer einfachen Renderingpipeline sowie zum Hinzufügen von Sound und Steuerelementen.

Außerdem werden UWP-Techniken und Überlegungen zur Entwicklung von Spielen angezeigt. Wir konzentrieren uns auf wichtige UWP DirectX-Spieleentwicklungskonzepte und nennen Windows-Runtime-spezifische Überlegungen zu diesen Konzepten.

Ziel

Um mehr über die grundlegenden Konzepte und Komponenten eines UWP DirectX-Spiels zu erfahren und das Entwerfen von UWP-Spielen mit DirectX komfortabler zu gestalten.

Wichtige Informationen

Für dieses Tutorial müssen Sie mit diesen Themen vertraut sein.

  • C++/WinRT. C++/WinRT ist eine standardmäßige moderne C++17-Sprachprojektion für Windows-APIs, die als headerdateibasierte Bibliothek implementiert und entwickelt wurde, um Ihnen erstklassigen Zugriff auf die modernen Windows-APIs zu bieten.
  • Grundlegende Konzepte der linearen Algebra und der newtonschen Physik.
  • Grundlegende Terminologie für die Grafikprogrammierung.
  • Grundlegende Konzepte der Windows-Programmierung.
  • Grundlegende Kenntnisse der APIs von Direct2D und Direct3D 11.

Das Simple3DGameDX-Beispielspiel implementiert eine einfache First-Person-3D-Schießgalerie, in der der Spieler Bälle auf sich bewegende Ziele abfeuert. Wird ein Ziel getroffen, erhält der Spieler eine bestimmte Anzahl von Punkten. Der Spieler kann nacheinander sechs Level mit jeweils steigendem Schwierigkeitsgrad absolvieren. Am Ende der Level werden die Punkte zusammengezählt, und der Spieler erhält einen endgültigen Punktestand.

Im Beispiel werden diese Spielkonzepte veranschaulicht.

  • Zusammenarbeit zwischen DirectX 11.1 und der Windows-Runtime
  • Dreidimensionale Ich-Perspektive und entsprechende Kamera
  • Stereoskopische 3D-Effekte
  • Kollisionserkennung zwischen Objekten in 3D
  • Behandeln von Playereingaben für Maus-, Touch- und Xbox-Controller-Steuerelemente
  • Audiomixing und -wiedergabe
  • Ein grundlegender Spielzustandsautomat

Das Beispielspiel in Aktion

Thema BESCHREIBUNG
Einrichten des Spieleprojekts Der erste Schritt bei der Entwicklung Ihres Spiels besteht darin, ein Projekt in Microsoft Visual Studio einzurichten. Nachdem Sie ein Projekt speziell für die Spieleentwicklung konfiguriert haben, können Sie es später als eine Art Vorlage wiederverwenden.
Definieren des UWP-App-Frameworks für das Spiel Der erste Schritt beim Programmieren eines Universelle Windows-Plattform-Spiels (UWP) besteht darin, das Framework zu erstellen, mit dem das App-Objekt mit Windows interagieren kann.
Spielablaufverwaltung Definieren Sie den Zustandscomputer auf hoher Ebene, um die Interaktion zwischen Spieler und System zu ermöglichen. Erfahren Sie, wie die Benutzeroberfläche mit dem Zustandsautomaten des gesamten Spiels interagiert und wie Sie Ereignishandler für UWP-Spiele erstellen.
Definieren des Hauptobjekts für das Spiel Nun sehen wir uns die Details des Standard-Objekts des Beispielspiels an und sehen uns an, wie die implementierten Regeln in Interaktionen mit der Spielwelt übersetzt werden.
Renderingframework I: Einführung in das Rendering Erfahren Sie, wie Sie die Renderingpipeline zum Anzeigen von Grafiken entwickeln. Einführung in das Rendering.
Renderingframework II: Rendering von Spielen Erfahren Sie, wie Sie die Renderingpipeline zum Anzeigen von Grafiken zusammenstellen. Spielrendering, Einrichten und Vorbereiten von Daten.
Hinzufügen einer Benutzeroberfläche Erfahren Sie, wie Sie einem DirectX UWP-Spiel eine 2D-Benutzeroberfläche-Overlay hinzufügen.
Hinzufügen von Steuerelementen Nun sehen wir uns an, wie das Beispielspiel Bewegungssteuerungen in einem 3D-Spiel implementiert und wie grundlegende Touch-, Maus- und Gamecontrollersteuerelemente entwickelt werden.
Hinzufügen von Sound Entwickeln Sie eine einfache Sound-Engine mit XAudio2-APIs, um Spielmusik und Soundeffekte wiederzugeben.
Erweitern des Spielbeispiels Erfahren Sie, wie Sie eine XAML-Überlagerung für ein UWP-DirectX-Spiel implementieren.