Auf Englisch lesen

Freigeben über


Handbuch zur Entwicklung von Spielen unter Windows

Willkommen beim Windows-Handbuch für die Entwicklung von Spielen!

Hinweis

Bevor Sie Zeit für die Entwicklung eines Spiels auf Basis des UWP-Frameworks investieren, beachten Sie bitte, dass UWP nicht mehr aktiv entwickelt wird. Darüber hinaus werden UWP-basierte Spiele im Xbox Store nicht mehr akzeptiert.

Dieses Handbuch enthält eine umfassende Sammlung der Ressourcen und Informationen, die Sie zum Entwickeln eines UWP-Spiels (Universelle Windows-Plattform) benötigen. Eine englische (US)-Version dieses Handbuchs ist im PDF-Format verfügbar.

Einführung in die Spieleentwicklung für die Universelle Windows-Plattform (UWP)

Dieses Handbuch enthält eine umfassende Sammlung von Informationen und Ressourcen, die Ihnen beim Entwickeln Ihres Spiels helfen. Die Abschnitte sind nach den Phasen der Spieleentwicklung organisiert, sodass Sie wissen, wo Sie nach Informationen suchen können, wenn Sie sie benötigen.

Wenn Sie mit der Entwicklung von Spielen unter Windows noch nicht fertig sind, kann es sein, dass Sie mit dem Leitfaden für erste Schritte beginnen möchten. Der Abschnitt Ressourcen für die Spieleentwicklung enthält auch eine allgemeine Umfrage zu Dokumentationen, Programmen und anderen Ressourcen, die beim Erstellen eines Spiels hilfreich sind. Wenn Sie zunächst einen UWP-Code betrachten möchten, finden Sie weitere Informationen unter Beispielspielen.

Ressourcen für die Spieleentwicklung

Von der Dokumentation bis hin zu Entwicklerprogrammen, Foren, Blogs und Beispielen stehen Ihnen viele Ressourcen zur Verfügung, die Ihnen bei der Entwicklung ihrer Spiele helfen. Hier finden Sie eine Zusammenfassung wichtiger Ressourcen für den Einstieg in die Entwicklung Ihres Windows-Spiels.

Hinweis

Einige Features werden über verschiedene Programme verwaltet. Dieses Handbuch behandelt eine breite Palette von Ressourcen. Je nach Programmteilnahme oder spezifischer Entwicklungsrolle stehen Ihnen bestimmte Ressourcen unter Umständen nicht zur Verfügung. Informationen zur Partnerschaft mit Microsoft finden Sie unter Entwicklerprogramme.

Dokumentation für die Spieleentwicklung

In diesem Handbuch finden Sie Deep-Links zu relevanten Dokumentationen, die nach Aufgaben, Technologie und Phase der Spieleentwicklung organisiert sind. Hier sehen Sie eine Übersicht über die wichtigsten verfügbaren Dokumentationsportale für die Entwicklung von Windows-Spielen.

Windows Dev Center-Hauptportal Windows Developer Center
Entwickeln von Windows-Apps Windows-Apps entwickeln
App-Entwicklung mit der Universellen Windows-Plattform Dokumentation zur Universellen Windows-Plattform
Anleitungen für UWP-Spiele Spiele und DirectX
DirectX-Referenz und -Übersichten DirectX-Grafiken und -Spiele
Azure für Gaming Erstellen und Skalieren Ihrer Spiele mit Azure
Azure PlayFab Vollständige Back-End-Lösung für Live-Spiele
Interactive-Dokumentation für Mixer Hinzufügen von Interaktivität zu Ihrem Spiel

Partner Center

Die Registrierung als Entwickler im Partner Center ist der erste Schritt zum Veröffentlichen Ihres Windows-Spiels. Mit einem Entwicklerkonto können Sie den Namen Ihres Spiels reservieren und kostenlose oder kostenpflichtige Spiele für alle Windows-Geräte an den Microsoft Store übermitteln. Verwenden Sie Ihr Entwicklerkonto, um Ihre Spiele- und In-Game-Produkte zu verwalten, detaillierte Analysen zu erhalten und Dienste zu aktivieren, die großartige Erfahrungen für Ihre Spieler auf der ganzen Welt schaffen.

Microsoft bietet außerdem mehrere Entwicklerprogramme zur Unterstützung an, mit denen Sie Windows-Spiele entwickeln und veröffentlichen können. Es wird empfohlen, vor der Registrierung für ein Partner Center-Konto zu schauen, ob für Sie geeignete dabei sind. Weitere Informationen finden Sie in den Entwicklerprogrammen

Entwicklerprogramme

Um ein Spiel im Microsoft Store zu veröffentlichen, müssen Sie auch ein Entwicklerkonto im Partner Center erstellen.

Beispielspiele

Für Windows-Spiele und -Apps stehen zahlreiche Beispiele zur Verfügung, die einen Eindruck von den Features von Windows-Spielen vermitteln und den Einstieg in die Spieleentwicklung erleichtern. Es werden regelmäßig Beispiele entwickelt und veröffentlicht. Schauen Sie daher immer mal wieder bei den Beispielportalen vorbei. Sie können auch GitHub-Repositorys ansehen, um über Änderungen und Ergänzungen benachrichtigt zu werden.

Beispiel-Apps für die Universelle Windows-Plattform Universelle Windows-Beispiele
Direct3D 12-Grafikbeispiele DirectX-Grafikbeispiele
Direct3D 11-Grafikbeispiele directx-sdk-samples
Direct3D 11-Beispiel für ein First-Person-Spiel Erstellen eines einfachen UWP-Spiels mit DirectX
Beispiel für benutzerdefinierte Direct2D-Bildeffekte D2DCustomEffects
Beispiel für das Direct2D-Farbverlaufsgitter D2DGradientMesh
Beispiel für die Anpassung von Direct2D-Fotos D2DPhotoAdjustment
Beispiele für Windows-Spiele (MSDN Code Gallery) Microsoft Store-Beispielspiel
JavaScript 2D-Beispielspiel Erstellen eines UWP-Spiels in JavaScript
JavaScript 3D-Beispielspiel Erstellen eines 3D-JavaScript-Spiels mit three.js

