Einführung
Der Markt für Online-Spiele ist ein hart umkämpftes Feld, und die Nutzer verlangen nach fesselnden und herausfordernden Erlebnissen. Cloud Computing stellt nicht nur die Konstruktionsplattformen für die Entwicklung mobiler Apps bereit, sondern bietet auch eine neue Dimension in Form von erschwinglichem maschinellem Lernen und der Art und Weise, wie es dem Spielerlebnis neues Leben einhauchen kann. Yatzy, eine beliebte mobile Spiele-App, ist ein hervorragendes Beispiel für diese neuen Möglichkeiten in der Praxis.
Über Fictional Factory Inc
Fictional Factory Inc ist ein Entwickler von Android-Spielen, der seit 2012 aktiv ist. Das aktuelle App-Portfolio umfasst 2 Spiele, die alle in der Kategorie "Brettspiele" gelistet sind. Zwei der wichtigsten Apps von Fictional Factory Inc. sind Yatzy Online und Farkle Online. Beide wurden bereits mehr als 100-Tausend Mal installiert.
Die Herausforderung
Yatzy Online ist eine beliebte mobile Spiele-App mit weiteren 2 Millionen Downloads. Diese mobile Android- und iOS-App ermöglicht es Nutzern aller Altersgruppen aus der ganzen Welt, online gegen sich selbst, den Computer oder mit anderen Spielern zu spielen. Die App wurde im Jahr 2012 gestartet. Seit ihrem Start konnte die Plattform ein kontinuierliches Wachstum erfahren. Mit über zwei Millionen Downloads ermöglicht Yatzy Online den Nutzern eine einfache Verbindung, um mit Freunden oder zufälligen Spielern aus der ganzen Welt zu spielen. Diese mobile App wurde sowohl für Android als auch für iOS entwickelt. Sie wurde unter Verwendung von Node.js und React.js entwickelt und mit Amazon Web Services (AWS) bereitgestellt. Sie wurde vor kurzem umgestaltet, um maschinelles Lernen als Teil des Technologie-Stacks zu nutzen.
Yatzy Online war das, was wir bei PCG als eine "in der Cloud geborene" Lösung bezeichnen. Das bedeutet, dass die App von Anfang an leistungsstarke Cloud-Technologie genutzt hat, um die Funktionalität zu verbessern, zu skalieren und die Kosten zu kontrollieren.
Wir haben speziell Amazon Web Services genutzt und sind dabei dem folgenden iterativen Zeitplan gefolgt:
- Bereitstellung auf Amazon EC2 im Jahr 2012
- Umstellung von MongoDB auf Amazon DynamoDB
- Aktivieren eines menschenähnlichen Computers mit Amazon SageMaker
- Umstellung der Berechnung auf AWS Lambda
Wir haben diesen Ansatz gewählt, um die folgenden Hauptziele zu erreichen: iterative Verbesserung der Spielfunktionalität, schneller Zugriff auf große Datenmengen und Schaffung eines glaubwürdigen Computerspielers.
Die Lösung
Eine der ständigen Herausforderungen, mit denen das Projekt im Jahr 2019 konfrontiert war, waren die Einschränkungen des bestehenden Computergegners. Daher wurde ein Plan zur Nutzung der AWS Machine Learning Services erstellt, um die KI und menschenähnliches Verhalten zu optimieren.
Der bestehende Computerspieler traf die Auswahl der Kategorien mit Hilfe von vorberechneten Kombinationen und einigen Berechnungen unterwegs. Da fast jede Würfelkombination berechnet wird, gewann der Computer-Gegner das Spiel fast immer, was das Gesamterlebnis für den menschlichen Benutzer beeinträchtigen würde.
Da Yatzy Online bereits viele AWS-Dienste nutzt und in hohem Maße von diesem Ökosystem abhängig ist, war es nur logisch, die Anwendung zu aktualisieren und weitere AWS-Dienste hinzuzufügen. Wir haben untersucht, welche AWS-Dienste für die Erstellung und das Training von maschinellen Lernmodellen in Frage kommen.
Es wurden mehrere AWS-Services verwendet, um die Daten zu sammeln, sie umzuwandeln, ein ML-Modell zu trainieren und es bereitzustellen. Der erste Schritt besteht darin, die Daten von den Benutzern, d. h. den Spielern des Yatzy Oline-Spiels, zu sammeln. Hierfür wurde Amazon Kinesis Data Firehose verwendet, das eine einfache Möglichkeit bietet, die Streaming-Daten zuverlässig in Amazon Simple Storage Service (S3) zu laden. Anschließend wurden die Daten gefiltert und mithilfe von AWS Glue, einem vollständig verwalteten ETL-Service (Extrahieren, Transformieren und Laden), in das für den nächsten Schritt erforderliche Format umgewandelt und im CVS-Format im Amazon Simple Storage Service (S3) gespeichert.
Der gesamte Prozess der ML-Modellauswahl, des Trainings, der Validierung, der Abstimmung der Hyperparameter und der Bereitstellung wurde mit Amazon SageMaker durchgeführt. Es wurden Jupyter-Notebooks verwendet, die von Amazon SageMaker-Notebooks mit vollständig elastischen zugrunde liegenden Rechenressourcen bereitgestellt wurden. Es wurden mehrere eingebaute Algorithmen getestet, von denen zwei, Linear Learner und XGBoost, als leistungsfähig und für das gegebene Mehrklassen-Klassifizierungsproblem als gut geeignet befunden wurden. Die Abstimmung der Hyperparameter erfolgte ebenfalls mit Amazon SageMaker, d. h. durch Ausführen eines Hyperparameter-Abstimmungsauftrags unter Verwendung der Zufallsstrategie.
Für die Bereitstellung des Algorithmus wurden ein Amazon SageMaker-Endpunkt, eine AWS Lambda-Funktion und ein API-Gateway erstellt. Die AWS-Lambda-Funktion nimmt die vom Benutzer über das API-Gateway gesendeten Daten entgegen, wandelt sie in das richtige Format um und ruft den Amazon SageMaker-Endpunkt auf. Anschließend wird die Vorhersage, d. h. die zu wählende Kategorie, an den Benutzer zurückgesendet.
Resultate und Vorteile
Die Ergebnisse der Prüfung des Modells zeigten eine hohe Klassifizierungsgenauigkeit. Angesichts des Erfolgs des Projekts wird die Arbeit fortgesetzt, und zu den künftigen Zielen gehören die Optimierung bestehender Dienste und das Hinzufügen weiterer ML AWS-Dienste.
Haben Sie ein bestehendes oder geplantes Produkt, das Machine-Learning nutzt? Wenden Sie sich noch heute an PCG und lassen Sie unser engagiertes Team bestehend aus Machine-Learning-Scientists daran arbeiten, Ihre Ziele zu verwirklichen.
Über PCG
Die Public Cloud Group (PCG) unterstützt Unternehmen bei ihrer digitalen Transformation durch den Einsatz von Public Cloud-Lösungen.
Mit einem Portfolio, das darauf ausgerichtet ist, Unternehmen aller Größe auf ihrer Cloud Journey zu begleiten, sowie der Kompetenz von zahlreichen zertifizierten Expert:innen, mit denen Kunden und Partner gerne zusammenarbeiten, positioniert sich PCG als verlässlicher und vertrauenswürdiger Partner der Hyperscaler.
Als erfahrener Partner der drei relevanten Hyperscaler (Amazon Web Services (AWS), Google Cloud und Microsoft Cloud) hält PCG die höchsten Auszeichnungen der jeweiligen Anbieter und berät Sie als unsere Kunden in Ihrer Cloud Journey unabhängig.