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-b4adf18a19faimage-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-f8ccce94c6a2image-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.

Genutzte Dienste

Weiterlesen

Artikel

Automatische Web-UI-Tests in AWS

Jeder gute Entwicklungsprozess durchläuft eine Testphase, sei es eine Überprüfung durch Freunde und Familie oder ein QA-Prozess, der von zertifiziertem Fachpersonal durchgeführt wird. In den meisten Fällen werden diese Tests manuell oder halbautomatisch mithilfe von Tools wie Selenium durchgeführt. Vielleicht haben Sie schon einmal von automatisierten Testtools gehört, aber die Einrichtung eines automatisierten UI-Tests kommt Ihnen vielleicht unheimlich vor, und Sie haben es bisher vermieden, einen solchen einzurichten. Während andere automatische Integrations- und Unit-Tests einfacher und unkomplizierter zu implementieren sind, ist für automatische UI-Tests mehr Überlegung und Planung erforderlich, aber die potenziellen Vorteile sind enorm. Automatische Web-UI-Tests sparen viel Zeit, sorgen für höhere Qualität und Präzision und ermöglichen darüber hinaus eine kontinuierliche Softwarebereitstellung. Dies hat das zusätzliche Potenzial, Ihr Unternehmen zu verändern!

Mehr erfahren
Artikel

DevOps in Scrum

DevOps wird immer beliebter und wird mittlerweile in Organisationen jeder Größe eingesetzt. Damit scheint sich aber auch das Missverständnis zu verbreiten, dass DevOps und das Konzept “Agile”, die agile Softwareentwicklung, komplett verschiedene Ideen sind, die nicht miteinander funktionieren können. Weiter scheinen manche zu denken, dass DevOps identisch für “Continuous Development” und Agile für “Scrum” steht. Diese fehlerhafte Vereinfachung führt zu Spannungen zwischen den zwei Konzepten und zu noch mehr Verunsicherung, was “das Richtige” für ein Unternehmen ist.

Mehr erfahren
Fallstudie

Teevolution

SmartGolfa ist eine Web- und Mobileplattform, die es den Nutzern ermöglicht, Golf in ihrem eigenen Tempo zu spielen. Die Nutzer können Golf-Pakete kaufen, die sie in einem Netzwerk von Golfplätzen in Schweden nach ihrem eigenen Zeitplan nutzen können. Teevolution startete SmartGolfa im Jahr 2009. Seit dem Start hat die Plattform ein kontinuierliches Wachstum erfahren. Die Idee für SmartGolfa entstand aus dem einfachen Konzept, Golf digital zugänglicher zu machen und den Markt für ein neues Publikum zu öffnen, ohne die Kosten zu überhöhen. Die Anwendung ermöglicht es den Nutzern, Startzeiten auf über 60 Golfplätzen zu buchen und Greenfees zu kaufen. Die Nutzer haben auch die Möglichkeit, durch das Werben von Freunden mit kostenlosen Greenfees belohnt zu werden. Die Nutzer loggen sich mit ihrem Handy ein, um Pakete zu kaufen, die während der gesamten Golfsaison genutzt werden können.

Mehr erfahren
Fallstudie

AWS DevOps-automatisiertes Release-Management

Spike Diamond ist ein Verleger aus dem Vereinigten Königreich, der für Online-Publikationen wie Holler Country bekannt ist, ein Online-Magazin mit Nachrichten und Einblicken in die Welt der Country-Musik.

Mehr erfahren