Entwicklerforen

In Entwicklerforen können Entwickler Fragen zur Spieleentwicklung stellen und beantworten und sich mit anderen Spieleentwicklern austauschen. Foren können auch fantastische Ressourcen sein, um vorhandene Antworten auf schwierige Probleme zu finden, die Entwickler in der Vergangenheit konfrontiert und gelöst haben.

Veröffentlichen von Entwicklerforen für Apps und Spiele Veröffentlichung und Anzeigen in Apps
Entwicklerforum für UWP-Apps Entwickeln von Apps für die Universelle Windows-Plattform
Entwicklerforen für Desktopanwendungen Foren für Windows-Desktopanwendungen
DirectX Microsoft Store-Spiele (archivierte Forumbeiträge) Erstellen von Microsoft Store-Spielen mit DirectX (archiviert)
Entwicklerforen für verwaltete Windows 10-Partner XBOX-Entwicklerforen: Windows 10
PlayFab-Foren PlayFab-Foren

Entwicklerblogs

Entwicklerblogs sind eine weitere großartige Ressource für die neuesten Informationen zur Spieleentwicklung. Sie finden Beiträge zu neuen Features, Implementierungsdetails, bewährten Methoden, Architekturhintergrund und mehr.

Erstellen von Apps für Windows (Blog) Erstellen von Apps für Windows
Windows 10 (Blogbeiträge) Beiträge in Windows 10
Blog des Visual Studio-Entwicklungsteams Der Visual Studio-Blog
Blogs für Visual Studio-Entwicklertools Blogs zu Entwicklertools
Somasegars Blog für Entwicklertools Somasegar’s Blog
DirectX-Entwicklerblog DirectX-Entwicklerblog
DirectX 12-Einführung (Blogbeitrag) DirectX 12
Teamblog zu Visual C++-Tools Blog des Visual C++-Teams
PIX-Teamblog Leistungsoptimierung und Debugging für DirectX 12-Spiele unter Windows und Xbox
Bereitstellungsteamblog für Universelle Windows-Apps Erstellen und Bereitstellen des Teamblogs für UWP-Apps

Konzept und Planung

In der Konzeptionierungs- und Planungsphase entscheiden Sie, welches Spiel Sie entwickeln möchten und mit welchen Tools und Technologien Sie es zum Leben erwecken werden.

Übersicht über die Technologien für die Spieleentwicklung

Wenn Sie mit der Entwicklung eines Spiels für die UWP beginnen, stehen Ihnen mehrere Optionen für Grafiken, Eingaben, Audio, Netzwerk, Dienstprogramme und Bibliotheken zur Verfügung.

Vielleicht haben Sie ja bereits entschieden, welche Technologien Sie in Ihrem Spiel verwenden möchten, dann sind Sie bereit. Andernfalls ist das Handbuch Spieletechnologien für UWP-Apps eine hervorragende Übersicht über viele der verfügbaren Technologien und wird dringend empfohlen, um Ihnen dabei zu helfen, die Optionen und deren Zusammenpassen zu verstehen.

Umfrage zu UWP-Spieltechnologien Spieletechnologien für UWP-Apps

Spieleplanung

Im Folgenden finden Sie einige Konzept- und Planungsthemen, die Ihnen einen Überblick über das geben, was Sie bei der Planung Ihres Spiels berücksichtigen sollten.

Machen Sie Ihr Spiel barrierefrei Barrierefreiheit für Spiele
Erstellen von Spielen mithilfe der Cloud Cloud für Spiele
Monetarisierung Ihres Spiels Monetisierung für Spiele

Auswählen ihrer Grafiktechnologie und Programmiersprache

Für die Verwendung in Windows-Spielen sind verschiedene Programmiersprachen und Grafiktechnologien verfügbar. Der jeweilige Ansatz richtet sich nach der Art des Spiels, das Sie entwickeln, der Erfahrung und den Vorlieben Ihres Entwicklungsstudios und den bestimmten Funktionsanforderungen Ihres Spiels. Verwenden Sie C#, C++ oder JavaScript? DirectX, XAML oder HTML5?

DirectX

Microsoft DirectX ist die Wahl, um 2D- und 3D-Grafiken und Multimedia mit höchster Leistung zu erzielen.

DirectX 12 ist schneller und effizienter als jede vorherige Version. Direct3D 12 ermöglicht umfangreichere Szenen, mehr Objekte, komplexere Effekte und die vollständige Nutzung moderner GPU-Hardware auf Windows-PCs und Xbox One.

Sie können weiterhin die vertraute Grafikpipeline von Direct3D 11 verwenden und gleichzeitig von den neuen Rendering- und Optimierungsfeatures profitieren, die in Direct3D 11.3 hinzugekommen sind. Und wenn Sie ein richtiger Windows-API-Entwickler für den Desktop mit Win32-Erfahrung sind, steht Ihnen für Ihr Windows-Spiel dann auch diese Option zur Verfügung.

Die umfangreichen Features und die umfassende Plattformintegration von DirectX bieten die Leistungsfähigkeit und Leistung, die von den anspruchsvollsten Spielen benötigt wird.

DirectX für die UWP-Entwicklung DirectX-Programmierung
Tutorial: Erstellen eines UWP-DirectX-Spiels Erstellen eines einfachen UWP-Spiels mit DirectX
DirectX-Übersichten und -Referenz DirectX-Grafiken und -Spiele
Direct3D 12-Programmieranleitung und -referenz Direct3D 12-Grafiken
Grafik- und DirectX 12-Entwicklungsvideos (YouTube-Kanal) Weiterbildung für Microsoft DirectX 12 und Grafiken

