Moninpeliratkaisu Unity-pelimoottorille
Mero, Joachim (2020)
Mero, Joachim
2020
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-202005077835
https://urn.fi/URN:NBN:fi:amk-202005077835
Tiivistelmä
Insinöörityön tarkoituksena oli moninpeliratkaisun kehittäminen Unity-pelimoottorille. Insinöörityössä selvitettiin, miten moninpeliratkaisuja on toteutettu eri peleissä, ja kehitettiin yksinkertainen moninpeliratkaisu Unity-pelimoottorilla kehitettäville peleille. Moninpeliratkaisun tuli olla helppokäyttöinen ja geneerinen.
Insinöörityössä tutkittiin markkinoilla olevia moninpeliratkaisuja ja eri pelien omia moninpeliratkaisuja. Tämän tutkimuksen pohjalta luotiin vaatimukset kehitettävälle moninpeliratkaisulle ja valittiin käytettävät teknologiat. Moninpeliratkaisua varten kehitettiin palvelin ja Unity-liitännäinen. Palvelin kehitettiin Windows Sockets -ohjelmointirajapintaa hyödyntäen. Palvelinta ja Unity-liitännäistä kehitettiin samanaikaisesti iteratiivisesti, lisäämällä toiminnallisuuksia yksi kerrallaan. Näin moninpeliratkaisu pidettiin koko ajan toimintakunnossa. Lopuksi moninpeliratkaisua testattiin kehittämällä moninpeli Unity-pelimoottorilla.
Kehitetyn moninpeliratkaisun avulla voitiin Unity-pelimoottorilla kehitetyssä pelissä pelata verkossa muiden asiakasohjelmien kanssa. Asiakasohjelmilla pystyttiin ottamaan yhteys moninpeliratkaisun palvelimeen. Palvelimelle asiakasohjelmat pystyivät luomaan huoneita, joihin muiden asiakasohjelmien oli mahdollista liittyä. Palvelimelta voitiin myös pyytää listaus siellä aktiivisina olevista huoneista. Huoneissa asiakasohjelmien pelihahmot pystyivät liikkumaan reaaliajassa muiden asiakasohjelmien kanssa.
Moninpeliratkaisusta saatiin vaatimusten mukainen. Kuitenkin todettiin sen tarvitsevan paljon muutoksia tullakseen valmiiksi tuotteeksi. Insinöörityössä todettiin, että monimutkaisia järjestelmiä kehittäessä suunnittelu on tärkein vaihe. Todettiin myös, että moninpeliratkaisun suunnitteluvaiheessa olisi hyvä tietää, minkälainen peli sitä tulee hyödyntämään.
Insinöörityössä tutkittiin markkinoilla olevia moninpeliratkaisuja ja eri pelien omia moninpeliratkaisuja. Tämän tutkimuksen pohjalta luotiin vaatimukset kehitettävälle moninpeliratkaisulle ja valittiin käytettävät teknologiat. Moninpeliratkaisua varten kehitettiin palvelin ja Unity-liitännäinen. Palvelin kehitettiin Windows Sockets -ohjelmointirajapintaa hyödyntäen. Palvelinta ja Unity-liitännäistä kehitettiin samanaikaisesti iteratiivisesti, lisäämällä toiminnallisuuksia yksi kerrallaan. Näin moninpeliratkaisu pidettiin koko ajan toimintakunnossa. Lopuksi moninpeliratkaisua testattiin kehittämällä moninpeli Unity-pelimoottorilla.
Kehitetyn moninpeliratkaisun avulla voitiin Unity-pelimoottorilla kehitetyssä pelissä pelata verkossa muiden asiakasohjelmien kanssa. Asiakasohjelmilla pystyttiin ottamaan yhteys moninpeliratkaisun palvelimeen. Palvelimelle asiakasohjelmat pystyivät luomaan huoneita, joihin muiden asiakasohjelmien oli mahdollista liittyä. Palvelimelta voitiin myös pyytää listaus siellä aktiivisina olevista huoneista. Huoneissa asiakasohjelmien pelihahmot pystyivät liikkumaan reaaliajassa muiden asiakasohjelmien kanssa.
Moninpeliratkaisusta saatiin vaatimusten mukainen. Kuitenkin todettiin sen tarvitsevan paljon muutoksia tullakseen valmiiksi tuotteeksi. Insinöörityössä todettiin, että monimutkaisia järjestelmiä kehittäessä suunnittelu on tärkein vaihe. Todettiin myös, että moninpeliratkaisun suunnitteluvaiheessa olisi hyvä tietää, minkälainen peli sitä tulee hyödyntämään.
