Real-time Unity Multiplayer Server Implementation
Ahde, Jani (2017)
Ahde, Jani
Kaakkois-Suomen ammattikorkeakoulu
2017
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2017120119230
https://urn.fi/URN:NBN:fi:amk-2017120119230
Tiivistelmä
Tämä opinnäytetyö on pääasiallisesti toteutusdokumentti reaaliaikaisen ja omistautuneen pelipalvelimen tärkeimmistä komponenteista. Samalla käsittelyn kohteena on pelipalvelimen ottelulogiikka Nitro Games Plc:n (Oyj) kehittämässä ja hiljattain julkaistussa ilmaisessa mobiilipelissä nimeltä Medals of War.
Opinnäytetyössä käytettiin tutkivaa ja toteutuspainotettua lähestymistapaa. Projektin ensi-sijaisena työkaluna toimi pelien kehitysalusta Unity-pelimoottori, ja keskeisenä sovelluskehityksen menetelmänä ketterä ohjelmistonkehitys. Projektin edetessä useita verkkotyöskentelyyn ja Unityn sisäiseen verkkoteknologiaan perustuvia aiheita tutkittiin ja opiskeltiin laajamittaisesti. Pelipalvelimen runkona käytettiin Master Server Framework -kehikkoa nopeuttamaan palvelimen kehitysprosessia, ja haluttuja ominaisuuksia kehitettiin annettujen ohjelmistovaatimusten puitteissa.
Pelipalvelimen pääasiallisten ominaisuuksien kehittäminen oli projektissa pääpainona ja näin ollen palvelinputken prosessit toteutettiin ohjelmistovaatimusten ja pelin ominaisuuksien mukaisesti. Palvelimella pyörivien otteluiden logiikka toteutettiin Unityn oman verkkoteknologian avulla, ja toteutuksissa hyödynnettiin varsinkin pelimoottorin verkkoteknologian tarjoamia ominaisuuksia ja ohjelmointirajapintoja.
Opinnäytetyöprosessin aikana saavutettiin toimiva palvelinprototyyppi sekä julkaistuun peliin sovellettu pelipalvelin. Kehitetyn pelipalvelimen pohjatyö saatiin helposti jatkettavaksi ja jatkokehitettäväksi. Jatkokehitysprosessi käynnistettiin jo tämän opinnäytetyön loppuvaiheessa.
Opinnäytetyössä käytettiin tutkivaa ja toteutuspainotettua lähestymistapaa. Projektin ensi-sijaisena työkaluna toimi pelien kehitysalusta Unity-pelimoottori, ja keskeisenä sovelluskehityksen menetelmänä ketterä ohjelmistonkehitys. Projektin edetessä useita verkkotyöskentelyyn ja Unityn sisäiseen verkkoteknologiaan perustuvia aiheita tutkittiin ja opiskeltiin laajamittaisesti. Pelipalvelimen runkona käytettiin Master Server Framework -kehikkoa nopeuttamaan palvelimen kehitysprosessia, ja haluttuja ominaisuuksia kehitettiin annettujen ohjelmistovaatimusten puitteissa.
Pelipalvelimen pääasiallisten ominaisuuksien kehittäminen oli projektissa pääpainona ja näin ollen palvelinputken prosessit toteutettiin ohjelmistovaatimusten ja pelin ominaisuuksien mukaisesti. Palvelimella pyörivien otteluiden logiikka toteutettiin Unityn oman verkkoteknologian avulla, ja toteutuksissa hyödynnettiin varsinkin pelimoottorin verkkoteknologian tarjoamia ominaisuuksia ja ohjelmointirajapintoja.
Opinnäytetyöprosessin aikana saavutettiin toimiva palvelinprototyyppi sekä julkaistuun peliin sovellettu pelipalvelin. Kehitetyn pelipalvelimen pohjatyö saatiin helposti jatkettavaksi ja jatkokehitettäväksi. Jatkokehitysprosessi käynnistettiin jo tämän opinnäytetyön loppuvaiheessa.