XAML

XAML ist eine benutzerfreundliche deklarative UI-Sprache mit praktischen Features wie Animationen, Storyboards, Datenbindung, skalierbaren vektorbasierten Grafiken, dynamischen Größenänderungen und Szenendiagrammen. XAML eignet sich hervorragend für Spiel-UI, Menüs, Sprites und 2D-Grafiken. Um das UI-Layout einfach zu gestalten, ist XAML mit Design- und Entwicklungstools wie Expression Blend und Microsoft Visual Studio kompatibel. XAML wird häufig zusammen mit C# eingesetzt. Auch C++ ist eine gute Wahl, wenn dies Ihre bevorzugte Sprache ist oder wenn für Ihr Spiel hohe Anforderungen an die CPU bestehen.

XAML-Plattform-Übersicht XAML-Plattform
XAML-UI und -Steuerelemente Steuerelemente, Layouts und Text

HTML 5

HyperText Markup Language (HTML) ist eine gängige UI-Markupsprache, die für Webseiten, Apps und Rich-Clients verwendet wird. Windows-Spiele können HTML5 als vollständige Präsentationsebene mit den vertrauten Features von HTML, Zugriff auf die Universelle Windows-Plattform und Unterstützung für moderne Webfeatures wie AppCache, Web Worker, Canvas, Drag-and-Drop, asynchrone Programmierung und SVG verwenden. Im Hintergrund nutzt das HTML-Rendering die Leistungsfähigkeit der DirectX-Hardwarebeschleunigung, sodass Sie weiterhin die Leistungsvorteile von DirectX erhalten können, ohne zusätzlichen Code zu schreiben. HTML5 ist eine gute Wahl, wenn Sie sich mit der Webentwicklung auskennen, ein Webspiel portieren oder Sprach- und Grafikebenen nutzen möchten, die unter Umständen leichter zugänglich als andere Optionen sind. HTML5 wird mit JavaScript verwendet, kann aber auch Komponenten aufrufen, die mit C# oder C++/CX erstellt wurden.

HTML5- und Dokumentobjektmodellinformationen HTML- und DOM-Referenz
Die HTML5-W3C-Empfehlung HTML5

Kombinieren von Präsentationstechnologien

Die Microsoft DirectX Graphic Infrastructure (DXGI) bietet Interoperabilität und Kompatibilität über mehrere Arten von Grafiktechnologie hinweg. Für Hochleistungsgrafiken können Sie XAML und DirectX kombinieren, indem Sie XAML für Menüs und andere einfache UI-Elemente und DirectX für das Rendern von komplexen 2D- und 3D-Szenen nutzen. DXGI bietet außerdem Kompatibilität zwischen Direct2D, Direct3D, DirectWrite, DirectCompute und Microsoft Media Foundation.

Programmierhandbuch und Referenz zur DirectX-Grafikinfrastruktur DXGI
Kombinieren von DirectX und XAML DirectX- und XAML-Interoperabilität

C++

C++/WinRT ist eine Sprache mit hoher Leistung und geringerem Mehraufwand, die eine starke Kombination aus Geschwindigkeit, Kompatibilität und Plattformzugriff bietet. C++/WinRT erleichtert Ihnen die Nutzung aller nützlichen Gaming-Features unter Windows, z. B. DirectX und Xbox Live. Sie können auch vorhandenen C++-Code und -Bibliotheken wiederverwenden. Mit C++/WinRT wird schneller, systemeigener Code erstellt, bei dem kein Aufwand für die Garbage Collection anfällt. So kann Ihr Spiel mit einer hohen Leistung und einem geringen Stromverbrauch aufwarten und somit auch eine längere Akkulaufzeit ermöglichen. Verwenden Sie C++/WinRT zusammen mit DirectX oder XAML, oder erstellen Sie ein Spiel, in dem eine Kombination daraus genutzt wird.

C#

C# (ausgesprochen „C sharp“) ist eine moderne, innovative Sprache, die einfach, leistungsfähig, typsicher und objektorientiert ist. C# ermöglicht eine schnelle Entwicklung und gleichzeitig die Vertrautheit und Ausdrucksfähigkeit von Sprachen im C-Stil. Obwohl C# einfach zu verwenden ist, verfügt die Sprache über viele moderne Sprachfeatures wie Polymorphie, Delegate, Lambda-Elemente, Abschlüsse, Iteratormethoden, Kovarianz und LINQ-Ausdrücke (Language-Integrated Query). C# ist eine hervorragende Wahl, wenn Sie XAML verwenden, schnell mit der Entwicklung Ihres Spiels beginnen möchten oder über eine frühere C#-Erfahrung verfügen. C# wird vorrangig mit XAML genutzt. Falls Sie DirectX einsetzen möchten, sollten Sie stattdessen besser C++ wählen oder einen Teil des Spiels als C++-Komponente schreiben, die mit DirectX interagieren kann. Oder nehmen Sie Win2D: eine Direct2D-Grafikbibliothek im Sofortmodus für C# und C++.

C#-Programmieranleitung und -referenz C#-Sprachreferenz

Kombinieren von Programmiersprachen mithilfe von Komponenten für Windows-Runtime

Mit der Universellen Windows-Plattform ist es leicht möglich, Komponenten zu kombinieren, die in unterschiedlichen Programmiersprachen geschrieben wurden. Erstellen Sie Komponenten für Windows-Runtime in C++, C# oder Visual Basic, und nutzen Sie diese dann per JavaScript, C#, C++ oder Visual Basic. Dies ist eine großartige Möglichkeit, Teile Ihres Spiels in der Sprache Ihrer Wahl zu programmieren. Über Komponenten können Sie außerdem externe Bibliotheken nutzen, die nur in einer bestimmten Sprache verfügbar sind, oder auch älteren Code, den Sie bereits geschrieben haben.

