Unreal Engine ja mobiilipelin kehittäminen
Alavuotunki, Maiju (2024)
Alavuotunki, Maiju
2024
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-202402042473
https://urn.fi/URN:NBN:fi:amk-202402042473
Tiivistelmä
Opinnäytetyön aiheena oli selvittää Unreal Engine 5 -pelimoottorilla kehitettyjen mobiilipelien profilointia. Tämä opinnäytetyö toteutettiin Critical Forcen toimeksiantona. Critical Force on kajaanilainen pelistudio, joka perustettiin vuonna 2012. Critical Force on kehittänyt Critical Ops -mobiilipelin, joka kehitettiin Unity-pelimoottoria käyttäen. Toimeksiantajaa kiinnosti, millaisia ovat laitteiden suorituskykyeroavaisuudet ja kuinka peleissä käytettävät eri toiminnot vaikuttavat suorituskykyyn.
Aineistona käytettiin Unreal Enginen dokumentaatiota ja webinaareja sekä muita internetistä löytyviä aineistoja. Opinnäytetyön teoriaosuudessa tutustuttiin mobiilipeleihin ja Unreal Engine 5 -pelimoottoriin. Työssä käytiin myös läpi joitain mobiilipelikehitykseen liittyviä keskeisiä huomioita sekä joitain yleisiä optimointisuosituksia. Käytännön osuudessa tehtiin erilaisia testejä, joita profiloimalla kartoitettiin suorituskykyä sekä ruutuajan muutosta. Opinnäytetyön käytännön osuudessa saadut tulokset osoittivat eri laitteiden suorituskykyeroavaisuuksia. Tuloksista voitiin myös nähdä eri toimintojen vaikutus pelin ruutuaikaan.
Testeissä saadut tulokset osoittivat eri toimintojen vaikutusta ruutuaikaan. Objekteja lisättäessä spawn-funktion aika kasvoi testilaitteilla melko tasaisesti. Kolmioiden ja piirtokutsujen testeissä todennettiin liiallisten kolmioiden ja piirtokutsujen hidastavan ruutuaikaa huomattavasti. Testilaitteiden välillä oli eroja ruutuajan vaikutuksessa sekä piirtämien kolmioiden ja piirtokutsujen määrässä. Jälkikäsittelyefektitesteissä ei havaittu mainittavia suorituskykyeroja. Forward- ja deferred-renderöintien testauksessa voitiin havaita deferred-renderöinnillä olevan alempi ruutuaika kuin forward-renderöinnillä joillain testilaitteilla.
Työn tuloksista voitiin todeta eri laitteiden välillä olevia suorituskykyeroavaisuuksia. Testeissä voitiin havaita optimoinnin tärkeys, jotta mobiilipeli toimisi sulavasti laajemmalla valikoimalla mobiililaitteita. Työssä käytetyt testilaitteet käyttivät Adreno-grafiikkaprosessoria. Testejä ei saatu suoritettua eri grafiikkaprosessoreita käyttävillä testilaitteilla vastaan tulleiden ongelmien vuoksi, joita ei ollut ajan puitteissa mahdollista selvittää tähän opinnäytetyöhön.
Aineistona käytettiin Unreal Enginen dokumentaatiota ja webinaareja sekä muita internetistä löytyviä aineistoja. Opinnäytetyön teoriaosuudessa tutustuttiin mobiilipeleihin ja Unreal Engine 5 -pelimoottoriin. Työssä käytiin myös läpi joitain mobiilipelikehitykseen liittyviä keskeisiä huomioita sekä joitain yleisiä optimointisuosituksia. Käytännön osuudessa tehtiin erilaisia testejä, joita profiloimalla kartoitettiin suorituskykyä sekä ruutuajan muutosta. Opinnäytetyön käytännön osuudessa saadut tulokset osoittivat eri laitteiden suorituskykyeroavaisuuksia. Tuloksista voitiin myös nähdä eri toimintojen vaikutus pelin ruutuaikaan.
Testeissä saadut tulokset osoittivat eri toimintojen vaikutusta ruutuaikaan. Objekteja lisättäessä spawn-funktion aika kasvoi testilaitteilla melko tasaisesti. Kolmioiden ja piirtokutsujen testeissä todennettiin liiallisten kolmioiden ja piirtokutsujen hidastavan ruutuaikaa huomattavasti. Testilaitteiden välillä oli eroja ruutuajan vaikutuksessa sekä piirtämien kolmioiden ja piirtokutsujen määrässä. Jälkikäsittelyefektitesteissä ei havaittu mainittavia suorituskykyeroja. Forward- ja deferred-renderöintien testauksessa voitiin havaita deferred-renderöinnillä olevan alempi ruutuaika kuin forward-renderöinnillä joillain testilaitteilla.
Työn tuloksista voitiin todeta eri laitteiden välillä olevia suorituskykyeroavaisuuksia. Testeissä voitiin havaita optimoinnin tärkeys, jotta mobiilipeli toimisi sulavasti laajemmalla valikoimalla mobiililaitteita. Työssä käytetyt testilaitteet käyttivät Adreno-grafiikkaprosessoria. Testejä ei saatu suoritettua eri grafiikkaprosessoreita käyttävillä testilaitteilla vastaan tulleiden ongelmien vuoksi, joita ei ollut ajan puitteissa mahdollista selvittää tähän opinnäytetyöhön.