Am 13. Juni 2022 gab Riot bekannt, dass durch eine Partnerschaft mit Microsoft die größten Spiele des Unternehmens zu Xbox Game Pass kommen würden. Diese Partnerschaft entstand aus einer gemeinsamen Liebe für wettkampforientierte Spiele, bei denen die Spieler im Vordergrund stehen, und brachte zwei der größten Videospielkonzerne der Welt zusammen. Sechs Monate später trug dieses monumentale Unterfangen Früchte und unsere größten Spieltitel wurden im Xbox Game Pass veröffentlicht.
Wir wollen jetzt einen genaueren Blick auf die Arbeit, die während dieser Monate hinter den Kulissen getan wurde, werfen und über ein Team sprechen, von dem du vermutlich bisher noch nichts gehört hast: das Spielerplattform-Team.
Was macht dieses Team?
Das Spielerplattform-Team stellt die Verbindung zwischen den Spielen von Riot und den Spielern her und baut so ein spielübergreifendes Ökosystem und eine spielübergreifende Community auf. Es schafft ein vernetztes Spielerlebnis und vereint so spielübergreifend unsere Spieler und Inhalte. Anders gesagt: Das Spielerplattform-Team ist für all das zuständig, was an den Spielen von Riot Games nicht direkt mit dem Gameplay zu tun hat. Darunter fallen Dinge wie spielunabhängige Kontofunktionen, den Spieleinstieg, Soziales, Käufe und mehr, die über Portale, SDK-Integrationen und Direkt-APIs bereitgestellt werden.
Da das Spielerplattform-Team für alles um dein Spielerlebnis herum zuständig ist, wurde ein großer Teil der Arbeit an der Einbindung in Xbox Game Pass von ihm geleistet. Es waren Kollaborationsgeist, eine offene Denkweise und eine Reihe bestrebter, hart arbeitender Leute erforderlich, um diese Unternehmung zu bewerkstelligen und zur selben Zeit alle derzeitigen und zukünftigen Spiele von Riot nicht zu vernachlässigen.
Erste (schnelle) Schritte
Da Riot der erste „Xbox Game Pass“-Partner mit kostenlosen Spielen auf dem PC und Mobilgerät war, war viel Neuland dabei. Noch dazu kam, dass wir allen Spielern für die Verknüpfung ihrer Konten Belohnungen im Spiel geben und so das Spielerlebnis verbessern wollten. Wenn wir es mit einem Projekt dieser Größenordnung zu tun haben, dann versuchen wir, es in separate, voneinander unabhängige Funktionsströme aufzuteilen, um die Eigenverantwortung und den Fokus zu maximieren und die Zahl an Meetings ohne aufeinander abgestimmte Ziele zu reduzieren.
Um all das zu bewältigen, arbeitete die Programmleitung Hand in Hand mit Microsoft an der Meilensteinplanung. Diese wichtige Rolle sorgte dafür, dass die richtigen Leute zum richtigen Zeitpunkt an dem Projekt saßen. Die Programmleitung des Spielerplattform-Teams führte mit Spielteams, der Publishing-Abteilung, dem Spieler-Support und anderen wichtigen Interessensgruppen teamintern und firmenweit Zeremonien und Rituale ein. Sie arbeitete eine Strategie aus und zog zur Lösung komplexer Probleme mehrere Spielteams und Hunderte von Leuten innerhalb des Spielerplattform-Teams hinzu.
Designarbeit für Game Pass
Bevor man neue Systeme ausarbeitet oder sich an bereits bestehende macht, müssen alle Beteiligten in Bezug auf das Problem und darüber, was von den Spielern als Erfolg gesehen wird, auf einer Wellenlänge sein. Das Design des Nutzungserlebnisses spielt eine zentrale Rolle beim Hervorbringen eines positiven Spielererlebnisses und spielte bei der Partnerschaft mit Xbox Game Pass eine wichtige Rolle. Design wird zwar oft als Erstes mit den fertigen Endschnittstellen in Verbindung gesetzt, aber Design spielt eine noch wichtigere Rolle bei der Planung der Nutzerinteraktion mit komplexen Produkten und Systemen und dabei, dafür zu sorgen, dass die Nutzung reibungslos ist. Jetzt fragst du dich vermutlich, wie schwer es denn sein kann, Spielern die Verknüpfung mit ihren „Game Pass“-Konten zu ermöglichen. Nun, tatsächlich ist die Sache recht kompliziert!
Zu Beginn der Partnerschaft zwischen Riot und Microsoft setzte sich die Führungsetage der Zuständigen für das Nutzererlebnis mit anderen Abteilungsleitern zusammen und arbeitete Szenarien aus, die das verkörperten, was mindestens für ein auf Anhieb tolles Nutzungserlebnis notwendig war. Des Weiteren wurden alle Disziplinen und Abteilungen darüber informiert, wie viel Zeit, welche Partner und welche Ressourcen für die Verwirklichung dieser Szenarien erforderlich waren. Ein besonderer Fokus lag auf den größtmöglichen Risiken für ein großartiges Spielererlebnis – je eher wir uns nämlich einig sind, dass ein schwieriges gemeinsames Ziel die Mühe wert ist, desto eher können wir unsere Expertise bündeln und das scheinbar Unmögliche möglich machen. (In unserem Medium-Artikel über das Riot-Games-Nutzererlebnis erfährst du mehr über den anfänglichen Festlegungsprozess dieser Szenarien.)
„Die Zusammenarbeit zwischen zwei Unternehmen ist immer eine große Herausforderung. Unterschiedliche Terminologie, unterschiedliche Rollen, unterschiedliche Annahmen. Wir mussten tief graben, um herauszufinden, wie die Authentifikationssysteme von Microsoft und das Nutzungserlebnis bei Installationen über Game Pass funktionieren, damit wir diesen Teil des Erlebnisses bei der Kostenkalkulation für die Entwicklung des Ende-zu-Ende-Erlebnisses berücksichtigen konnten.“
- Cheryl Platz