So wird's gemacht: Erstellen von Komponenten für Windows-Runtime Windows-Runtime-Komponenten mit C++/WinRT

Welche Version von DirectX sollte Ihr Spiel verwenden?

Wenn Sie ein Spiel mit DirectX entwickeln, müssen Sie sich zwischen Microsoft Direct3D 12 und Microsoft Direct3D 11 entscheiden.

DirectX 12 ist schneller und effizienter als jede vorherige Version. Direct3D 12 ermöglicht umfangreichere Szenen, mehr Objekte, komplexere Effekte und die vollständige Nutzung moderner GPU-Hardware auf Windows-PCs und Xbox One. Da Direct3D 12 auf einer sehr niedrigen Ebene ausgeführt wird, erhält ein erfahrenes Grafikentwicklungs- oder DirectX 11-Entwicklungsteam alle notwendigen Steuerungsmöglichkeiten für die Maximierung der Grafikoptimierung.

Direct3D 11.3 ist eine Grafik-API auf niedriger Ebene, die das vertraute Direct3D-Programmiermodell und -Handles für Sie verwendet, um die Komplexität des GPU-Renderings zu erhöhen. Sie wird auch von Windows und Xbox One unterstützt. Wenn Sie über ein in Direct3D 11 geschriebenes Modul verfügen und nicht ganz bereit sind, auf Direct3D 12 zu springen, können Sie Direct3D 11 auf 12 verwenden, um einige Leistungsverbesserungen zu erzielen. Die Versionen 11.3+ enthalten die neuen Rendering- und Optimierungsfeatures, die auch in Direct3D 12 aktiviert sind.

Auswählen von Direct3D 12 oder Direct3D 11 Was ist Direct3D 12?
Übersicht über Direct3D 11 Direct3D 11-Grafiken
Übersicht über Direct3D 11 auf 12 Direct3D 11 auf 12

Brücken, Spielengines und Middleware

Abhängig von den Anforderungen Ihres Spiels kann die Verwendung von Brücken, Spielengines oder Middleware Entwicklungs- und Testzeit und Ressourcen sparen. Hier sind einige Übersichten und Ressourcen für Brücken, Spielengines und Middleware.

Azure PlayFab

Azure PlayFab ist jetzt Bestandteil der Microsoft-Familie und eine vollständige Back-End-Plattform für Live-Spiele und ein leistungsstarkes Mittel für die ersten Schritte unabhängiger Studios. Maximieren Sie Einnahmen, Interaktion und Kundenbindung, und senken Sie gleichzeitig Kosten – mit Gamingdiensten, Echtzeitanalysen und LiveOps.

Unity

Unity bietet eine Plattform zum Erstellen schöner und ansprechender 2D-, 3D-, VR- und AR-Spiele und -Apps. Damit können Sie Ihre kreative Vision schnell realisieren und Ihre Inhalte praktisch auf jedem beliebigen Medium oder Gerät bereitstellen.

Ab Unity 5.4 unterstützt Unity die Direct3D 12-Entwicklung.

Die Unity-Spielengine Unity – Spielengine
Unity abrufen Unity abrufen
Unity-Dokumentation für Windows Unity-Handbuch / Windows
Hinzufügen von LiveOps mit PlayFab Schnellstart: PlayFab-Clientbibliothek für C# in Unity
Hinzufügen von Interaktivität zu Ihrem Spiel mithilfe von Mixer Interactive Leitfaden zu den ersten Schritten
Mixer SDK für Unity Mixer Unity-Plugin
Mixer SDK für Unity–Referenzdokumentation API-Referenz für Mixer Unity-Plugin
Problembehandlung bei fehlenden Assembly-Verweisen im Zusammenhang mit .NET-APIs Fehlende .NET-APIs in Unity und UWP
Veröffentlichen Ihres Unity-Spiels als Universelle Windows-Plattform-App (Video) So veröffentlichen Sie Ihr Unity-Spiel als UWP-App
Verwenden von Unity zum Erstellen von Windows-Spielen und -Apps (Video) Erstellen von Windows-Spielen und -Apps mit Unity
Unity-Spieleentwicklung mit Visual Studio (Videoserie) Verwenden von Unity mit Visual Studio 2015

Havok

Mit den Tools und Technologien aus der modular aufgebauten Suite von Havok erreichen Spieleentwickler eine noch nie dagewesene Interaktivität und Immersion. Havok ermöglicht sehr realistische Physik, interaktive Simulationen und atemberaubende Kinomomente. Version 2015.1 oder höher unterstützt offiziell UWP in Visual Studio 2015 unter x86, 64-Bit und Arm.

Havok-Website Havok

Unreal Engine

Unreal Engine ist eine komplette Suite mit Tools für die Spieleentwicklung und für alle Arten von Spielen und Entwicklern geeignet. Für die anspruchsvollsten Konsolen- und PC-Spiele wird Unreal Engine von Spieleentwicklern weltweit verwendet.

Übersicht über Unreal Engine Unreal Engine

BabylonJS

BabylonJS ist ein vollständiges JavaScript-Framework für die Erstellung von 3D-Spielen mit HTML5, WebGL, WebVR und Web-Audio.

BabylonJS BabylonJS
Erstellen eines plattformübergreifenden WebGL-Spiels mit BabylonJS Verwenden von BabylonJS zum Entwickeln eines plattformübergreifenden Spiels

Prototyp und Design

Nachdem Sie sich entschieden haben, welche Art von Spiel Sie entwickeln und welche Tools und Grafiktechnologie Sie dabei verwenden möchten, können Sie sich der Gestaltung zuwenden und einen Prototyp entwickeln. Im Kern handelt es sich bei Ihrem Spiel um eine App für die Universelle Windows-Plattform, also Starten Sie dort.

