Suorituskyky ja Unreal Engine 4
Mäntylä, Olli (2016)
Mäntylä, Olli
2016
Tietotekniikan koulutusohjelma
Tieto- ja sähkötekniikan tiedekunta - Faculty of Computing and Electrical Engineering
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2016-12-07
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tty-201611214733
https://urn.fi/URN:NBN:fi:tty-201611214733
Tiivistelmä
Nykyaikana pelinkehityksessä voidaan hyödyntää usein erilaisia pelimoottoreita. Pelimoottorien tarkoituksena on mahdollistaa peleissä käytettyjen ohjelmakomponenttien uudelleenkäyttö uutta peliä luodessa. Koska pelin kehitys tapahtuu pelimoottorin valmiita komponentteja ja mahdollisia työkaluja hyödyntäen, vaikuttavat pelimoottorin sisältämät ominaisuudet usein paljon pelinkehittäjän mahdollisuuksiin.
Pelinkehityksessä suorituskyky on usein keskeisessä asemassa. Jo pelin kehitysvaiheessa on otettava huomioon suunniteltu kohdealusta sekä laitteistovaatimukset, jotta pelistä ei tule missään vaiheessa laskennan kannalta liian raskasta. Myös pelimoottorin valinnalla on kuormittavuuden kannalta merkitystä. Pelimoottorin tarjoamat ominaisuudet voivat myös osaltaan helpottaa optimointia ja auttaa löytämään sopivan kuormitustason eri kohdealustoille. Toisaalta ominaisuuksien puute voi tehdä optimoinnista tai erilaisten kohdealustojen tukemisesta hankalaa.
Tässä diplomityössä perehdytään Unreal Engine 4 -pelimoottoriin sekä sen tarjoamiin ominaisuuksiin ja pelinkehitystyökaluihin. Tarkoituksena on tutustua pääasiassa pelimoottorin sisältämiin profilointityökaluihin sekä tutkia pelimoottorin tarjoamia mahdollisuuksia pelien optimointiin. Lisäksi profilointityökaluja ja optimointikeinoja hyödynnetään optimoimalla työhön valittu esimerkkiprojekti testilaitteistoilla paremmin suoriutuvaksi. Esimerkkiprojektin optimointi antaa mahdollisuuden testata profilointia ja optimointia pelimoottorin työkaluilla käytännössä. Samassa yhteydessä käsitellään myös joitakin profilointiin liittyviä käytännön ongelmia, kuten suorituskertojen toistettavuutta.
Esimerkkiprojektin tapauksessa suoriutumiselle asetetut tavoitteet olivat saavutettavissa yksinkertaisten muutosten kautta. Tehdyt muutokset eivät ole kuitenkaan ainoat mahdolliset optimointitavat, sillä tilanteisiin voidaan usein soveltaa erilaisia ratkaisuja. Pelimoottorin tarjoamat työkalut vaikuttavat profilointiin ja optimointiin sopivilta ja monipuolisilta.
Pelinkehityksessä suorituskyky on usein keskeisessä asemassa. Jo pelin kehitysvaiheessa on otettava huomioon suunniteltu kohdealusta sekä laitteistovaatimukset, jotta pelistä ei tule missään vaiheessa laskennan kannalta liian raskasta. Myös pelimoottorin valinnalla on kuormittavuuden kannalta merkitystä. Pelimoottorin tarjoamat ominaisuudet voivat myös osaltaan helpottaa optimointia ja auttaa löytämään sopivan kuormitustason eri kohdealustoille. Toisaalta ominaisuuksien puute voi tehdä optimoinnista tai erilaisten kohdealustojen tukemisesta hankalaa.
Tässä diplomityössä perehdytään Unreal Engine 4 -pelimoottoriin sekä sen tarjoamiin ominaisuuksiin ja pelinkehitystyökaluihin. Tarkoituksena on tutustua pääasiassa pelimoottorin sisältämiin profilointityökaluihin sekä tutkia pelimoottorin tarjoamia mahdollisuuksia pelien optimointiin. Lisäksi profilointityökaluja ja optimointikeinoja hyödynnetään optimoimalla työhön valittu esimerkkiprojekti testilaitteistoilla paremmin suoriutuvaksi. Esimerkkiprojektin optimointi antaa mahdollisuuden testata profilointia ja optimointia pelimoottorin työkaluilla käytännössä. Samassa yhteydessä käsitellään myös joitakin profilointiin liittyviä käytännön ongelmia, kuten suorituskertojen toistettavuutta.
Esimerkkiprojektin tapauksessa suoriutumiselle asetetut tavoitteet olivat saavutettavissa yksinkertaisten muutosten kautta. Tehdyt muutokset eivät ole kuitenkaan ainoat mahdolliset optimointitavat, sillä tilanteisiin voidaan usein soveltaa erilaisia ratkaisuja. Pelimoottorin tarjoamat työkalut vaikuttavat profilointiin ja optimointiin sopivilta ja monipuolisilta.