Wir hatten anfängliche Workflows festgelegt und das Team fürs Nutzungserlebnis machte sich daran, die Einzelheiten von dem, was für jede Spielerschnittstelle erforderlich war, auszuarbeiten. Das Ziel war ein reibungsloser Einstieg für jede Art von Spieler und von überall aus. Das Team stellte sicher, dass ein langjähriger Spieler von Riot-Spielen beim Verknüpfen seiner „Game Pass“-Mitgliedschaft direkt im Spiel oder über den Riot Client ein genauso reibungsloses Erlebnis wie ein neuer Spieler, der über die „Game Pass“-App zum ersten Mal zu den Spielen von Riot kam, haben würde.
Wenn Plattformen von zwei verschiedenen Unternehmen zum ersten Mal zusammenkommen, entstehen oft Szenarien, die für beide Seiten etwas komplett Neues sind. Zum Beispiel: Das andersartige Sicherheitsmodell von Microsoft bot dem Spielerplattform-Team eine interessante Möglichkeit für die Erkundung weiterer Standardisierungen von Autorisierungs- und Identitätsplattformen. Die offene Kommunikation und aktive Zusammenarbeit mit Microsoft half uns dabei, unsere Ziele festzulegen und dafür zu sorgen, dass unser Fortschritt in die richtige Richtung ging.
„Wir sind nicht die erste Integrierung, die sie vorgenommen haben, aber ich denke, dass die Methode, die sie für uns verwendet haben, unterschiedlich genug war, dass sie wirklich mit uns als Partner zusammengearbeitet haben, um alles richtig hinzubekommen. Es war kollaborativ. Wir haben beide Seiten der Codebasis auf die nächste Stufe gebracht, um das unterstützen zu können, was sie brauchten. Die Out-of-the-Box-Funktionalität von Microsoft würde in so einem Fall nicht funktionieren und vom Timing her hätte es nicht funktioniert.“
- Luther Baker
Im Rahmen der anfänglichen Entdeckungsdokumentation (manchmal als Vorentdeckung bezeichnet) mussten die Designer feststellen, was zu dem Zeitpunkt los war, und Voraussetzungen identifizieren, indem sie sich fragten, auf welchem Weg sie das gewünschte Ergebnis erreichen könnten. Microsoft und die Designer aus dem Spielerplattform-Team arbeiteten zusammen und erstellten mittels einer Vielzahl von Methoden wie dem Szenario-Mapping und mittels Nutzerflows viele Artefakte, die mit der Entwicklungs-, der Produkt- und der Qualitätssicherungsabteilung geteilt wurden, um dafür zu sorgen, dass die Flows auch den Erwartungen entsprachen und dass eine durchgängige Feedbackschleife aufgebaut wurde, um einzuschätzen, welche Dienste und Kapazitäten verfügbar waren, um für das beste Erlebnis zu sorgen.
„Es ist in diesem Fall besser, wenn man beim Nutzungsdesign etwas falsch als richtig macht, weil Leute sich am ehesten bei einem melden und einem Feedback geben, wenn sie etwas sehen und sich denken: ‚Hey, das ist nicht so ganz, wie ich das im Kopf habe.‘ Es ist besser, etwas schnell und falsch zu machen, damit man dann darüber reden kann, als seine Zeit damit zu verbringen, herauszufinden, was die richtige Antwort ist, und erst dann etwas zu machen.“
- Melody Seng
Die Artefakte entwickelten sich durchgehend weiter, selbst nach der Absegnung. Es wurden Grenzfälle gefunden, deren Lösung näherer Untersuchung und mehrerer Iterationen bedurfte. Direkt mit den Entwicklern und den technischen Teams zu arbeiten war der Schlüssel zum Erlangen eines gemeinsamen Verständnisses.