Einführung in die Universelle Windows-Plattform (UWP)

Die Universelle Windows-Plattform (UWP) bietet eine allgemeine API-Plattform für windows-Geräte. Spiele, die auf die UWP abzielen, können WinRT-APIs aufrufen, die für alle Geräte anwendbar sind. Da die UWP garantierte API-Ebenen bereitstellt, können Sie ein einzelnes App-Paket erstellen, das dann auf allen Windows-Geräten installiert werden kann. Und falls Sie möchten, kann Ihr Spiel immer noch APIs aufrufen (inklusive manche klassischen Windows APIs von Win32 und .NET), die spezifisch für das Gerät sind, auf dem Ihr Spiel läuft.

Im Folgenden finden Sie hervorragende Leitfäden, welche die Apps für die Universelle Windows-Plattform detailliert beschreiben und empfohlen werden, um die Plattform zu verstehen.

Einführung in Apps für die Universelle Windows-Plattform Was ist eine Universelle Windows-Plattform-App?

Erste Schritte für die UWP-Entwicklung

Das Einrichten und Vorbereiten einer Universellen Windows-Plattform-App ist schnell und einfach. Die folgenden Leitfäden führen Sie schrittweise durch den Prozess.

Erste Schritte für die UWP-Entwicklung Erste Schritte mit Windows-Apps
Einrichten der UWP-Entwicklung Vorbereiten

Wenn Sie noch keine Erfahrungen mit der UWP-Programmierung haben und die Verwendung von XAML in Ihrem Spiel in Betracht ziehen (siehe Auswählen von Grafiktechnologie und Programmiersprache), ist die Videoserie Windows 10-Entwicklung für Neueinsteiger ein guter Ausgangspunkt.

Ankündigung der Windows 10-Serie für absolute Anfänger mit XAML (Blogbeitrag) Windows 10-Entwicklung für absolute Anfänger

UWP-Entwicklungskonzepte

Übersicht über die Entwicklung von Apps für die Universelle Windows-Plattform Windows-Apps entwickeln
Übersicht über die Netzwerkprogrammierung auf der UWP Netzwerk und Webdienste
Verwenden von Windows.Web.HTTP und Windows.Networking.Sockets in Spielen Netzwerk für Spiele
Asynchrone Programmierungskonzepte in der UWP Asynchrone Programmierung

Windows-Desktop-APIs und UWP

Dies sind einige Links, mit denen Sie zwischen Desktop- und UWP-Code zusammenarbeiten können.

Verwenden von vorhandenem C++-Code für die Entwicklung von UWP-Spielen Vorgehensweise: Verwenden von vorhandenem C++-Code in einer UWP-App
Windows-Runtime-APIs für Win32- und COM-APIs Win32- und COM-APIs für UWP-Apps
Nicht unterstützte CRT-Funktionen in UWP In Apps für die universelle Windows-Plattform nicht unterstützte CRT-Funktionen
Alternativen für Windows-APIs Alternativen zu Windows-APIs in UWP-Apps

Verwaltung der Prozesslebensdauer

Die Verwaltung der Prozesslebensdauer oder der Lebenszyklus von Apps beschreibt die verschiedenen Aktivierungszustände, die eine App für die Universelle Windows-Plattform durchlaufen kann. Ihr Spiel kann aktiviert, angehalten, fortgesetzt oder beendet werden und kann auf unterschiedliche Weise durch diese Zustände laufen.

Behandeln von App-Lebenszyklusübergängen App-Lebenszyklus
Verwenden von Microsoft Visual Studio zum Auslösen von App-Übergängen So wird's gemacht: Auslösen von Anhalte-, Fortsetzungs- und Hintergrundereignissen für UWP-Apps in Visual Studio

Entwerfen der Spiel-UX

Der Ursprung eines großartigen Spiels ist inspiriertes Design.

Spiele und Apps teilen sich zwar einige Benutzeroberflächenelemente und Designprinzipien, beim Spieldesign werden jedoch häufig ein ganz besonderer Look und ein einzigartiges Spielgefühl angestrebt. Spiele sind erfolgreich, wenn durchdachtes Design auf beide Aspekte angewendet wird – wann sollte Ihr Spiel getestete UX verwenden und wann sollte es divergieren und innovativ sein? Die Präsentationstechnologie, die Sie für Ihr Spiel auswählen – DirectX, XAML, HTML5 oder eine Kombination aus den drei – wirkt sich auf Implementierungsdetails aus, aber die Designprinzipien, die Sie anwenden, sind weitgehend unabhängig von dieser Auswahl.

Unabhängig vom UX-Design ist Gameplay-Design, wie Leveldesign, Pacing, World Design und anderen Aspekten, eine ganz eigene Kunstform und zwar eine, die Sie und Ihr Team schaffen müssen, und die nicht in diesem Entwicklungshandbuch behandelt wird.

UWP-Designgrundlagen und Richtlinien Entwerfen von UWP-Apps
Entwerfen für App-Lebenszykluszustände UX-Richtlinien für das Starten, Anhalten und Fortsetzen

Farbrichtlinie und -palette

Mit einer konsistenten Farbrichtlinie in Ihrem Spiel wird die Ästhetik verbessert, die Navigation unterstützt und sie ist ein leistungsstarkes Tool, um den Spieler über die Menü- und HUD-Funktionalität zu informieren. Eine einheitliche Farbgestaltung von Spielelementen wie Warnungen, Schäden, Erfahrungspunkten und Erfolgen kann zu einer aufgeräumteren Benutzeroberfläche führen und explizite Bezeichnungen überflüssig machen.

Farbanleitung Farbe in Windows 11

Typografie

