Unity Networking : Developing a single player game into a multiplayer game
Jokiniemi, Topias (2014)
Jokiniemi, Topias
Vaasan ammattikorkeakoulu
2014
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2014060311571
https://urn.fi/URN:NBN:fi:amk-2014060311571
Tiivistelmä
Opinnäytetyössä tehdään pelistä Servants of Aether verkkomoninpeli. Peliä oli ennen tämän opinnäytetyön aloittamista kehitetty kahdeksan kuukautta ja sen valmistumiseen saattaa mennä vielä vuosi. Alun perin peliä ei suunniteltu lainkaan verkkomoninpeliksi, mikä teki toteuteksesta hieman haastavamman. Peliä tehdään Unity pelimoottorilla, joka on erityisesti indie kehittäjien suosiossa. Verkkototeutus tehtiin Unityn sisään rakennetulla verkko ratkaisulla. Verkkomoninpelin toteutuksessa tärkeimpänä osana on kaiken synkronointi. Kaikki peli maailmassa tapahtuva pitää näkyä samanlaisena jokaiselle pelaajalle. Erityistä suunnittelua vaatii pelihahmojen synkronointi. Hahmojen täytyy liikkua erittäin sulavasti ja kaikki hahmojen ominaisuudet, kuten lyönnit pitää välittyä luotettavasti, eikä ne saa esimerkiksi vasteajan takia mennä ohi kohteesta. Opinnäytetyössä keskitytään synkronoinnin lisäksi palvelin logiikkaan, verkon kaistan käytön minimoimiseen ja keskustelu mahdollisuuden toteuttamiseen. Opinnäytetyön kaikki tavoitteet saatiin toteutettua, moninpeli toimii hyvin, eikä suurempia virheitä jäänyt korjaamatta. Vaikeimpia asioita työssä oli ehdottomasti interpolointi ja ekstrapolointi, jotka ovat myös tärkeimpiä asioita hahmojen sulavan liikkumisen aikaansaamiseksi. Niiden logiikka saatiin hyvin toimimaan vaikka molemmissa on varmasti parantamisen varaa. Myös ohjelmiston rakenteellinen suunnittelu oli haastavaa, sillä jokaisen asian synkronointi vaatii koko pelin rakenteen ymmärtämisen kokonaisuutena. Kaiken kaikkiaan opinnäytetyö oli erittäin mielenkiintoinen ja haastava. Ensikosketukseksi pelien verkko-ohjelmointiin työn lopputulokseen voi olla erittäin tyytyväinen.