Entwickeln von Marble Maze, einem Windows Store-Spiel in C++ und DirectX

Applies to Windows only

In diesem Abschnitt der Dokumentation wird das Erstellen von Windows Store-3D-Spielen mit DirectX und Visual C++ beschrieben. Mit den Windows Store-Apps wird unter Windows 8 eine Art von App eingeführt, mit der Verbrauchertrends wie Fingereingabe, Bewegungs- und Näherungssensoren, Mobilität und andere App-Funktionen abgedeckt werden. Die vorliegende Dokumentation veranschaulicht, wie Sie das 3D-Spiel Marble Maze erstellen, das auf neuen Formfaktoren wie Tablet PCs genau wie auf herkömmlichen Desktopcomputern und Laptops gespielt werden kann.

Hinweis  Den Quellcode für Marble Maze können Sie auf der Webseite für das DirectX-Spielebeispiel Marble Maze herunterladen.

Wichtig  Aus Marble Maze werden Entwurfsmuster ersichtlich, die als bewährte Methoden zum Erstellen von Windows Store-Spielen empfohlen werden. Viele der Implementierungsdetails können Sie an Ihre eigenen Vorgehensweisen und die konkreten Anforderungen des von Ihnen entwickelten Spiels anpassen. Wenn es Ihren Anforderungen besser entgegenkommt, können Sie natürlich auch andere Verfahren oder Bibliotheken verwenden. (Achten Sie jedoch stets darauf, dass Ihr Code die Anforderungen des Windows-Zertifizierungskits für Apps erfüllt.) Wenn eine Marble Maze-Implementierung als unerlässlich für die erfolgreiche Spieleentwicklung erachtet wird, ist dies in der vorliegenden Dokumentation entsprechend gekennzeichnet.

Einführung in Marble Maze

Wir haben uns für Marble Maze entschieden, da es sich um ein relativ einfaches Spiel handelt, das dennoch die ganze Breite der Features repräsentiert, die sich in den meisten Spielen finden. Die Verwendung von Grafiken kann ebenso erläutert werden wie die Verarbeitung von Eingaben und Audiodaten. Außerdem kann die Spielmechanik gezeigt werden, etwa Regeln und Ziele.

Marble Maze ähnelt den Labyrinth-Tischspielen, die meist in einem Kasten mit Löchern und einer Stahl- oder Glasmurmel gespielt werden. Das Ziel von Marble Maze ist das gleiche wie bei der Tischversion: Das Labyrinth muss so angekippt werden, dass die Murmel in möglichst kurzer Zeit vom Anfang zum Ende des Labyrinths gerollt wird, ohne dass sie in eines der Löcher fällt. Außerdem gibt es in Marble Maze das Konzept der Kontrollpunkte. Wenn die Murmel in ein Loch fällt, beginnt das Spiel am letzten Kontrollpunkt neu, den die Murmel passiert hat.

Marble Maze bietet dem Benutzer mehrere Möglichkeiten zur Interaktion mit dem Spielbrett. Wenn Sie über ein Gerät verfügen, das Toucheingaben oder einen Beschleunigungsmesser unterstützt, können Sie das Spielbrett mit diesen Geräten bewegen. Außerdem können Sie das Spiel mit einem Xbox 360-Controller oder einer Maus steuern.

Screenshot des Marble Maze-Spiels

Hinweis  Das XNA-Framework enthält ebenfalls ein Beispiel mit dem Namen Marble Maze, das als Windows Phone- oder klassische Windows-Desktop-App gespielt werden kann. (Diese Version kann allerdings nicht als Windows Store-App gespielt werden.) Weitere Informationen zur Version des XNA-Framework finden Sie unter Marble Maze, siehe App Hub – Marble Maze.

Voraussetzungen

  • Windows 8
  • Microsoft Visual Studio 2013
  • Kenntnisse in der C++-Programmierung
  • Erfahrung mit DirectX und der Terminologie von DirectX
  • Grundkenntnisse in COM

Wer sollte diese Dokumentation lesen?

Wenn Sie sich für die Erstellung von 3D-Spielen oder anderen grafikintensiven Anwendungen für Windows 8 interessieren, ist diese Dokumentation für Sie gedacht. Wir hoffen, dass Ihnen die in dieser Dokumentation skizzierten Prinzipien und praktischen Vorgehensweisen dabei helfen, eigene Windows Store-Apps zu erstellen. Den größten Nutzen aus dieser Dokumentation werden Sie ziehen, wenn Sie bereits über Erfahrungen mit C++ und DirectX verfügen oder sich sehr dafür interessieren. Wenn Sie noch keine Erfahrung mit DirectX, dafür aber mit ähnlichen 3D-Grafikprogrammierumgebungen haben, wird Ihnen die Dokumentation ebenfalls nutzen.

Wenn Sie Einsteiger in die Spielentwicklung sind und Ihr Spiel keine besonderen Anforderungen an die Grafik stellt, könnten Sie es stattdessen auch als Windows Store-App mit JavaScript oder XAML entwickeln. Weitere Informationen zu diesen Optionen finden Sie unter Technologien für die Entwicklung von Windows Store-Spielen für Windows. Eine grundlegende Einführung in die Programmierung von Windows Store-Spielen mit C++ finden Sie unter Erstellen Ihrer ersten Windows Store-App mit DirectX. Im Dokument Exemplarische Vorgehensweise: Erstellen eines einfachen Windows Store-Spiels mit DirectX wird ein weiteres Beispiel beschrieben, in dem ein einfacher 3D-Shooter mit DirectX und C++ implementiert wird.

In dieser Dokumentation behandelte Themen

