Crackshell is an indie game studio situated in Stockholm. They released particular iterations of a game called Hammerwatch, which is developed with their in-house game engine and they are still working to extend both the Hammerwatch and the game engine. Hammerwatch is a rogue-like multiplayer game played by up to four players in a single session by using peer to-peer network topology. These days, Hammerwatch has gotten significantly popular and the planned features have led the team to question of whether their network utilization is performant and in what ways they can improve this utilization. Even though they the are ones who implemented the network part of Hammerwatch, they don’t exactly have an understanding of the underlying behavior of the utilization, nor they have any way to analyze it currently. This project is aimed to design and implement a proper tooling implementation for their data analysis needs by identifying the network topology, datastructures, extraction, storage and providing an environment that is easy to analyze the network utilization. In order to achieve this aim, an iterative approach through design thinking has been conducted with Crackshell. In this regard, there were certain decisions to be made in accordance with the constraints and the purpose of the tooling, which is defined with the help of Crackshell by the conducted workshops as a module of the design thinking approach. The above-mentioned strategy allowed a swift understanding of the problemthat led the tooling to be approved as both helpful and easy-to-use by Crackshell. The data analysis tool was implemented by using a local data extraction solution, MongoDB and Jupyter Notebook in Python together with extensions that helped further with the analysis of the collected data. The results of the data analysis deemed itself as a significant success, where problems such as the game events being sent unnecessarily frequently, stale data issues, caching opportunities, and potential data clustering issues in network packets were pointed out. Crackshell was happy with the provided ability to look at their network utilization in a detailed manner, which led them to use the implemented tooling for further analysis as Hammerwatch is kept developing. / Crackshell är en indie-spelstudio belägen i Stockholm. De har släppt ett antal spel som heter Hammerwatch, vilket är utvecklat med sin egen spelmotor. Hammerwatch och dess spelmotor utvecklas fortfarande kontinuerligt. Det är ett rogue-liknande multiplayer-spel som spelas av upp till fyra spelare i en enda session med hjälp av peer-to-peer-nätverkstopologi. Hammerwatch blev snabbt populärt och de planerade funktionerna har lett teamet till en fråga om deras nätverksanvändning är effektiv ur prestandasynpunkt och på vilka sätt de kan förbättra den. Även om det är de som implementerade nätverksdelen av Hammerwatch, har de inte exakt en förståelse för det underliggande beteendet hos nätverkskommunikationen, och de har inte heller något sätt att analysera det för närvarande.Detta projekt syftade till att utforma och implementera verktyg för att dataanalys genom att identifiera nätverkstopologi, datastrukturer, extraktion, lagring och tillhandahålla en miljö som gör det lätt att analysera nätverksanvändningen. För att uppnå detta mål valdes en iterativ metod baserad på “design thinking” denna genomfördes tillsammans med Crackshell. Under designfasen fattades beslut kring begränsningar och syfte med verktyget.Ovan nämnda strategi möjliggjorde en snabb förståelse av problemet som ledde till utvecklandet av ett verktyg som både godkänts som användbart och lätt att använda av Crackshell. Dataanalysverktyget implementerades med hjälp av en lokal lösning för utvinning av data, MongoDB och Jupyter Notebook i Python tillsammans med tillägg som hjälpte till vidare med analysen av insamlade data.Resultaten av dataanalysen löste in sig som en betydande framgång, där problem som spelhändelser som skickades onödigt ofta, data som var gammal när den nådde fram, cachemöjligheter och potentiella problem med datakluster i nätverkspaket kunde hittas. Crackshell var nöjd med resultatet och nya förmågan att titta på deras nätverksanvändning på ett detaljerat sätt. De kommer kunna använda det utvecklade verktyget till framtida analyser vid fortsatt vidareutveckling av spelmotorn.
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:kth-276768 |
Date | January 2020 |
Creators | Eksi, Murat, Pihl, Markus |
Publisher | KTH, Skolan för elektroteknik och datavetenskap (EECS) |
Source Sets | DiVA Archive at Upsalla University |
Language | English |
Detected Language | English |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | TRITA-EECS-EX ; 2020:98 |
Page generated in 0.0193 seconds