Yatzy Online

Om Fictional Factory Inc

Fictional Factory Inc är en Android -spelutvecklare som har varit aktiv sedan 2012. Den nuvarande appportföljen innehåller 2 spel som alla är listade i kategorin "Board". Två av de viktigaste apparna från Fictional Factory Inc är Yatzy Online och Farkle Online. Båda har installerats mer än 100 tusen gånger.

Utmaningen

Yatzy Online var det vi kallar på Miracle Mill som en ”born in the cloud” -lösning, vilket innebär att appen sedan befruktningen har använt kraftfull molnteknik för att förbättra funktionalitet, skala och kontrollkostnader. Vi har specifikt använt Amazon Web Services efter följande iterativa tidslinje, Distribuera till Amazon EC2 2012. Migrera från MongoDB till Amazon DynamoDB. Aktivera mänsklig dator med Amazon SageMaker. Konvertera beräkna till AWS Lambda. Vi har använt detta tillvägagångssätt för att uppnå följande kärnresultat, för att iterativt förbättra spelfunktionaliteten, tillåta att en stor mängd data snabbt blir tillgänglig och skapa en trovärdig datorspelare.

image-a094628e3631image-a094628e3631

Lösningen

År 2019 var en av de ständiga utmaningar som projektet stod inför begränsningar i den nuvarande datorspelaren. Således skapades en plan för att använda AWS Machine Learning-tjänster för att optimera AI och mänskligt beteende.

Den nuvarande datorspelaren gjorde kategorival med hjälp av förberäknade kombinationer och några beräkningar på språng. Eftersom beräkningar tar nästan alla tärningskombinationer har datorspelaren nästan alltid förutsättningar att vinna spelet, vilket skulle minska den totala användarupplevelsen.

På grund av det faktum att Yatzy Online redan använder massor av AWS-tjänster och är mycket beroende av detta ekosystem, var det logiska sättet att uppgradera applikationen att fortsätta lägga till AWS-tjänster. Vi arbetade för att bedöma vilka AWS-tjänster som kunde möjliggöra byggande och utbildning av maskininlärningsmodeller.

Flera AWS-tjänster användes för att samla in data, omvandla den, utbilda en ML-modell och distribuera den. Det första steget är att samla in data från användarna, dvs. spelare i spelet Yatzy Oline. För detta användes Amazon Kinesis Data Firehose, vilket ger ett enkelt sätt att tillförlitligt ladda strömningsdata till Amazon Simple Storage Service (S3). Därefter filtrerades data och transformerades till det format som behövs för nästa steg med hjälp av AWS Glue, en fullständigt hanterad ETL-tjänst (Extract, transform and load) och sparas i Amazon Simple Storage Service (S3) i CVS-format.

Hela processen med ML-modellval, utbildning, validering, hyperparametertuning och distribution gjordes med Amazon SageMaker. Jupyter-bärbara datorer användes, tillhandahållna av Amazon SageMaker-bärbara datorer med helt elastiska underliggande beräkningsresurser. Flera inbyggda algoritmer testades och två, Linear Learner och XGBoost, valdes ut som bra och visade sig vara väl lämpade för det givna klassificeringsproblemet i flera klasser. Inställningen av hyperparametern gjordes också med Amazon SageMaker, dvs. genom att köra ett hyperparameteravstämningsjobb med slumpmässig strategi.

För distribution av algoritmen skapades en Amazon SageMaker-slutpunkt, en AWS Lambda-funktion och en API-gateway. AWS Lambda-funktionen tar data som skickas från användaren, via API-gatewayen, förvandlar den till rätt format och åberopar Amazon SageMaker-slutpunkten. Efter detta skickas förutsägelsen, dvs. den kategori som ska väljas tillbaka till användaren.

image-7eb4f8e49212image-7eb4f8e49212

Fördelar och resultat

Resultaten av valideringen av modellen visade hög klassificeringsnoggrannhet. Dessutom bygger maskininlärningsmodellen sin produktion helt och hållet på hur den mänskliga spelaren spelar spelet, så det känns mycket mer mänskligt. Med tanke på att projektarbetet kommer att fortsätta kommer framtida mål att optimera befintliga tjänster, med en fortsättning på att lägga till mer ML AWS-tjänster.

Om Miracle Mill

På Miracle Mill är vi passionerade entreprenörer och ingenjörer som arbetar med att använda modern banbrytande molnteknik. Vi är ett molnföretag som fokuserar på att bygga skalbara applikationer med AWS-molntjänster.

Vi tillhandahåller molnkonsulttjänster med en Agil iterativ process för mjukvaruutveckling och DevOps- metoder.

Använda tjänster

Läs mer

Artikel

Automatisk testning av webbgränssnitt i AWS

Alla bra utvecklingsprocesser innehåller en testfas - oavsett om man låter vänner och familj utvärdera produkten eller om det är en kvalitetssäkring som utförs av en certifierad leverantör. Testningen görs oftast manuellt eller halvautomatiskt med hjälp av verktyg som Selenium. Många är bekanta med automatiserade testningsverktyg, men då det kan kännas krångligt att implementera automatiserade UI-tester är det ibland något man hellre undviker. Medan andra automatiserade integrations- och enhetstester kan vara enklare och mer okomplicerade att implementera kräver automatisk UI-testning mer eftertanke och planering - men de potentiella fördelarna är desto större. Automatisk testning av webbgränssnitt sparar mängder av tid, säkerställer högre kvalitet och precision och möjliggör kontinuerlig distribution. En välkommen bonus är potentialen att omvandla din verksamhet!

Läs mer
Artikel

DevOps inom Scrum

I takt med att DevOps blir alltmer populärt och implementeras i organisationer av alla storlekar verkar det finnas en missuppfattning om att DevOps och Agile är helt olika idéer, som inte är tänkta att fungera tillsammans. Dessutom tenderar vissa att tro att DevOps innebär "kontinuerlig leverans" och Agile betyder "Scrum", och denna missriktade förenkling orsakar spänningar mellan de två och ännu mer förvirring kring vad som är det bästa valet för organisationen.

Läs mer
Fallstudie

Teevolution

SmartGolfa är en webb- och mobilplattform som låter användare spela golf i sin egen takt. Användare kan köpa golfpaket som kan användas i ett nätverk av banor i Sverige, enligt deras schema. Teevolution startade SmartGolfa 2009. Sedan lanseringen har plattformen haft kontinuerlig tillväxt. Idén till SmartGolfa kom från det enkla konceptet att göra golf mer digitalt tillgängligt och öppna marknaden för en ny publik genom att hålla kostnaderna nere. Applikationen tillåter användare att boka starttider på 60+ golfbanor och köpa greenfee-avgifter. Användare har också möjlighet att belönas med gratis greenfee-avgifter genom att rekrytera vänner. Användare loggar in med sina telefoner för att köpa paket som kan användas under golfsäsongen.

Läs mer