Server-client verkkomoninpelitekniikat
Vesalainen, Topias (2012)
Vesalainen, Topias
Kajaanin ammattikorkeakoulu
2012
Creative Commons Attribution-NonCommercial 1.0 Suomi
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2012110514888
https://urn.fi/URN:NBN:fi:amk-2012110514888
Tiivistelmä
Opinnäytetyön tarkoituksena on tutkia ja selvittää, millaisia moninpelitekniikoita nykypäivän moninpeleissä käytetään, sekä palvelimella että pelaajalla. Aihe on ajankohtainen, koska nykyisin yhä useammassa pelissä on mukana jonkinlainen moninpeli perinteisen yksinpelin rinnalla. Osa peleistä jopa keskittyy ainoastaan moninpeliin, eikä niissä ole yksinpelimahdollisuutta.
Aluksi työssä tehdään katsaus moninpelien historiaan ja missä tilanteessa nykypäivänä ollaan, sekä verrataan, mitä eroa TCP- ja UDP-verkkoprotokollilla on moninpelien kannalta. Tämä jälkeen esitellään yleisesti käytettyjä moninpelitekniikoita sekä palvelimen ja pelaajan näkökulmasta. Suurin osa esitellyistä tekniikoista koskee FPS pelejä, mutta samoja tekniikoita voidaan soveltaa monissa muissakin pelityypeissä. Lopuksi käydään läpi toteutettua ohjelmointiprojektia, jossa esiteltyjä tekniikoita on toteutettu Unity3D-pelimoottorissa käyttäen lidgren network gen3 -verkkokirjastoa.
Ohjelmointityön tuloksena on toimiva prototyyppi palvelimen ja pelaaja ohjelmistosta, jota voidaan tulevaisuudessa jatkokehittää. Toteutettu prototyyppi ei ole täysin onnistunut ohjelmistoarkkitehtuurin osalta, vaikkakin kaikki siinä käytetyt moninpelitekniikat toimivat kuten pitääkin. Prototyypin ongelmaksi koitui sen toiminta suuremmilla pelaajamäärillä, jolloin siinä ilmeni erilaisia toiminnallisia virheitä. Kokonaisuutena opinnäytetyöprosessi on kuitenkin onnistunut, koska sen aikana tekijä on henkilökohtaisesti oppinut paljon uutta tietotaitoa käsitellystä aiheesta.
Aluksi työssä tehdään katsaus moninpelien historiaan ja missä tilanteessa nykypäivänä ollaan, sekä verrataan, mitä eroa TCP- ja UDP-verkkoprotokollilla on moninpelien kannalta. Tämä jälkeen esitellään yleisesti käytettyjä moninpelitekniikoita sekä palvelimen ja pelaajan näkökulmasta. Suurin osa esitellyistä tekniikoista koskee FPS pelejä, mutta samoja tekniikoita voidaan soveltaa monissa muissakin pelityypeissä. Lopuksi käydään läpi toteutettua ohjelmointiprojektia, jossa esiteltyjä tekniikoita on toteutettu Unity3D-pelimoottorissa käyttäen lidgren network gen3 -verkkokirjastoa.
Ohjelmointityön tuloksena on toimiva prototyyppi palvelimen ja pelaaja ohjelmistosta, jota voidaan tulevaisuudessa jatkokehittää. Toteutettu prototyyppi ei ole täysin onnistunut ohjelmistoarkkitehtuurin osalta, vaikkakin kaikki siinä käytetyt moninpelitekniikat toimivat kuten pitääkin. Prototyypin ongelmaksi koitui sen toiminta suuremmilla pelaajamäärillä, jolloin siinä ilmeni erilaisia toiminnallisia virheitä. Kokonaisuutena opinnäytetyöprosessi on kuitenkin onnistunut, koska sen aikana tekijä on henkilökohtaisesti oppinut paljon uutta tietotaitoa käsitellystä aiheesta.