Die geeignete Verwendung der Typografie verbessert viele Aspekte Ihres Spiels, einschließlich UI-Layout, Navigation, Lesbarkeit, Atmosphäre, Marke und Spieler-Immersion.

Typografieleitfaden Bewährte Methoden: Typografie

UI-Zuordnung

Eine UI-Karte ist ein Layout der Spielnavigation und Menüs, die als Flussdiagramm ausgedrückt werden. Die UI-Zuordnung dient als Hilfe für alle Beteiligten zum besseren Verständnis der Oberfläche und Navigationspfade eines Spiels und kann dazu beitragen, potenzielle Probleme und Sackgassen zu einem frühen Zeitpunkt des Entwicklungszyklus zu erkennen.

Benutzeroberflächenzuordnungshandbuch Bewährte Methoden: UI-Zuordnung

Spielaudio

Hier sind Anleitungen und Referenzen für die Implementierung von Audio in Spielen mit XAudio2, XAPO und Windows Sonic. XAudio2 ist eine Low-Level-Audio-API, die Signalverarbeitungs- und Mischgrundsätze für die Entwicklung leistungsstarker Audiomodule bereitstellt. Die XAPO-API ermöglicht die Erstellung plattformübergreifender Audioverarbeitungsobjekte (XAPO) für die Verwendung in XAudio2 sowohl unter Windows als auch auf Xbox. Mit der Windows Sonic-Audiounterstützung können Sie Dolby Atmos für Home Theater, Dolby Atmos für Kopfhörer und Windows HRTF-Unterstützung zu Ihrer Spiele- oder Streamingmedienanwendung hinzufügen.

XAudio2 APIs Programmierhandbuch und API-Referenz für XAudio2
Erstellen plattformübergreifender Audioverarbeitungsobjekte XAPO-Übersicht
Einführung in Audiokonzepte Audio für Spiele
Übersicht über Windows Sonic Raumklang

Direct3D 12

Erfahren Sie, was in Direct3D 12 neu und anders ist (im Vergleich zu Direct3D 11), und wie Sie mit der Programmierung mit Direct3D 12 beginnen.

Direct3D 12-Programmieranleitung und -referenz Direct3D 12-Grafiken
Einrichten der Programmierumgebung Einrichtung der Direct3D 12-Programmierungsumgebung
So erstellen Sie eine einfache Komponente Erstellen einer einfachen Direct3D 12-Komponente
Änderungen in Direct3D 12 Wichtige Änderungen, die von Direct3D 11 zu Direct3D 12 migriert werden
Portieren von Direct3D 11 zu Direct3D 12 Portieren von Direct3D 11 zu Direct3D 12
Konzepte für die Ressourcenbindung (behandelt Deskriptor, Deskriptortabelle, Deskriptor-Heap und Stammsignatur) Ressourcenbindung in Direct3D 12
Verwalten des Arbeitsspeichers Speicherverwaltung in Direct3D 12

DirectX-Entwicklung

Leitfäden und Referenzen für die Entwicklung von DirectX-Spielen.

DirectX für die UWP-Entwicklung DirectX-Programmierung
Tutorial: Erstellen eines UWP-DirectX-Spiels Erstellen eines einfachen UWP-Spiels mit DirectX
DirectX-Interaktion mit dem UWP-App-Modell Das App-Objekt und DirectX
DirectX-Übersichten und -Referenz DirectX-Grafiken und -Spiele
DirectX 12-Grundlagen (Video) Bessere Power, bessere Leistung: Ihr Spiel in DirectX 12

DirectX Tool Kit und Bibliotheken

Das DirectX Tool Kit, die DirectX-Texturverarbeitungsbibliothek, die DirectXMesh-Geometrieverarbeitungsbibliothek, die UVAtlas-Bibliothek und die DirectXMath-Bibliothek bieten Textur, Gitter, Sprite und andere Hilfsfunktionen und Hilfsklassen für die DirectX-Entwicklung. Diese Bibliotheken können Ihnen helfen, Entwicklungszeit und -aufwand einzusparen.

Abrufen des DirectX-Toolkits für DirectX 12 DirectXTK 12
Abrufen des DirectX-Toolkits für DirectX 11 DirectXTK
Abrufen der DirectX-Texturverarbeitungsbibliothek DirectXTex
Abrufen der DirectXMesh-Geometrieverarbeitungsbibliothek DirectXMesh
Abrufen von UVAtlas zum Erstellen und Packen von Isochart-Texturatlas UVAtlas
Abrufen der DirectXMath-Bibliothek DirectXMath
Direct3D 12-Unterstützung im DirectXTK (GitHub-Problem) Unterstützung für DirectX 12

DirectX-Ressourcen von Partnern

Dies sind einige zusätzliche DirectX-Dokumentationen, die von externen Partnern erstellt wurden.

Nvidia: DX12 Do's and Don'ts (Blogbeitrag) DX12 Do's and Don'ts, Updated!
Intel: Parallele Verarbeitung mit DirectX 3D 12 Parallele Verarbeitung mit DirectX 3D 12
Intel: Implementieren einer expliziten Mehrfachadapteranwendung mit DirectX 12 Unterstützung für mehrere Adapter in DirectX 12
Gemeinsames Whitepaper von Intel, Suzhou Snail und Microsoft Tutorial: Migrieren Ihrer Apps zu DirectX 12 – Teil 1

Produktion

Zum jetzigen Zeitpunkt ist Ihr Studio vollständig eingebunden und beginnt mit dem Produktionszyklus, wobei die Arbeiten auf die einzelnen Teammitglieder aufgeteilt werden. Sie optimieren, gestalten um und erweitern den Prototyp, um ihn in ein vollständiges Spiel umzuwandeln.

Benachrichtigungen und Live-Kacheln

Eine Kachel ist die Darstellung Ihres Spiels im Startmenü. Kacheln und Benachrichtigungen können das Interesse von Spielern steigern, auch wenn sie ihr Spiel derzeit nicht spielen.