Die Schaffung von Beinahe-Echtzeit-Systemen
Um das bestmögliche Nutzungserlebnis mit Riot und Xbox Game Pass zu haben, war es unser Ziel, den Spielern direkt nach der Verknüpfung ihrer Konten Zugriff auf neue Inhalte im Spiel zu geben. Um das zu bewerkstelligen, benötigte es einiges an Einfallsreichtum. Das Inhaltserlebnis-Team arbeitete mit dem Konto-Team zusammen (im Rahmen des Bereichs Spielerplattform) und entschied sich dafür, dass „Accounts“ jedes Mal, wenn ein Spieler sein Xbox-Konto verknüpft oder trennt, eine Nachricht an den „Riot Event Bus“ (den neusten Ansatz für nachrichtenbasierte Kommunikation von Riot) senden zu lassen. Nachdem die Nachricht erhalten wurde, konnte der zuhörende Dienst, der auf ein gewisses Thema beim Nachrichtenbroker wartete, reagieren und das Ereignis bearbeiten. Da ein Spieler sein Xbox-Konto mit seinem Riot-Konto auch ohne eine aktive „Game Pass“-Mitgliedschaft verknüpften konnte, musste das Team die Xbox-API abfragen, um mit dem Kontoverknüpfungstoken diese Information zu erhalten. Der Token wurde vom Konto-Team in einem neuen Dienst gespeichert. Allerdings löste das nur einen Teil des Problems, da wir immer noch überprüfen mussten, ob ein bestimmter Spieler eine aktive Xbox-Game-Pass-Mitgliedschaft hatte.
Das Inhaltserlebnis-Team (Teil des Spielerplattform-Teams) entwickelte den „Gateway Subscription Service“ (GSS), der innerhalb von Riot für alle Systeme als die Informationsquelle in Bezug auf den „Game Pass“-Status des Spielers dient. Das bedeutete, dass ein Dienst immer, wenn er den Status von Abonnement-Inhalten überprüfen musste, den GSS kontaktieren und eine schnelle und genaue Antwort auf die Frage, welche Vorteile der Spieler haben sollte, erhalten konnte. Der GSS bekommt die Daten, indem er Kontoverknüpfungsereignisse bearbeitet und das Microsoft-API verwendet, um zu überprüfen, ob Spieler einen aktiven Game-Pass-Status haben. Er liefert Daten an andere Riot-Dienste mittels eines HTTP-API-Endpunkts, damit andere Teams diese Informationen dann in verschiedenen Anwendungsbereichen nutzen können, z. B:
- Plattform für den Zugriff auf Inhalte: Fügt dem Inventar des Spielers spezifische Abonnement-Inhalte zu
- Marketingtechnologie: Zeigt dem Spieler abhängig vom Status seiner „Game Pass“-Mitgliedschaft spezifische Werbeinhalte
- Spieler-Support: Spieler-Support-Mitarbeiterinnen und -Mitarbeiter verwenden die Informationen zur Bearbeitung von Tickets, die mit dem Xbox-Abo eines Spielers zusammenhängen
- Web-Erlebnis (WebEx): Zeigt den Spielern den Status ihrer Abonnements auf der Spielerkontoverwaltungsseite
Wenn ein Spieler sein Riot-Konto mit seinem „Xbox Game Pass“-Konto verknüpfte, fragte der GSS die Microsoft-Xbox-API ab, um den Game-Pass-Status des Spielers über den Kontoverknüpfungstoken abzurufen, speicherte die Information in einer permanenten Datenbank, aktualisierte die Information regelmäßig und machte sie für Anfragen verfügbar, indem er über die API Zugriff auf den Client gewährte. Scheint ja ganz einfach zu sein, oder?
Ein Spieler könnte jederzeit nach dem Verknüpfen seines Riot-Kontos mit seinem Xbox-Konto ein „Game Pass“-Abo abschließen. Der Dienst könnte aber die Xbox-API nur gelegentlich nach dem Game-Pass-Status eines Spielers abfragen. Wir wollten, dass die Spieler direkt nach der Verknüpfung und Aktivierung ihrer „Game Pass“-Mitgliedschaft Zugriff auf die Abonnement-Inhalte hatten, also war es notwendig, dass das System den Status sehr häufig abfragen konnte. Aber wie häufig war ausreichend? Jede Minute wäre toll gewesen, aber es ist eher nicht so gut, wenn ein API Millionen von Anfragen pro Minute bekommt, und das nur, um einen Status abzufragen, insbesondere wenn es in 99 % der Fälle zwischen Anfragen ohnehin keine Änderung beim Status geben würde.
Das Team konzentrierte sich auf Fälle, in denen sie auf Interaktionen mit den Spielern auf der Seite von Riot reagieren können, z. B. wenn ein Spieler den Spielclient öffnet, was der perfekte Zeitpunkt für die Überprüfung des „Game Pass“-Status ist. Allerdings läuft diese Art der Aktualisierung über eine externe HTTP-Anfrage, die ungefähr eine Sekunde braucht, und der Haupt-GSS-Client, „Content Access Platform“ (CAP), benötigte Rückmeldungen innerhalb von 50 Millisekunden, da er zum zeitkritischen Pfad für das Abrufen des Inventars des Spielers gehörte. Es war unmöglich, eine einsekündige Anfrage in ein Zeitfenster von 50 Millisekunden zu packen, also musste das Team sich etwas einfallen lassen. Die Lösung war ein Prozess, bei dem der gegenwärtig gespeicherte Wert, der aus einer vorherigen Aktualisierung oder direkt nach der Kontoverknüpfung erhalten wird, zurückgeschickt wird und eine asynchrone Aktualisierung im Backend auslöst, wenn der gespeicherte Wert älter ist als zwei Minuten. Wenn der Dienst nach einer asynchronen Aktualisierung eine Änderung des Game-Pass-Status feststellt, schickt er über den „Riot Messaging Service“ eine Nachricht an den Spielclient, der sich dann die nötigen Informationen von der CAP holt, was dafür sorgt, dass der Spieler Zugriff auf die Abo-Inhalte bekommt, ohne den Client manuell neu laden zu müssen.
„Unser Hauptziel war es, die Verzögerungszeit so niedrig wie möglich nach unten zu drücken, da wir ziemlich strenge Zeitvorgaben haben. CAP braucht 50 Millisekunden, um bei uns den „Game Pass“-Status eines Spielers abzufragen, was die Sache in Grunde zu einem Echtzeit-Dienst macht. Wenn wir innerhalb dieses Zeitfensters keine Antwort senden, bekommt die CAP nicht die nötigen Informationen, was dazu führen kann, dass Spieler keinen Zugriff auf die Inhalte, auf die sie eigentlich Zugriff haben sollten, haben.“
- Vasily Katraev
Wild Rift verwendet für das Spielerinventar das CAP-System nicht, weswegen es nötig war, Anfragen über den Status des „Game Pass“-Abos des Spielers direkt über den Abonnementdienst laufen zu lassen. Um die Zeitvorgabe von 50 Millisekunden einzuhalten, hat die Inhaltserlebnis-Abteilung ihre Dienste zusammen mit der CAP und den Kontoverwaltungsdiensten in vier über den Globus verteilten Datenzentren untergebracht. Auf diese Weise sind sie so nah wie möglich an den Spielern.
„Dark Launch“ und Workaround für die Datenbankbeschränkungen für die Veröffentlichung
Wenige Tage vor der Veröffentlichung führte das Team einen „Dark Launch“ durch, um die Verknüpfungsfunktion zwischen Riot-Konten und Xbox Game Pass zu testen. Die Mitglieder des Teams entdeckten mehrere schwerwiegende Fehler und behoben diese noch vor dem Veröffentlichungstag.
Viel Sorge bereitete die Belastung des Dienstes, der dafür zuständig ist, den Spielern Zugriff auf Inhalte in den Spielen von Riot zu gewähren. Dieser Dienst erhält viele Anfragen – bis zu 800.000 pro Minute in manchen Regionen! Jede Anfrage an den Dienst löste jetzt eine Anfrage an ein weiteres System aus, den „Game Pass“-Status eines Spielers zu überprüfen, bevor die „Game Pass“-Inhalte für ihn freigeschaltet wurden. Die zusätzliche Belastung und Komplexität, die dieser Flow mit sich brachte, führte zu Risiken in Bezug auf die Verlässlichkeit und die Geschwindigkeit der Antworten, welche eine Vielzahl von Implikation für den weiteren Verlauf hatten.
Die Mitglieder des Teams hatte mehrere Belastungstests durchgeführt, aber sie erkannten, dass ein „Dark Launch“ die beste Möglichkeit war, um die Robustheit des Systems zu testen. Ein „Dark Launch“ ermöglichte es ihnen, das System in vollem Umfang „einzuschalten“, wobei sie nur die „Xbox Game Pass“-Inhalte vor den Spielern versteckten. Sie konnten sich vor der offiziellen Veröffentlichung ein Bild davon machen, welchen Belastungen das System ausgesetzt werden würde und welches Verhalten zu erwarten war. Aus dem „Dark Launch“ lernten sie, dass eine Fehlkonfiguration beim Verbindungspool bestand, die sehr wahrscheinlich zu einer missglückten Veröffentlichung geführt hätte, bei der die Spieler auf ihre Inhalte nicht hätten zugreifen können.
Das Team stieß auch auf ein Problem mit der Schreibkapazität unserer Datenbank: Die bestehende Architektur* verhinderte, dass das Team die Kapazität erhöhen konnte, um die erhöhte Spielerlast während der Veröffentlichungsphase tragen zu können. Eine gängige Methode, mit so etwas umzugehen, ist es, den Dienst den Nutzern in Wellen zugänglich zu machen. Das Team entschied sich dafür, zu versuchen, den Ansturm an Spielern durch das Betreiben von langsamerem Marketing besser zu kontrollieren. Auf diese Weise würden die Spieler über einen längeren Zeitraum nach und nach ihre Konten verknüpfen und das Team konnte dafür sorgen, dass vor dem nächsten Abschnitt der Marketingkampagne die nötige Kapazität auch vorhanden war. Durch enge Zusammenarbeit mit der Marketing-Abteilung gelang es ihnen, die Auslastung der Schreibkapazität unter 50 % zu halten.
* Wir haben seither unseren technischen Datenbank-Stack geändert, um eine stärkere horizontale Skalierung bei Kontoänderungen zu erreichen.

