Yatzy Online

Ü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 war das, was wir bei Miracle Mill 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.

image-b4adf18a19fa

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.

image-f8ccce94c6a2

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 Miracle Mill und lassen Sie unser engagiertes Team bestehend aus Machine-Learning-Scientists daran arbeiten, Ihre Ziele zu verwirklichen.

Über Miracle Mill

Bei Miracle Mill sind wir leidenschaftliche Unternehmer und Ingenieure, die daran arbeiten, moderne und innovative Cloud-Technologie zu nutzen. Wir sind ein Cloud-First-Unternehmen, das sich auf die Entwicklung skalierbarer Anwendungen konzentriert, die AWS-Cloud-Services nutzen.

Wir bieten Cloud-Beratungsdienste mit einem iterativen, agilen Ansatz für die Softwareentwicklung unter der Verwendung von DevOps-Methoden.