The design and implementation of a high performance server framework for a large scale multiplayer online game

dc.contributorAalto-yliopistofi
dc.contributorAalto Universityen
dc.contributor.advisorSaikkonen, Heikki
dc.contributor.authorKoskela, Jussi
dc.contributor.departmentInformaatio- ja luonnontieteiden tiedekuntafi
dc.contributor.schoolTeknillinen korkeakoulufi
dc.contributor.schoolHelsinki University of Technologyen
dc.contributor.supervisorSaikkonen, Heikki
dc.date.accessioned2020-12-05T13:36:43Z
dc.date.available2020-12-05T13:36:43Z
dc.date.issued2008
dc.description.abstractTässä diplomityössä tarkastellaan suorituskykyisen Java-pohjaisen palvelinrungon suunnittelua ja toteutusta suuren pelaajamäärän verkkomoninpeliin. Työssä perehdytään yleisimpiin kuljetuskerroksen protokolliin sekä verkkosiirräntä-, samanaikaisuus- ja synkronointitekniikoihin ja arvioidaan niiden soveltuvuutta palvelinrungon toteutukseen. Arvioiden pohjalta toteutetaan palvelinrunko, joka tarjoaa tehokkaat palvelut viestien samanaikaiseen vastaanottamiseen, käsittelyyn ja lähettämiseen. Työssä esiteltävän palvelinrungon korkea suorituskyky perustuu yksisäikeisen kanavoidun estämättömän verkkosiirrännän ja säievarantopohjaisen tehtävien käsittelyn yhdistämiseen. Pelikohtaisten tehtävien käsittely synkronoidaan käyttäen uudentyyppisistä varattavista luku-kirjoitus-lukoista muodostettua puumaista lukitushierarkiaa. Tämä mahdollistaa tehtävien samanaikaisen käsittelyn oikeassa suoritusjärjestyksessä erittäin pienin estävyyksin. Konseptin toimivuus osoitetaan integroimalla suuren pelaajamäärän mäkihyppypelin pelilogiikka palvelinrungon yhteyteen ja kuormittamalla palvelintoteutusta asiakassovellussimulaattorin luomalla keinotekoisella kuormalla. Työssä havaitaan, että geneerisellä Java-pohjaisella palvelinrungolla pystytään mahdollistamaan pelilogiikan suorituskykyinen käsittely sekä samalla yksinkertaistamaan verkkomoninpelipalvelinten toteutusta huomattavasti. Sovelluskohtaisen ohjelmakoodin synkronointi jää kuitenkin edelleen vaativaksi ja virhealttiiksi tehtäväksi.fi
dc.format.extent80
dc.identifier.urihttps://aaltodoc.aalto.fi/handle/123456789/95472
dc.identifier.urnURN:NBN:fi:aalto-2020120554306
dc.language.isofien
dc.programmeTietotekniikan tutkinto-ohjelmafi
dc.programme.majorOhjelmistotekniikkafi
dc.programme.mcodeT-106fi
dc.rights.accesslevelclosedAccess
dc.subject.keywordserversen
dc.subject.keywordpalvelimetfi
dc.subject.keywordcomputer gamesen
dc.subject.keywordtietokonepelitfi
dc.subject.keywordnetwork input/outputen
dc.subject.keywordverkkosiirräntäfi
dc.subject.keywordconcurrencyen
dc.subject.keywordsamanaikaisuusfi
dc.subject.keywordsynchronizationen
dc.subject.keywordsynkronointifi
dc.titleThe design and implementation of a high performance server framework for a large scale multiplayer online gameen
dc.titleSuorituskykyisen palvelinrungon suunnittelu ja toteutus suuren pelaajamäärän verkkomoninpeliinfi
dc.type.okmG2 Pro gradu, diplomityö
dc.type.ontasotMaster's thesisen
dc.type.ontasotPro gradu -tutkielmafi
dc.type.publicationmasterThesis
local.aalto.digiauthask
local.aalto.digifolderAalto_03525
local.aalto.idinssi35610
local.aalto.inssilocationP1 Ark Aalto
local.aalto.openaccessno

Files