Designing a real-time online multiplayer game
Pasanen, Jesse (2026)
Diplomityö
Pasanen, Jesse
2026
School of Engineering Science, Tietotekniikka
Kaikki oikeudet pidätetään.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi-fe2026020912021
https://urn.fi/URN:NBN:fi-fe2026020912021
Tiivistelmä
This thesis examines the development of real-time online multiplayer games, researching how they are designed and implemented. It investigates the technical challenges of maintaining synchronized gameplay and evaluates real-world networking behaviour through delay-over-distance measurements and user experience testing in commercial titles.
The study found that real-time multiplayer games can be designed using a variety of architectural and networking strategies, including client–server, peer-to-peer, and hybrid models. Communication protocols, lag compensation, and game-state synchronization complement these choices. Although developers cannot control factors such as physical distance and routing variability, the results show that well-designed networking systems can mitigate many of their negative effects. Differences observed between commercial titles under high-latency conditions further demonstrate how design choices directly influence user experience.
To explore these concepts in practice, a prototype multiplayer game was developed in Unity using FishNet, implementing features such as client-side prediction, reconciliation, lag compensation, dead reckoning, and state synchronization. Combining insights from literature, empirical data, and practical implementation, the study demonstrates how real time multiplayer games can be designed to remain responsive and consistent for all players. Tämä diplomityö käsittelee reaaliaikaisten verkkomoninpelien kehitystä tutkimalla niiden suunnittelua ja toteutusta. Työssä tarkastellaan verkkopelaamiseen liittyviä teknisiä haasteita sekä testataan kaupallisten verkkomoninpelien viivettä ja käyttäjäkokemuksia käytännössä.
Työssä havaittiin, että reaaliaikaisia moninpelejä voidaan toteuttaa useilla erilaisilla arkkitehtuuri- ja verkkoratkaisuilla. Keskeisiä arkkitehtuuriratkaisuja ovat asiakas–palvelin arkkitehtuuri ja vertaisverkko tai jokin yhdistelmä niiden välillä. Myös viestintäprotokollaan ja pelitilan synkronointiin liittyy tärkeitä suunnittelupäätöksiä. Vaikka pelikehittäjät eivät voi vaikuttaa esimerkiksi käyttäjien fyysiseen etäisyyteen tai heidän väliseensä reititykseen, tutkimuksen tulokset osoittavat, että hyvin suunnitellut verkkoratkaisut voivat lieventää monia niiden kielteisiä vaikutuksia. Kaupallisia pelejä vertaillessa havaitaan, että pelisuunnitteluratkaisuilla on suora vaikutus pelaajakokemukseen.
Työssä pelisuunnitteluratkaisuja tutkitaan käytännössä kehittämällä moninpeliprototyyppi käyttäen Unity-pelimoottoria ja FishNet-verkkokehystä. Toteutuksessa hyödynnettiin muun muassa viiveen kompensointia, pelitilan synkronointia, asiakaspuolen ennustetta (engl. client-side prediction), sekä reconciliation- ja dead reckoning -menetelmiä. Tutkimus osoittaa yhdistämällä kirjallisuudesta saadut näkemykset, empiiriset mittaukset ja käytännön toteutuksen, kuinka reaaliaikaiset moninpelit voidaan suunnitella siten, että ne ovat responsiivisia ja käyttäjäystävällisiä kaikille pelaajille verkon yli.
The study found that real-time multiplayer games can be designed using a variety of architectural and networking strategies, including client–server, peer-to-peer, and hybrid models. Communication protocols, lag compensation, and game-state synchronization complement these choices. Although developers cannot control factors such as physical distance and routing variability, the results show that well-designed networking systems can mitigate many of their negative effects. Differences observed between commercial titles under high-latency conditions further demonstrate how design choices directly influence user experience.
To explore these concepts in practice, a prototype multiplayer game was developed in Unity using FishNet, implementing features such as client-side prediction, reconciliation, lag compensation, dead reckoning, and state synchronization. Combining insights from literature, empirical data, and practical implementation, the study demonstrates how real time multiplayer games can be designed to remain responsive and consistent for all players.
Työssä havaittiin, että reaaliaikaisia moninpelejä voidaan toteuttaa useilla erilaisilla arkkitehtuuri- ja verkkoratkaisuilla. Keskeisiä arkkitehtuuriratkaisuja ovat asiakas–palvelin arkkitehtuuri ja vertaisverkko tai jokin yhdistelmä niiden välillä. Myös viestintäprotokollaan ja pelitilan synkronointiin liittyy tärkeitä suunnittelupäätöksiä. Vaikka pelikehittäjät eivät voi vaikuttaa esimerkiksi käyttäjien fyysiseen etäisyyteen tai heidän väliseensä reititykseen, tutkimuksen tulokset osoittavat, että hyvin suunnitellut verkkoratkaisut voivat lieventää monia niiden kielteisiä vaikutuksia. Kaupallisia pelejä vertaillessa havaitaan, että pelisuunnitteluratkaisuilla on suora vaikutus pelaajakokemukseen.
Työssä pelisuunnitteluratkaisuja tutkitaan käytännössä kehittämällä moninpeliprototyyppi käyttäen Unity-pelimoottoria ja FishNet-verkkokehystä. Toteutuksessa hyödynnettiin muun muassa viiveen kompensointia, pelitilan synkronointia, asiakaspuolen ennustetta (engl. client-side prediction), sekä reconciliation- ja dead reckoning -menetelmiä. Tutkimus osoittaa yhdistämällä kirjallisuudesta saadut näkemykset, empiiriset mittaukset ja käytännön toteutuksen, kuinka reaaliaikaiset moninpelit voidaan suunnitella siten, että ne ovat responsiivisia ja käyttäjäystävällisiä kaikille pelaajille verkon yli.