In dieser Dokumentation wird Folgendes beschrieben:

  • Erstellen eines Windows Store-Spiels mit der Windows-Runtime-API und DirectX
  • Arbeiten mit visuellen Direct3D- und Direct2D-Inhalten wie Modellen, Texturen, Vertex- und Pixelshadern sowie 2D-Überblendungen
  • Integrieren von Eingabemechanismen wie Touch, Beschleunigungsmesser und Xbox 360-Controller
  • Integrieren von Musik und Soundeffekten mit XAudio2

In dieser Dokumentation nicht behandelte Themen

Folgende Aspekte der Spieleentwicklung werden in dieser Dokumentation nicht behandelt. Im Anschluss an diese Aspekte folgen zusätzliche Ressourcen, in denen sie behandelt werden.

  • Entwurfsprinzipien von 3D-Spielen
  • Grundlagen der C++- und DirectX-Programmierung
  • Entwerfen von Ressourcen wie Texturen, Modellen oder Audio
  • Beheben von Verhaltens- oder Leistungsproblemen in Spielen
  • Vorbereiten von Spielen für andere Teile der Welt
  • Zertifizieren und Veröffentlichen von Spielen im Windows Store

Für die Zusammenarbeit von Marble Maze mit 3D-Geometrie und für physikalische Berechnungen wie Kollisionen wird zudem die DirectXMath-Bibliothek verwendet. DirectXMath wird in diesem Abschnitt nicht eingehend beschrieben. Weitere Informationen zu DirectXMath finden Sie im DirectXMath-Programmierhandbuch. Weitere Einzelheiten zur Verwendung von DirectXMath in Marble Maze finden Sie im Quellcode.

Zwar bietet Marble Maze viele wiederverwendbare Komponenten, doch stellt es kein vollständiges Framework für die Spieleentwicklung dar. Wenn eine Komponente von Marble Maze als in Ihrem Spiel wiederverwendbar erachtet wird, ist dies in der vorliegenden Dokumentation entsprechend gekennzeichnet.

Anhand der folgenden Ressourcen können Sie sich mit der Windows Store-Spieleentwicklung näher vertraut machen.

DirectX-Entwicklercenter

Enthält Ressourcen zu den ersten Schritten sowie detaillierte Whitepaper und Beispiele für DirectX-Programmierer.

Visual C++-Entwicklercenter

Enthält Ressourcen für C++-Programmierer auf Einsteiger- und Fortgeschrittenenniveau.

Planen von Windows Store-Apps

Enthält praktische Anweisungen zum Entwerfen von Windows Store-Apps mit verbesserter Benutzerinteraktion und Nutzung von Geräte- und Touchfunktionen.

Entwickeln von Spielen

Erleichtert Ihnen die ersten Schritte bei häufigen Aufgaben zur Entwicklung von Windows-Spielen und das Entdecken und Beurteilen neuer und bestehender Spieletechnologien und Entwicklungsplattformen für Windows.

Arbeiten mit 3D-Ressourcen für Spiele und Apps.

Beschreibt die Entwurfs- und Ressourcenbearbeitungstools von Visual Studio, die die DirectX-basierte Anwendungsentwicklung unterstützen.

Debuggen von DirectX-Grafiken

Beschreibt die Debugfunktionen von Visual Studio für DirectX-basierte Anwendungen.

Definition der App-Ressourcen

Beschreibt das Definieren von App-Ressourcen zur Verbesserung von Wartbarkeit und Lokalisierung.

Vorbereiten des Windows-Spiels auf die Veröffentlichung

Beschreibt die notwendigen Schritte zum Veröffentlichen eines Spiels im Windows Store, z. B. das Packen des Spiels und Beziehen der Bewertungszertifizierung.

Nächste Schritte

Es wird empfohlen, mit den Grundlagen des Marble Maze-Beispiels zu beginnen, um sich mit der Struktur von Marble Maze und einigen Richtlinien zu Codierung und Stil im Marble Maze-Quellcode vertraut zu machen. Die folgende Tabelle skizziert die Dokumente in diesem Abschnitt, sodass Sie einen genaueren Überblick über diese gewinnen.

Verwandte Themen

TitelBeschreibung
Grundlagen am Beispiel von Marble Maze Bietet einen Überblick über die Struktur des Spiels und einige Richtlinien zu Codierung und Stil im Marble Maze-Quellcode.
Anwendungsstruktur von Marble Maze Beschreibt die Strukturierung der Anwendung Marble Maze und die Unterschiede zwischen der Struktur einer Windows Store-DirectX-App und der einer herkömmlichen Desktopanwendung.
Hinzufügen von visuellem Inhalt zum Marble Maze-Beispiel Beschreibt einige der zentralen praktischen Verfahren, die bei der Arbeit mit Direct3D und Direct2D zu beachten sind. Beschreibt außerdem, wie diese Verfahren in Marble Maze für visuelle Inhalte umgesetzt wurden.
Hinzufügen von Eingaben und Interaktivität zum Marble Maze-Beispiel Beschreibt die Zusammenarbeit von Marble Maze mit Beschleunigungsmesser, Touchgeräten und Xbox 360-Controllern, um den Benutzern das Navigieren in den Menüs und die Interaktion mit dem Spielbrett zu ermöglichen. Beschreibt außerdem einige bewährte Methoden, die bei der Arbeit mit Eingaben beachtet werden sollten.
Hinzufügen von Audiodaten zum Marble Maze-Beispiel Beschreibt die Zusammenarbeit von Marble Maze mit Audio, um der Spielumgebung Musik und Soundeffekte hinzuzufügen.

 

 

 

Anzeigen:
© 2014 Microsoft