Mentalität statt Fähigkeiten
Neben den enormen technischen Fähigkeiten, die für die Integration in Xbox Game Pass erforderlich waren, spielten auch Soft Skills eine zentrale Rolle. Bescheidenheit, Neugierde und die Möglichkeit, intern und extern mit Microsoft zusammenarbeiten und offen kommunizieren zu können, waren entscheidend. Das Projekt nahm zwar nur 6 Monate in Anspruch, aber für es waren Hunderte von Leuten, sich ändernde Arbeitszeiten und das Lernen neuer Systeme erforderlich. Es war wichtig, sich zurückzuhalten und Leuten, die Ahnung von der Materie hatten, die Kontrolle zu übergeben und die Dinge in verschiedene Richtungen lenken zu lassen, damit nicht eine einzige Person oder ein einziges Team alles unnötigerweise steuert.
„Die Art und Weise, wie die Leute an das Projekt herangegangen sind, und die Art und Weise, wie sie sich dafür eingesetzt haben, haben wirklich einen Unterschied gemacht.“
- Nate Portner
Diese Partnerschaft hob viele der Grundprinzipien von Riot Games hervor. Den ganzen Prozess über fragte sich das Team andauernd: „Wie wird sich dieses Erlebnis auf unsere Spieler auswirken?“ Es setzte sich einen hohen Standard, bei dem das Spielerlebnis an erster Stelle stand, und ganz Riot kam zusammen, um an etwas zu arbeiten, das sich auf alle Spiele von Riot auswirkt.
„Jede Disziplin hat tolle Arbeit dahingehend geleistet, sich darauf zu konzentrieren, wie sich Entscheidungen auf die Spieler auswirken würden. Wir wollten zu keinem Zeitpunkt falsche Erwartungen in einem Spieler wecken.“
- Matt Hawkins
Abschließende Worte
Obwohl es noch mehr gab, das wir in diesen technischen Artikel hätten stecken können, hoffen wir, dass du jetzt mehr über das Spielerplattform-Team und die Dienste, die es für die Partnerschaft von Riot und Xbox Game Pass entwickelt und zur Verfügung gestellt hat, weißt als zuvor. Es bedarf des Engagements und der harten Arbeit Hunderter von Leuten, um dieses unglaubliche Spielererlebnis zu verwirklichen.