Suorituskykyinen toteutus avoimen maailman suoratoistajalle
Ritalahti, Joonatan (2021)
Ritalahti, Joonatan
2021
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-2021120123021
https://urn.fi/URN:NBN:fi:amk-2021120123021
Tiivistelmä
Insinöörityön tavoitteena oli tutkia avoimen maailman pelien aikaisempia toteutuksia ja toteutustapoja ja toteuttaa avoimen maailman suoratoistaja Unity-pelimoottorilla.
Työssä käytiin läpi suuria avoimen maailman pelejä ja aikaisimpia avoimen maailman pelejä. Kun aletaan suunnittelemaan avoimen maailman peliä, on tärkeää päättää maailman koko. Avoimen maailman pelin rakentamisen eri vaiheet ovat suunnittelu, rakentaminen ja testaus. Insinöörityössä perehdyttiin tärkeisiin komponentteihin, joita avoimen maailman pelin rakentamisessa tarvitsee, kuten LoadSceneAsync ja Prefab.
Insinöörityössä tutkittiin kahta esimerkkiä avoimen maailman toteutuksista Unity-pelimoottorilla. Työssä tutkittiin lähellä-lataus-suoratoiston ja ovi-portaalisuoratoiston eroja ja päätettiin että tässä työssä käytetään lähellä-lataus-suoratoistoa. Työssä käytettiin apuna artikkeleita avoimen maailman suoratoistajan rakentamisessa.
Avoimen maailman suoratoistaja toteutettiin kahdella eri tavalla, objektisuoratoistolla ja kohtaussuoratoistolla, ja niiden tuottamia tuloksia vertailtiin. Suorituskyvyn testaamiseen käytettiin Unity Profileria. Objektisuoratoistossa pelin aloituksen lataaminen oli huomattavasti nopeampaa kuin kohtaussuoratoistossa, mutta kohtaussuoratoistossa alueen lataaminen siirryttäessä oli nopeampaa.
Työssä todettiin, että objektisuoratoisto tuottaa vähemmän koodia ja se on helppolukuisempaa kuin kohtaussuoratoiston koodi. Objektisuoratoistossa kohtauksia ei tarvitse päivittää, joten objektisuoratoisto on hyvä ratkaisu, jos karttaan tulee suuria muutoksia. Kohtaussuoratoistossa alueet pitää päivittää kohtauksissa.
Työssä käytiin läpi suuria avoimen maailman pelejä ja aikaisimpia avoimen maailman pelejä. Kun aletaan suunnittelemaan avoimen maailman peliä, on tärkeää päättää maailman koko. Avoimen maailman pelin rakentamisen eri vaiheet ovat suunnittelu, rakentaminen ja testaus. Insinöörityössä perehdyttiin tärkeisiin komponentteihin, joita avoimen maailman pelin rakentamisessa tarvitsee, kuten LoadSceneAsync ja Prefab.
Insinöörityössä tutkittiin kahta esimerkkiä avoimen maailman toteutuksista Unity-pelimoottorilla. Työssä tutkittiin lähellä-lataus-suoratoiston ja ovi-portaalisuoratoiston eroja ja päätettiin että tässä työssä käytetään lähellä-lataus-suoratoistoa. Työssä käytettiin apuna artikkeleita avoimen maailman suoratoistajan rakentamisessa.
Avoimen maailman suoratoistaja toteutettiin kahdella eri tavalla, objektisuoratoistolla ja kohtaussuoratoistolla, ja niiden tuottamia tuloksia vertailtiin. Suorituskyvyn testaamiseen käytettiin Unity Profileria. Objektisuoratoistossa pelin aloituksen lataaminen oli huomattavasti nopeampaa kuin kohtaussuoratoistossa, mutta kohtaussuoratoistossa alueen lataaminen siirryttäessä oli nopeampaa.
Työssä todettiin, että objektisuoratoisto tuottaa vähemmän koodia ja se on helppolukuisempaa kuin kohtaussuoratoiston koodi. Objektisuoratoistossa kohtauksia ei tarvitse päivittää, joten objektisuoratoisto on hyvä ratkaisu, jos karttaan tulee suuria muutoksia. Kohtaussuoratoistossa alueet pitää päivittää kohtauksissa.
