Detecting Synchronisation Problems in Networked Lockstep Games
The complexity associated with development of networked video games creates a need for tools for verifying a consistent player experience. Some networked games achieve consistency through the lockstep protocol, which requires identical execution of sent commands for players to stay synchronised. In...
Main Author: | |
---|---|
Format: | Others |
Language: | English |
Published: |
KTH, Skolan för datavetenskap och kommunikation (CSC)
2016
|
Subjects: | |
Online Access: | http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-189593 |
id |
ndltd-UPSALLA1-oai-DiVA.org-kth-189593 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-UPSALLA1-oai-DiVA.org-kth-1895932018-01-11T05:11:53ZDetecting Synchronisation Problems in Networked Lockstep GamesengUpptäcka synkroniseringsproblem i nätverksuppkopplade lockstep-spelLiljekvist, HampusKTH, Skolan för datavetenskap och kommunikation (CSC)2016DetectingFindingSynchronisationDesynchronisationOut-of-SyncProblemsIssuesBugsErrorsNetworkLockstep ProtocolMultiplayerVideo GamesFuzzingAIArtificial IntelligenceTestingDebuggingNondeterminismLog File AnalysisDynamic Program AnalysisTest AutomationChecksumsComputer SciencesDatavetenskap (datalogi)The complexity associated with development of networked video games creates a need for tools for verifying a consistent player experience. Some networked games achieve consistency through the lockstep protocol, which requires identical execution of sent commands for players to stay synchronised. In this project a method for testing networked multiplayer lockstep games for synchronisation problems related to nondeterministic behaviour is formulated and evaluated. An integrated fuzzing AI is constructed which tries to cause desynchronisation in the tested game and generate data for analysis using log files. Scripts are used for performing semi-automated test runs and parsing the data. The results show that the test system has potential for finding synchronisation problems if the fuzzing AI is used in conjunction with the regular AI in the tested game, but not for finding the origins of said problems. Komplexiteten förenad med utveckling av nätverksuppkopplade dataspel skapar ett behov av verktyg för att verifiera en konsistent spelarupplevelse. Vissa nätverksspel hålls konsistenta med hjälp av lockstep-protokollet, vilket kräver identisk exekvering av skickade kommandon för att spelarna ska hållas synkroniserade. I detta projekt formuleras och evalueras en metod för att testa om nätverksuppkopplade flerspelarspel lider av synkroniseringsproblem relaterade till ickedeterministiskt beteende. En integrerad fuzzing-AI konstrueras som försöka orsaka desynkronisering i det testade spelet och generera data för analys med hjälp av loggfiler. Skript används för att utföra halvautomatiserade testkörningar och tolka data. Resultaten visar att testsystemet har potential för att hitta synkroniseringsproblem om fuzzing-AI:n används tillsammans med den vanliga AI:n i det testade spelet, men inte för att hitta de bakomliggande orsakerna till dessa problem. Student thesisinfo:eu-repo/semantics/bachelorThesistexthttp://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-189593application/pdfinfo:eu-repo/semantics/openAccess |
collection |
NDLTD |
language |
English |
format |
Others
|
sources |
NDLTD |
topic |
Detecting Finding Synchronisation Desynchronisation Out-of-Sync Problems Issues Bugs Errors Network Lockstep Protocol Multiplayer Video Games Fuzzing AI Artificial Intelligence Testing Debugging Nondeterminism Log File Analysis Dynamic Program Analysis Test Automation Checksums Computer Sciences Datavetenskap (datalogi) |
spellingShingle |
Detecting Finding Synchronisation Desynchronisation Out-of-Sync Problems Issues Bugs Errors Network Lockstep Protocol Multiplayer Video Games Fuzzing AI Artificial Intelligence Testing Debugging Nondeterminism Log File Analysis Dynamic Program Analysis Test Automation Checksums Computer Sciences Datavetenskap (datalogi) Liljekvist, Hampus Detecting Synchronisation Problems in Networked Lockstep Games |
description |
The complexity associated with development of networked video games creates a need for tools for verifying a consistent player experience. Some networked games achieve consistency through the lockstep protocol, which requires identical execution of sent commands for players to stay synchronised. In this project a method for testing networked multiplayer lockstep games for synchronisation problems related to nondeterministic behaviour is formulated and evaluated. An integrated fuzzing AI is constructed which tries to cause desynchronisation in the tested game and generate data for analysis using log files. Scripts are used for performing semi-automated test runs and parsing the data. The results show that the test system has potential for finding synchronisation problems if the fuzzing AI is used in conjunction with the regular AI in the tested game, but not for finding the origins of said problems. === Komplexiteten förenad med utveckling av nätverksuppkopplade dataspel skapar ett behov av verktyg för att verifiera en konsistent spelarupplevelse. Vissa nätverksspel hålls konsistenta med hjälp av lockstep-protokollet, vilket kräver identisk exekvering av skickade kommandon för att spelarna ska hållas synkroniserade. I detta projekt formuleras och evalueras en metod för att testa om nätverksuppkopplade flerspelarspel lider av synkroniseringsproblem relaterade till ickedeterministiskt beteende. En integrerad fuzzing-AI konstrueras som försöka orsaka desynkronisering i det testade spelet och generera data för analys med hjälp av loggfiler. Skript används för att utföra halvautomatiserade testkörningar och tolka data. Resultaten visar att testsystemet har potential för att hitta synkroniseringsproblem om fuzzing-AI:n används tillsammans med den vanliga AI:n i det testade spelet, men inte för att hitta de bakomliggande orsakerna till dessa problem. |
author |
Liljekvist, Hampus |
author_facet |
Liljekvist, Hampus |
author_sort |
Liljekvist, Hampus |
title |
Detecting Synchronisation Problems in Networked Lockstep Games |
title_short |
Detecting Synchronisation Problems in Networked Lockstep Games |
title_full |
Detecting Synchronisation Problems in Networked Lockstep Games |
title_fullStr |
Detecting Synchronisation Problems in Networked Lockstep Games |
title_full_unstemmed |
Detecting Synchronisation Problems in Networked Lockstep Games |
title_sort |
detecting synchronisation problems in networked lockstep games |
publisher |
KTH, Skolan för datavetenskap och kommunikation (CSC) |
publishDate |
2016 |
url |
http://urn.kb.se/resolve?urn=urn:nbn:se:kth:diva-189593 |
work_keys_str_mv |
AT liljekvisthampus detectingsynchronisationproblemsinnetworkedlockstepgames AT liljekvisthampus upptackasynkroniseringsprobleminatverksuppkoppladelockstepspel |
_version_ |
1718604385672495104 |