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.
PlayFab | Übersicht über Tools und Dienste |
Erste Schritte | Was ist PlayFab? |
Video-Tutorial-Reihe | Reihe von Demovideos zu den Kernsystemen von PlayFab |
Rezepte | Anleitungen |
GitHub-Repository | Rufen Sie Skripte und SDKs für verschiedene Plattformen ab, einschließlich Android, iOS, Windows, Unity und Unreal. |
API-Dokumentation | Übersicht über die REST-API |
Foren | PlayFab-Foren |
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
Überblick | Teilnehmen am Creators-Programm |
Für verwaltete Partner und Entwickler im ID@Xbox-Programm
Überblick | Erste Schritte mit Xbox Live für verwaltete Partner |
Beispiele | Beispiele für die Entwicklung von Xbox-Spielen |
Zusätzliche Ressourcen
Videos von wichtigen Konferenzen wie GDC und //build | Videos zur Entwicklung von Spielen |