Verwenden von Clouddiensten für UWP-Spiele
Die Universelle Windows-Plattform (UWP) in Windows 10 bietet eine Reihe von APIs, die für die Entwicklung von Spielen auf allen Microsoft-Geräten verwendet werden können. Beim Entwickeln von Spielen über Plattformen und Geräte hinweg können Sie ein Cloud-Back-End verwenden, um Ihr Spiel nach Bedarf zu skalieren.
Wenn Sie nach einer vollständigen Cloud-Back-End-Lösung für Ihr Spiel suchen, lesen Sie Software as a Service für das Spiel-Back-End.
Was ist Cloud Computing?
Cloud Computing verwendet on Demand-IT-Ressourcen und -Anwendungen über das Internet, um Daten für Ihre Geräte zu speichern und zu verarbeiten. Der Begriff Cloud ist eine Metapher für die Verfügbarkeit großer Ressourcen (nicht lokale Ressourcen), auf die Sie von nicht spezifischen Standorten aus zugreifen können. Das Prinzip des Cloud Computing bietet eine neue Art und Weise, wie Ressourcen und Software genutzt werden können. Benutzer müssen nicht mehr vorab das vollständige Produkt oder die Ressourcen bezahlen, sondern können Plattform, Software und Ressourcen als Service nutzen. Cloudanbieter stellen ihren Kunden häufig Nutzungs- oder Serviceplanangebote in Rechnung.
Warum Cloud Services nutzen?
Ein Vorteil der Nutzung von Cloud Services für Spiele ist, dass Sie nicht im Voraus in physische Hardwareserver investieren müssen, sondern nur nach Nutzungs- oder Dienstplänen zu einem späteren Zeitpunkt bezahlen müssen. Es ist eine Möglichkeit, die Risiken zu verwalten, die bei der Entwicklung eines neuen Spieltitels involviert sind.
Ein weiterer Vorteil ist, dass Ihr Spiel auf riesige Cloud-Ressourcen zugreifen kann, um Skalierbarkeit zu erreichen (um plötzliche Spitzen in der Anzahl der gleichzeitigen Spieler, intensive Echtzeit-Spielberechnungen oder Datenanforderungen effektiv zu bewältigen). Dadurch bleibt die Leistung Ihres Spiels rund um die Uhr stabil. Darüber hinaus können Cloudressourcen von jedem Gerät aus auf jeder Plattform überall auf der Welt zugegriffen werden, was bedeutet, dass Sie Ihr Spiel global an alle Benutzer übertragen können.
Es ist wichtig, den Spielern ein großartiges Spielerlebnis zu bieten. Da Spieleserver, die in der Cloud ausgeführt werden, unabhängig von clientseitigen Updates sind, können sie Ihnen eine kontrolliertere und sicherere Umgebung für Ihr Spiel insgesamt bieten. Sie können auch die Spielkonsistenz durch die Cloud erzielen, indem Sie dem Client niemals vertrauen und serverseitige Spiellogik haben. Dienst-zu-Dienst-Verbindungen können auch so konfiguriert werden, dass sie eine stärker integriertes Gaming-Erfahrung ermöglichen. Beispiele hierfür sind die Verknüpfung von Käufen im Spiel mit verschiedenen Zahlungsformen, die Überbrückung verschiedener Gaming-Netzwerke und die Freigabe von Updates im Spiel für beliebte Social-Media-Portale wie Facebook und X.
Sie können auch dedizierte Cloudserver verwenden, um eine große persistente Spielwelt zu erstellen, eine Spielercommunity aufzubauen, Spielerdaten im Laufe der Zeit zu sammeln und zu analysieren, um das Spiel zu verbessern und das Monetarisierungsdesignmodell Ihres Spiels zu optimieren.
Darüber hinaus können Spiele, die intensive Funktionen für die Verwaltung von Spieldaten erfordern, z. B. soziale Spiele mit asynchronen Multiplayer-Mechanismen, mithilfe von Cloud Services implementiert werden.
Wie Spieleunternehmen die Cloudtechnologie nutzen
Erfahren Sie, wie andere Entwickler Cloudlösungen in ihren Spielen implementiert haben.
Entwickler | Beschreibung | Wichtige Spielszenarien | Weitere Informationen |
---|---|---|---|
Tencent Games | Tencent Games hat eine innovative Lösung mit Azure Service Fabric entwickelt, mit der herkömmliche PC-Spiele als Dienst bereitgestellt werden können. Die cloudbasierte Spielelösung verwendet das Modell „Thin Client + Rich Cloud“, das Workloads als Microservices im Back-End ausführt. |
|
|
343 Industries | Halo 5: Guardians implementiert Halo: Spartan Companies als soziale Gameplay-Plattform mit Azure Cosmos DB (via DocumentDB API), die aufgrund ihrer automatischen Indizierungsfunktionen für ihre Geschwindigkeit und Flexibilität ausgewählt wurde. |
|
|
Illyriad Games | Illyriad Games schuf Age of Ascent, ein massives Multiplayer Online (MMO) episches 3D-Raumspiel, das auf Geräten mit modernen Browsern gespielt werden kann. Dieses Spiel kann also auf PCs, Laptops, Mobiltelefonen und anderen mobilen Geräten ohne Plug-Ins gespielt werden. Das Spiel verwendet ASP.NET Core, HTML5, WebGL und Azure. |
|
|
Next Games | Next Games ist der Schöpfer von The Walking Dead: No Man’s Land Videospiel, das auf der ursprünglichen Serie von AMC basiert. Das Walking Dead-Spiel hat Azure als Back-End verwendet. Es wurde am Eröffnungswochenende 1.000.000 Mal heruntergeladen und innerhalb der ersten Woche wurde das Spiel zur Nummer 1 der kostenlosen iPhone- und iPad-Apps im US-App-Store, zur Nummer 1 der kostenlosen Apps in 12 Ländern und zur Nummer 1 der kostenlosen Spiele in 13 Ländern. |
|
|
Pixel Squad | Pixel Squad entwickelte Crime Coast mit Unity-Spielengine und Azure. Crime Coast ist ein soziales Strategiespiel, das auf der Android-, iOS- und Windows-Plattform verfügbar ist. Azure Blob Storage, verwalteter Azure Redis-Cache, ein Array von IIS-VMs mit Lastenausgleich und Microsoft Notification Hub wurden in ihrem Spiel verwendet. Erfahren Sie, wie sie die Skalierung gemeistert und den Spieleransturm mit 5000 gleichzeitigen Spielern bewältigt haben. |
|
|
Weitere Links
- Hitman und Azure: Erstellen von Spielfeatures wie "Elusive Target", die nur mithilfe der Cloud möglich sind
- Azure als geheime Sauce für Hitcents, Game Troopers und InnoSpark
So entwerfen Sie Ihr Cloud-Back-End
Während Produzenten und Spieledesigner darüber diskutieren, welche Spielfeatures und -funktionen im Spiel benötigt werden, empfiehlt es sich, zu überlegen, wie Sie Ihre Spielinfrastruktur entwerfen möchten. Azure kann als Back-End ihres Spiels verwendet werden, wenn Sie Spiele für verschiedene Geräte und auf verschiedenen wichtigen Plattformen entwickeln möchten.
Grundlegendes zu IaaS, PaaS oder SaaS
Zunächst müssen Sie über das Serviceniveau nachdenken, das für Ihr Spiel am besten geeignet ist. Wenn Sie die Unterschiede in den folgenden drei Diensten kennen, können Sie den Ansatz ermitteln, den Sie beim Erstellen Ihres Back-Ends ergreifen möchten.
Infrastructure-as-a-Service (IaaS)
Infrastructure-as-a-Service (IaaS) ist eine sofort nutzbare Computinginfrastruktur, die Sie über das Internet bereitstellen und verwalten können. Stellen Sie sich vor, Sie hätten die Möglichkeit, viele Geräte zur Verfügung zu haben, die Sie je nach Bedarf schnell nach oben und unten skalieren können. IaaS hilft Ihnen, die Kosten und die Komplexität des Kaufs und der Verwaltung eigener physischer Server und anderer Datencenter-Infrastrukturen zu vermeiden.
-
Platform as a Service (PaaS) ist wie IaaS, umfasst aber auch die Verwaltung der Infrastruktur wie Server, Speicher und Netzwerk. Daher müssen Sie nicht nur physische Server und Rechenzentrumsinfrastruktur kaufen, sie müssen auch keine Softwarelizenzen, zugrunde liegende Anwendungsinfrastruktur, Middleware, Entwicklungstools oder andere Ressourcen kaufen und verwalten.
-
Mit Software-as-a-Service (SaaS) können Benutzer*innen eine Verbindung mit cloudbasierten Apps über das Internet herstellen und diese Apps verwenden. Es bietet eine umfassende Softwarelösung, die Sie gemäß eines nutzungsabhängigen Zahlungsmodells von einem Clouddienstanbieter erwerben. Gängige Beispiele sind E-Mail-, Kalender- und Bürotools (etwa die Office-Apps von Microsoft 365). Sie zahlen also eine Leihgebühr für eine App, und Ihre Benutzer verbinden sich über das Internet mit der App (üblicherweise unter Verwendung eines Webbrowsers). Alle zugrunde liegenden Komponenten wie Infrastruktur, Middleware, App-Software und App-Daten befinden sich im Rechenzentrum des Dienstanbieters. Der Dienstanbieter verwaltet die Hardware und Software und stellt gemäß der entsprechenden Vereinbarung zum Servicelevel die Verfügbarkeit und Sicherheit sowohl Ihres Spiels als auch Ihrer Daten sicher. Mit SaaS kann Ihr Unternehmen eine App mit minimalen Investitionskosten schnell bereitstellen.
Entwerfen der Spielinfrastruktur mithilfe von Azure
Im Folgenden finden Sie einige Möglichkeiten, wie Azure-Cloudangebote für ein Spiel verwendet werden können. Azure arbeitet mit Windows, Linux und vertrauten Open Source-Technologien wie Ruby, Python, Java und PHP zusammen. Weitere Informationen finden Sie unter Azure für Spiele.
Anforderungen | Aktivitätsszenarien | Produktangebot | Produktfunktionen |
---|---|---|---|
Hosten Sie Ihre Domain in der Cloud | Effizientes Reagieren auf DNS-Abfragen | Azure DNS | Hosten Sie Ihre Domain mit hoher Leistung und Verfügbarkeit |
Anmelden, Identitätsüberprüfung | Gamer meldet sich an, und die Spieleridentität wird authentifiziert. | Azure Active Directory | Einmaliges Anmelden bei jeder cloudbasierten und lokalen Web-App mit mehrstufiger Authentifizierung |
Spiel mit Infrastruktur-as-a-Service-Modell (IaaS) | Das Spiel wird auf virtuellen Computern in der Cloud gehostet. | Virtuelle Azure-Computer | Skalierung von 1 bis zu Tausenden von virtuellen Maschineninstanzen als Spieleserver mit integriertem virtuellem Netzwerk und Lastenausgleich; hybride Konsistenz mit lokalen Systemen |
Web- oder Mobile-Spiele mit Plattform als Dienstmodell (PaaS) | Das Spiel wird auf einer verwalteten Plattform gehostet. | Azure App Service | PaaS für Websites oder mobile Spiele (d. h. Azure-VMs mit Middleware/Entwicklungstools/BI/DB-Verwaltung) |
Hochverfügbares, skalierbares n-tier Cloud-Spiel mit mehr Kontrolle über das Betriebssystem (PaaS) | Das Spiel wird auf einer verwalteten Plattform gehostet. | Azure Cloud Service | PaaS wurde entwickelt, um Anwendungen zu unterstützen, die skalierbar, zuverlässig und kostengünstig zu betreiben sind |
Lastenausgleich über Regionen hinweg, um eine bessere Leistung und Verfügbarkeit zu erzielen | Leitet eingehende Spielanforderungen weiter. Kann als erste Ebene des Lastenausgleichs fungieren. | Azure Traffic Manager | Bietet mehrere automatische Failoveroptionen und die Möglichkeit, den Datenverkehr gleichmäßig oder mit gewichteten Werten zu verteilen. Kann nahtlos lokale und Cloud-Systeme kombinieren. |
Cloudspeicher für Spieldaten | Die neuesten Spieldaten werden in der Cloud gespeichert und an Clientgeräte gesendet. | Azure Blob Storage | Keine Einschränkung der Dateitypen, die gespeichert werden können; Objektspeicher für große Mengen unstrukturierter Daten wie Bilder, Audio, Video und vieles mehr. |
Temporäre Datenspeichertabellen | Spieltransaktionen (Änderungen in Spielzuständen) werden vorübergehend in Tabellen gespeichert. | Azure Table Storage | Spieldaten können in einem flexiblen Schema entsprechend den Anforderungen des Spiels gespeichert werden. |
Warteschleifen von Spieltransaktionen/Anforderungen | Spieltransaktionen werden in Form einer Warteschlange verarbeitet. | Azure Queue Storage | Warteschlangen fangen unerwartete Datenverkehrsspitzen auf und können verhindern, dass die Server durch eine plötzliche Flut von Anfragen während des Spiels überlastet werden. |
Skalierbare relationale Spieldatenbank | Strukturierte Speicherung von relationalen Daten wie Ingame-Transaktionen in einer Datenbank | Azure SQL-Datenbank | SQL Database-as-a-Service (Vergleichen mit SQL auf einem virtuellen Computer) |
Skalierbare verteilte und latenzarme Spieldatenbank | Schnelles Lesen, Schreiben und Abfragen von Spiel- und Spielerdaten mit Schemaflexibilität | Azure Cosmos DB | Latenzarme NoSQL-Dokumenten-Database-as-a-Service |
Eigenes Rechenzentrum mit Azure-Diensten nutzen | Das Spiel wird aus Ihrem eigenen Rechenzentrum abgerufen und an die Clientgeräte gesendet. | Azure Stack | Ermöglicht Ihrer Organisation die Bereitstellung von Azure-Diensten aus Ihrem eigenen Rechenzentrum, damit Sie mehr erreichen können. |
Übertragung großer Datenblöcke | Große Dateien wie Spielbilder, Audio und Videos können an Benutzer vom nächstgelegenen CDN-Popspeicherort (Content Delivery Network) mit Azure CDN gesendet werden. | Übersicht über das Azure Content Delivery Network (CDN) | Basierend auf einer modernen Netzwerktopologie großer zentralisierter Knoten verarbeitet Azure CDN plötzliche Datenverkehrsspitzen und schwere Lasten, um die Geschwindigkeit und Verfügbarkeit drastisch zu erhöhen, was zu erheblichen Verbesserungen der Benutzererfahrung führt. |
Geringe Wartezeit | Durchführen der Zwischenspeicherung zum Erstellen schneller, skalierbarer Spiele mit mehr Kontrolle und garantierter Isolierung von Daten; kann auch verwendet werden, um das Match-Making-Feature für das Spiel zu verbessern. | Azure Redis Cache | Hoher Datendurchsatz und niedrigste Latenz beim Datenzugriff zur Erstellung schneller und skalierbarer Azure-Anwendungen in kürzester Zeit |
Hohe Skalierbarkeit, latenzarm | Behandelt Schwankungen bei der Anzahl von Spielbenutzern mit latenzarmen Lese- und Schreibvorgängen | Azure Service Fabric | In der Lage, die komplexesten, latenzarmen, datenintensiven Szenarien zu nutzen und zuverlässig zu skalieren, um mehr Benutzer gleichzeitig zu verarbeiten. Mit Service Fabric können Sie Spiele entwickeln, ohne einen separaten Speicher oder Cache erstellen zu müssen, wie es für zustandslose Anwendungen erforderlich ist. |
Fähigkeit zur Erfassung von Millionen von Ereignissen pro Sekunde von Geräten | Protokollieren von Millionen von Ereignissen pro Sekunde von Geräten | Azure Event Hubs | Telemetrieeingang auf Cloudebene von Spielen, Websites, Apps und Geräten |
Echtzeitverarbeitung für Spieldaten | Führen Sie Echtzeitanalysen von Spielerdaten durch, um das Gameplay zu verbessern. | Azure Stream Analytics | Echtzeitverarbeitung von Streams in der Cloud |
Entwickeln eines prädiktiven Spiels | Erstellen eines angepassten dynamischen Gameplays basierend auf Gamerdaten | Azure Machine Learning | Ein vollständig verwalteter Clouddienst, mit dem Sie ganz einfach Predictive Analytics-Lösungen erstellen, bereitstellen und freigeben können |
Sammeln und Analysieren von Spieldaten | Massive Parallelverarbeitung von Daten aus relationalen und nicht relationalen Datenbanken | Azure Data Warehouse | Elastische Data Warehouse-as-a-Service-Lösung mit erstklassigen Features |
Binden Sie Benutzer an, um die Nutzung und Aufbewahrung zu erhöhen | Senden von gezielten Pushbenachrichtigungen von jedem Back-End an eine beliebige Plattform, um Interesse zu generieren und bestimmte Spielaktionen zu fördern | Azure Notification Hubs | Schneller Übertragungs-Push, um Millionen mobiler Geräte auf allen wichtigen Plattformen zu erreichen – iOS, Android, Windows, Kindle, Baidu. Ihr Spiel kann auf jedem Back-End gehostet werden – Cloud oder lokal. |
Streamen von Medieninhalten an Ihr lokales und weltweites Publikum, während Sie Ihre Inhalte schützen | Livekonferenz-Spiele-Trailer und Filmclips können von allen Geräten aus angesehen werden | Azure Media Services | On-Demand- und Livestreaming von Videos mit integrierten CDN-Funktionen. Verwenden Sie einen Player für alle Ihre Wiedergabeanforderungen, einschließlich Inhaltsschutz und Verschlüsselung. |
Mobile Apps entwickeln, verteilen und testen (Betatest) | Testen und verteilen Sie Ihre mobile App. Verwaltung der App-Leistung und Benutzerfreundlichkeit. | HockeyApp | Integriert Berichte zu Abstürzen und Benutzermetriken in eine Plattform zum Verteilen von Apps und Sammeln von Benutzerfeedback. Unterstützt Android-, Cordova-, iOS-, OS X-, Unity-, Windows- und Xamarin-Apps Berücksichtigen Sie auch Visual Studio Mobile Center – Mission Control für Apps, die umfassende Analysen, Absturzberichte, Pushbenachrichtigungen, App-Verteilung und vieles mehr kombiniert. |
Erstellen von Marketingkampagnen zur Steigerung der Nutzung und Aufbewahrung | Senden von Pushbenachrichtigungen an gezielte Spieler, um Interesse zu generieren und bestimmte Spielaktionen entsprechend der Datenanalyse zu fördern | Mobile Engagement - wird im März 2018 eingestellt und ist derzeit nur für Bestandskunden verfügbar | Erhöhen der Spielzeit und Benutzeraufbewahrung auf allen wichtigen Plattformen – iOS, Android, Windows, Windows Telefon |
Start- und Entwicklerressourcen
-
Microsoft für Startups bietet Produkt-, technische und Go-to-Market-Vorteile, um das Wachstum von Startups zu beschleunigen. Ein Vorteil ist, dass Sie ein kostenloses Azure-Konto erhalten. Sie haben ein Guthaben von 200 $, um die Dienste 30 Tage lang zu testen, 12 Monate lang beliebte Dienste kostenlos zu nutzen und immer 25+ Dienste kostenlos zu nutzen. Weitere Informationen finden Sie unter Setzen Sie die Ideen Ihres Startups in die Tat um – mit einem kostenlosen Azure-Konto.
-
Microsoft bietet mehrere Entwicklerprogramme wie ID@Xbox und das Xbox Live Creators-Programm an, mit dem Sie Spiele entwickeln und veröffentlichen können.
Lernressourcen
- //build 2016: CodeLabs – Verwenden von Microsoft Azure-App Service und Microsoft SQL Azure-Back-End zum Speichern von Spielständen in Unity
- //build 2017: Bereitstellung erstklassiger Spielerfahrungen mit Microsoft Azure: Erkenntnisse aus Titeln wie Halo, Hitman und Walking Dead (Video)
- Wiederverwendbarer Satz von Bausteinen, Projekten, Diensten und bewährten Methoden zur Unterstützung allgemeiner Spielarbeitslasten mithilfe von Azure auf GitHub: Bausteine für Spiele in Azure
- Spieledienste in Azure (Videos)
Tools und andere nützliche Links
Software as a Service für Spiele-Backend
Azure PlayFab bietet aktuell mehr als 1.200 Livespiele mit 80 Millionen aktiven Spielern pro Monat. Es ist eine vollständige Back-End-Plattform, die Vollstapel-LiveOps mit Echtzeitsteuerung enthält.
Sie können diese Lösung mithilfe von SDKs in Ihre mobilen, PC- oder Konsolenspiele integrieren. Es gibt SDKs für alle beliebten Spielengines und -plattformen, einschließlich Android, iOS, Unreal, Unity und Windows.
Es bietet Spieldienste wie Authentifizierung, Spielerdatenverwaltung, Multiplayer und Echtzeitanalysen, damit Ihr Spiel seine Benutzerbasis vergrößern kann. Nutzen Sie die Leistungsfähigkeit der Echtzeitdatenpipeline und LiveOps, um Ihre Benutzer mit angepassten Spielelementen, Ereignissen und Werbeaktionen zu interagieren. Sie haben auch die Möglichkeit, A/B-Tests durchzuführen, Berichte zu generieren, Pushbenachrichtigungen zu senden und vieles mehr.
Wir arbeiten ständig an Innovationen und fügen neue Features hinzu. Weitere Informationen finden Sie unter Azure PlayFab und Preise unter Preise.