Development of online game prototype with Unity engine : Multiplayer solutions
Jetsonen, Timo (2016)
Jetsonen, Timo
Jyväskylän ammattikorkeakoulu
2016
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201605096710
https://urn.fi/URN:NBN:fi:amk-201605096710
Tiivistelmä
Työn tavoitteena oli toteuttaa verkkopeliominaisuudet Quantum Knight-peliprototyyppiä varten Unity-pelimoottorilla kahta erilaista toteutustapaa käyttäen sekä verrata niitä toisiinsa. Tarkasteltavana olevat toteutustavat olivat Unity-pelimoottorin oma Unity Networking sekä yksi Unityn suosituimmista kolmannen osapuolen verkko-ominaisuuksiin keskittyvistä liitännäisistä: Photon Unity Networking. Päämääränä oli saavuttaa lähestulkoon samankaltainen toiminnollisuus molemmilla toteutustavoilla sekä havainnollistaa, kuinka kyseiset toiminnollisuudet todellisuudessa saatiin aikaan. Projekti toteutettiin ilman ulkopuolista toimeksiantajaa.
Työn konkreettisena tuloksena saatiin aikaan kaksi erillistä, asianmukaisesti toimivaa moninpeliaulajärjestelmää sekä pelimekaanillista toteutusta. Näitä verrattiin toisiinsa kymmeneen erilaiseen arvosteluperusteeseen pohjautuen ja niiden pohjalta pisteyttäen, minkä jälkeen hankitut tilastolliset tiedot analysoitiin. Mittaustyökalujen, eli Unity Profilerin sekä Photon Stats Guin, rajoittuneisuudesta johtuen ainut verrattavissa oleva sekä luotettava vertailukohde oli edestakainen viive (englanniksi round trip time).
Vertailussa annetut pisteet jakautuivat lopputuloksena tasan molempien toteutustapojen välille, mikä puolestaan viittaa siihen, että molemmat toteutustavat kunnostautuvat eri osa-alueilla. UNet-toteutuksessa puolestaan mitattiin kaiken kaikkiaan korkeammat edestakaiset viiveet. Tämän todettiin johtuvat todennäköisesti siitä, miten Unityn serverit on globaalisti sijoitettu tai vaihtoehtoisesti siitä, että sen lähettämät paketit ovat kooltaan suurempia. Photon toteutus valittiin loppujen lopuksi prototyypin viimeiseen versioon sen viimeistellymmän lopputuloksen sekä vakaampien serverien vuoksi.
Työn konkreettisena tuloksena saatiin aikaan kaksi erillistä, asianmukaisesti toimivaa moninpeliaulajärjestelmää sekä pelimekaanillista toteutusta. Näitä verrattiin toisiinsa kymmeneen erilaiseen arvosteluperusteeseen pohjautuen ja niiden pohjalta pisteyttäen, minkä jälkeen hankitut tilastolliset tiedot analysoitiin. Mittaustyökalujen, eli Unity Profilerin sekä Photon Stats Guin, rajoittuneisuudesta johtuen ainut verrattavissa oleva sekä luotettava vertailukohde oli edestakainen viive (englanniksi round trip time).
Vertailussa annetut pisteet jakautuivat lopputuloksena tasan molempien toteutustapojen välille, mikä puolestaan viittaa siihen, että molemmat toteutustavat kunnostautuvat eri osa-alueilla. UNet-toteutuksessa puolestaan mitattiin kaiken kaikkiaan korkeammat edestakaiset viiveet. Tämän todettiin johtuvat todennäköisesti siitä, miten Unityn serverit on globaalisti sijoitettu tai vaihtoehtoisesti siitä, että sen lähettämät paketit ovat kooltaan suurempia. Photon toteutus valittiin loppujen lopuksi prototyypin viimeiseen versioon sen viimeistellymmän lopputuloksen sekä vakaampien serverien vuoksi.