Moninpelin ohjelmointi Unreal Enginellä
Juhana, Jaakkola (2025)
Juhana, Jaakkola
2025
All rights reserved. This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2025121536425
https://urn.fi/URN:NBN:fi:amk-2025121536425
Tiivistelmä
Opinnäytetyön aiheeksi valittiin Moninpelaaminen Unreal Enginellä, koska haluttiin kehittää osaamista moninpelien työstämisessä ja oppia yleistä tietoa Unreal Enginestä, joka koettiin tulevaisuuden pelimoottoriksi sen kehittämisbudjetin ja historiallisen innovoinnin ansiosta. Tavoitteena työssä oli antaa työkalut moninpelin tekemiseen Unreal Enginellä.
Työn sisältö on teoriapainotteinen. Aluksi käytiin läpi moninpelejä yleisellä tasolla ja pelaajien ennustamista (engl. client prediction), ja siihen liittyvää pelaajien interpolaatiota. Opinnäytetyö ontoiminnallinen opinnäytetyö, jossa toiminnallinen osuus toteutetaan kehittämistehtävässä.
Opinnäytetyössä havaittiin, että omien komponenttien tekeminen Unreal Engineen on aikaavievää ja monimutkaista, mutta teorian ymmärtämisen jälkeen mahdollista. Testatessa omia komponentteja noin 30-60 millisekunnin viiveellä huomattiin niiden toimivan normaalisti. Testatessa 100-200 millisekunnin viiveellä huomattiin Character-luokkaan pohjautuvan hahmon toimivan normaalisti, mutta pawn-luokkaan pohjautuva hahmo tuotti ongelmia. Vertailussa kaupallisten tuotteiden kanssa havaittiin niiden olevan parempia, mutta varjopuoleksi muodostui hinta.
Opinnäytetyöstä saadut tulokset merkitsivät, että moninpelin tekemiseen meni aikaa reilusti enemmän, jos tekee itse networking-komponentit. Opinnäytetyölle asetettuihin tavoitteisiin päästiin, eli saatiin luotua toimiva moninpeli ilman ulkoisia komponentteja. Selville saatiin myös se, että omien komponenttien kehittämisen hitauden kannalta tapauskohtaisesti kannattaa harkita kaupallisten komponenttien käyttö.
Työn sisältö on teoriapainotteinen. Aluksi käytiin läpi moninpelejä yleisellä tasolla ja pelaajien ennustamista (engl. client prediction), ja siihen liittyvää pelaajien interpolaatiota. Opinnäytetyö ontoiminnallinen opinnäytetyö, jossa toiminnallinen osuus toteutetaan kehittämistehtävässä.
Opinnäytetyössä havaittiin, että omien komponenttien tekeminen Unreal Engineen on aikaavievää ja monimutkaista, mutta teorian ymmärtämisen jälkeen mahdollista. Testatessa omia komponentteja noin 30-60 millisekunnin viiveellä huomattiin niiden toimivan normaalisti. Testatessa 100-200 millisekunnin viiveellä huomattiin Character-luokkaan pohjautuvan hahmon toimivan normaalisti, mutta pawn-luokkaan pohjautuva hahmo tuotti ongelmia. Vertailussa kaupallisten tuotteiden kanssa havaittiin niiden olevan parempia, mutta varjopuoleksi muodostui hinta.
Opinnäytetyöstä saadut tulokset merkitsivät, että moninpelin tekemiseen meni aikaa reilusti enemmän, jos tekee itse networking-komponentit. Opinnäytetyölle asetettuihin tavoitteisiin päästiin, eli saatiin luotua toimiva moninpeli ilman ulkoisia komponentteja. Selville saatiin myös se, että omien komponenttien kehittämisen hitauden kannalta tapauskohtaisesti kannattaa harkita kaupallisten komponenttien käyttö.