Entwickeln von Kacheln und Signalen Kacheln, Signale und Benachrichtigungen
Beispiel zur Veranschaulichung von Live-Kacheln und -Benachrichtigungen Beispiel für Benachrichtigungen
Vorlagen für adaptive Kacheln (Blogbeitrag) Vorlagen für adaptive Kacheln – Schema und Dokumentation
Entwerfen von Kacheln und Signalen Richtlinien für Kacheln und Signale
Windows 10-App für die interaktive Entwicklung von Live-Kachelvorlagen Notifications Visualizer
UWP-Kachelgeneratorerweiterung für Visual Studio Tool zum Erstellen aller erforderlichen Kacheln mit einem einzelnen Bild
UWP-Kachelgeneratorerweiterung für Visual Studio (Blogbeitrag) Tipps zur Verwendung des UWP-Kachelgeneratortools

Aktivieren von In-App-Produktkäufen (Add-On)

Ein Add-On (In-App-Produkt) ist ein ergänzendes Element, das Spieler im Spiel erwerben können. Add-Ons können Spiellevels, Elemente oder alles andere sein, was Ihre Spieler genießen können. Entsprechend verwendet, können Add-Ons Einnahmen bereitstellen und gleichzeitig die Spielerfahrung verbessern. Sie definieren und veröffentlichen die Add-Ons Ihres Spiels über Partner Center und aktivieren In-App-Käufe im Code Ihres Spiels.

Dauerhafte Add-Ons Aktivieren von In-App-Produktkäufen
Konsumierbare Add-Ons Aktivieren von konsumierbaren In-App-Produktkäufen
Add-On-Details und Übermittlung Add-On-Übermittlungen
Überwachen von Add-On-Verkäufen und Demografien für Ihr Spiel Bericht zu Add-On-Käufen

Debuggen, Leistungsoptimierung und Überwachung

Um die Leistung zu optimieren, können Sie den Spielmodus in Windows nutzen, um Ihren Spielern die bestmögliche Spielerfahrung zu bieten, indem Sie die Kapazität ihrer aktuellen Hardware vollständig nutzen.

Das Windows Performance Toolkit (WPT) besteht aus Leistungsüberwachungstools, die detaillierte Leistungsprofile von Windows-Betriebssystemen und -Anwendungen erzeugen. Dies ist besonders hilfreich für die Überwachung der Speicherverwendung und zum Verbessern der Leistung eines Spiels. Das Windows Performance Toolkit ist im Windows SDK und im Windows ADK enthalten. Dieses Toolkit besteht aus zwei unabhängigen Tools: Windows Performance Recorder (WPR) und Windows Performance Analyzer (WPA). ProcDump, das Teil von Windows Sysinternals ist, ist ein Befehlszeilenprogramm, das CPU-Spitzen überwacht und Speicherabbilddateien während Spielabstürzen generiert.

Leistungstest für den Code Azure Test Plans
Verbessern sie die Leistung, indem Sie exklusiven oder prioritätsbasierten Zugriff auf Hardwareressourcen mithilfe von Game Mode-APIs erhalten. Spielmodus
Abrufen des Windows Performance Toolkit (WPT) Windows Performance Toolkit
Abrufen von Windows Performance Toolkit (WPT) aus dem Windows ADK Windows ADK
ProcDump abrufen ProcDump

Erweiterte DirectX-Techniken und -Konzepte

Einige Teile der DirectX-Entwicklung können nuanciert und komplex sein. Wenn Sie zu dem Punkt in der Produktion gelangen, an dem Sie die Details Ihres DirectX-Moduls einsehen oder schwierige Leistungsprobleme debuggen müssen, können die Ressourcen und Informationen in diesem Abschnitt hilfreich sein.

Leistungsoptimierung und Debuggingtool für DirectX 12 unter Windows Einführung von PIX unter Windows
Direct3D 12-Programmierhandbuch Direct3D 12-Grafiken
Kombinieren von DirectX und XAML DirectX- und XAML-Interoperabilität

Entwicklung von HDR-Inhalten (High Dynamic Range)

Erstellen Sie Spielinhalte, welche die vollständigen Farbfunktionen von HDR verwenden.

Erfahren Sie, wie Sie HDR-Inhalte rendern und erkennen, ob die aktuelle Anzeige sie unterstützt. Direct3D 12 HDR-Beispiel
Erstellen und Konfigurieren einer erweiterten Farbe mit DirectX Beispiel für erweitertes Rendern von Direct2D-Farbbildern

Globalisierung und Lokalisierung

Entwickeln Sie Windows-Spiele für den weltweiten Markt, und erfahren Sie mehr über die internationalen Features, die in die führenden Produkte von Microsoft integriert sind.

Vorbereiten Ihres Spiels auf den globalen Markt Globalisierung und Lokalisierung

Übermitteln und Veröffentlichen Ihres Spiels

Die folgenden Handbücher und Informationen sorgen für eine möglichst reibungslose Veröffentlichung und Übermittlung.

Veröffentlichung

Sie verwenden Partner Center, um Ihre Spielpakete zu veröffentlichen und zu verwalten.

Veröffentlichung von Apps mit Partner Center Veröffentlichen von Windows-Apps
Verwenden von Azure Active Directory (AAD) zum Hinzufügen von Benutzern zu Ihrem Partner Center-Konto Erstellen von Kundengruppen
Bewertung Ihres Spiels (Blogbeitrag) Jetzt verfügbar: Single Age Rating System zur Vereinfachung von App-Übermittlungen

Packen und Hochladen

Teilen und Gruppieren von Inhalten zum Aktivieren der Streaminginstallation Streaminginstallation von UWP-Apps
Erstellen optionaler Pakete wie DLC-Spielinhalten Optionale Pakete und die Erstellung zugehöriger Sätze
Packen Ihres UWP-Spiels Verpacken von Apps
Packen Ihres UWP-DirectX-Spiels Packen Ihres UWP-DirectX-Spiels
Packen Ihres Spiels als Drittanbieterentwickler (Blogbeitrag) Erstellen von uploadfähigen Paketen ohne Zugriff auf das Store-Konto des Herausgebers
Erstellen von App-Paketen und App-Paketpaketen mithilfe von MakeAppx Erstellen von Paketen mit dem App-Packager-Tool MakeAppx.exe
Digitales Signieren Ihrer Dateien mit SignTool Signieren von Dateien und Überprüfen von Signaturen in Dateien mithilfe von SignTool
Hochladen und Versionsverwaltung Ihres Spiels Hochladen von App-Paketen

Richtlinien und Zertifizierung

Lassen Sie Zertifizierungsprobleme nicht die Veröffentlichung Ihres Spiels verzögern. Im Folgenden finden Sie Richtlinien und allgemeine Zertifizierungsprobleme, die Sie beachten müssen.

Vereinbarung für Entwickler von Microsoft Store-Apps Vereinbarung für App-Entwickler
Richtlinien für die Veröffentlichung von Apps im Microsoft Store Microsoft Store-Richtlinien
So vermeiden Sie häufige Probleme bei der App-Zertifizierung Vermeiden häufiger Zertifizierungsfehler

Store-Manifest (StoreManifest.xml)

Das Store-Manifest (StoreManifest.xml) ist eine optionale Konfigurationsdatei, die Sie Ihrem App-Paket hinzufügen können. Das Store-Manifest bietet zusätzliche Features, die über den Umfang der Datei AppxManifest.xml hinausgehen. So können Sie mithilfe des Store-Manifests etwa die Installation Ihres Spiels blockieren, wenn ein Zielgerät nicht über die mindestens erforderliche DirectX-Featureebene verfügt oder der verfügbare Systemspeicher nicht ausreicht.

Store-Manifest-Schema StoreManifest-Schema (Windows 10)

Verwaltung des Spiellebenszyklus

Wer glaubt, sich nach dem Abschluss der Entwicklung und der Auslieferung eines Spiels entspannt zurücklehnen zu können, irrt. Die Entwicklung von Version 1 mag zwar abgeschlossen sein, die Marktphase Ihres Spiels hat jedoch gerade erst begonnen. Sie sollten die Verwendungs- und Fehlerberichterstattung überwachen, auf Benutzerfeedback reagieren und Updates für Ihr Spiel veröffentlichen.

Partner Center-Analysen und -Werbung

Partner Center-Analysen Analysieren der App-Leistung
Reaktion auf Kundenrezensionen Antworten auf Kundenrezensionen
Möglichkeiten zum Bewerben Ihres Spiels Kunden gewinnen und Ihre Apps bewerben

Visual Studio Application Insights

Visual Studio Application Insights bietet Leistungs-, Telemetrie- und Nutzungsanalysen für Ihr veröffentlichtes Spiel. Application Insights unterstützt Sie nach der Veröffentlichung Ihres Spiels beim Erkennen und Beheben von Problemen sowie bei der kontinuierlichen Überwachung und Optimierung der Verwendung und beim Nachvollziehen der weiteren Spielerinteraktionen mit Ihrem Spiel. Application Insights funktioniert durch Hinzufügen eines SDK zu Ihrer App, welches Telemetriedaten an das Azure-Portal sendet.

Anwendungsleistungs- und Nutzungsanalysen Application Insights-Übersicht
Azure Monitor Azure Monitor – Übersicht

Lösungen von Drittanbietern für Analysen und Werbung

Grundlegendes zum Spielerverhalten mithilfe von GameAnalytics GameAnalytics
Verbinden Ihres UWP-Spiels mit Google Analytics Abrufen des Windows SDK für Google Analytics
Verwenden von Facebook App Installs Ads, um Ihr Spiel bei Facebook-Benutzern zu bewerben Windows SDK für Facebook abrufen
Verwenden von Vungle zum Hinzufügen von Videoanzeigen zu Ihren Spielen Vungle SDK für Windows herunterladen

Erstellen und Verwalten von Inhaltsupdates

Zum Aktualisieren Ihres veröffentlichten Spiels übermitteln Sie ein neues App-Paket mit einer höheren Versionsnummer. Nachdem das Paket die Übermittlung und Zertifizierung durchlaufen hat, steht es Kunden automatisch als Update zur Verfügung.

Aktualisierung und Versionsverwaltung ihres Spiels Paketversionsnummerierung
Leitfaden zur Verwaltung von Spielpaketen Anleitungen für die Verwaltung von App-Paketen

Hinzufügen von Xbox Live zu Ihrem Spiel

Xbox Live ist ein erstklassiges Gamingnetzwerk, das Millionen von Spielern weltweit verbindet. Entwickler erhalten Zugriff auf Xbox Live-Features, die das Publikum ihres Spiels organisch vergrößern können, einschließlich Xbox Live-Anwesenheit, Bestenlisten, Cloud-Speichern, Game Hubs, Clubs, Partychat, Game DVR und mehr.

Hinweis

Wenn Sie Xbox Live-aktivierte Titel entwickeln möchten, stehen Ihnen mehrere Optionen zur Verfügung. Informationen zu den verschiedenen Programmen finden Sie unter Auswählen eines Xbox Live-Entwicklerprogramms.

Xbox Live-Übersicht Xbox Live-Dokumentation

Für Entwickler im Xbox Live Creators-Programm

Für verwaltete Partner und Entwickler im ID@Xbox-Programm

Zusätzliche Ressourcen

Videos von wichtigen Konferenzen wie GDC und //build Videos zur Entwicklung von Spielen