Polunpiirtojärjestelmän toteutus mobiilipeliin Unreal Engine 5 -pelimoottorilla
Väyrynen, Joni (2025)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2025053018695
https://urn.fi/URN:NBN:fi:amk-2025053018695
Tiivistelmä
Opinnäytetyön tavoitteena oli kehittää tehokas kosketuspohjainen polunpiirtojärjestelmä mobiilipeleihin käyttäen Unreal Engine 5 -pelimoottoria. Tutkimuksessa selvitettiin erilaisten polunpiirtotapojen suorituskykyeroja, erilaisten visualisointitapojen vaikutusta käytettävyyteen sekä polun tarkkuuden vaikutusta suorituskykyyn ja pelattavuuteen. Opinnäytetyön aiheena on vähän dokumentoitu pelien ohjausmekanismi, jonka toteutuksesta on saatavilla vain rajoitetusti tietoa.
Opinnäytetyön teoreettisessa osuudessa käsitellään mobiilipelien kehityksen kannalta keskeiset käsitteet ja teknologiat. Tietopohja koostuu mobiilipelien ohjausjärjestelmistä, Android-kehityksestä, kosketuspohjaisista käyttöliittymistä sekä Unreal Enginen ominaisuuksista ja optimointimenetelmistä. Opinnäytetyö on tyypiltään toiminnallinen kehitysprojekti, josta kerättiin tietoa ja tuloksia suorituskykymittauksilla ja käyttäjätestauksella. Aineistoa analysoitiin vertailemalla piirtokutsujen määrää, CPU:n ja GPU:n käyttöä sekä ruudunpäivitysnopeutta eri toteutustapojen välillä.
Tutkimuksen tuloksissa havaittiin merkittäviä suorituskykyeroja eri visualisointitapojen välillä. Spline Mesh -komponenteilla toteutettu visualisointi osoittautui raskaimmaksi piirtokutsujen määrällä mitattuna, kun taas Procedural Mesh -komponentilla toteutettu visualisointi oli suorituskyvyn osalta tehokkain. Niagara-partikkelisysteemillä toteutettu polun visualisointi tarjosi visuaalisesti miellyttävimmän lopputuloksen käyttäjätestauksen perusteella, mutta kuormitti CPU:ta merkittävästi pitkillä poluilla. Johtopäätöksenä voidaan todeta, että polunpiirtojärjestelmän suunnittelussa on tasapainoteltava visuaalisen laadun ja suorituskyvyn välillä. Polun tarkkuuden dynaaminen mukautuminen laitteen suorituskyvyn perusteella osoittautui tärkeäksi ominaisuudeksi mobiiliympäristössä. The goal of this thesis was to develop an efficient touch-based path drawing system for mobile games using Unreal Engine 5. The research examined performance differences between various path drawing methods, the effect of different visualization techniques on usability, and how path accuracy impacts performance and gameplay. The thesis focused on a control mechanism that has limited documentation, especially regarding its implementation in Unreal Engine 5.
The theoretical section of the thesis covers key concepts and technologies relevant to mobile game development. The knowledge base consists of mobile game control systems, Android development, touch-based user interfaces, and Unreal Engine features and optimization methods. This thesis is a functional development project, with data collected through performance measurements and user testing. The data was analyzed by comparing the number of draw calls, CPU and GPU usage, and frame rates between different implementation methods.
The research revealed significant performance differences between various visualization methods. Visualization implemented with Spline Mesh components proved to be the most resource-intensive when measured by the number of draw calls, while visualization using Procedural Mesh components was the most efficient in terms of performance. Visualization created with the Niagara particle system offered the most visually pleasing result according to user testing but significantly burdened the CPU on longer paths. As a conclusion, designing a path drawing system requires balancing visual quality and performance. Dynamic adaptation of path accuracy based on device performance proved to be an important feature in the mobile environment.
Opinnäytetyön teoreettisessa osuudessa käsitellään mobiilipelien kehityksen kannalta keskeiset käsitteet ja teknologiat. Tietopohja koostuu mobiilipelien ohjausjärjestelmistä, Android-kehityksestä, kosketuspohjaisista käyttöliittymistä sekä Unreal Enginen ominaisuuksista ja optimointimenetelmistä. Opinnäytetyö on tyypiltään toiminnallinen kehitysprojekti, josta kerättiin tietoa ja tuloksia suorituskykymittauksilla ja käyttäjätestauksella. Aineistoa analysoitiin vertailemalla piirtokutsujen määrää, CPU:n ja GPU:n käyttöä sekä ruudunpäivitysnopeutta eri toteutustapojen välillä.
Tutkimuksen tuloksissa havaittiin merkittäviä suorituskykyeroja eri visualisointitapojen välillä. Spline Mesh -komponenteilla toteutettu visualisointi osoittautui raskaimmaksi piirtokutsujen määrällä mitattuna, kun taas Procedural Mesh -komponentilla toteutettu visualisointi oli suorituskyvyn osalta tehokkain. Niagara-partikkelisysteemillä toteutettu polun visualisointi tarjosi visuaalisesti miellyttävimmän lopputuloksen käyttäjätestauksen perusteella, mutta kuormitti CPU:ta merkittävästi pitkillä poluilla. Johtopäätöksenä voidaan todeta, että polunpiirtojärjestelmän suunnittelussa on tasapainoteltava visuaalisen laadun ja suorituskyvyn välillä. Polun tarkkuuden dynaaminen mukautuminen laitteen suorituskyvyn perusteella osoittautui tärkeäksi ominaisuudeksi mobiiliympäristössä.
The theoretical section of the thesis covers key concepts and technologies relevant to mobile game development. The knowledge base consists of mobile game control systems, Android development, touch-based user interfaces, and Unreal Engine features and optimization methods. This thesis is a functional development project, with data collected through performance measurements and user testing. The data was analyzed by comparing the number of draw calls, CPU and GPU usage, and frame rates between different implementation methods.
The research revealed significant performance differences between various visualization methods. Visualization implemented with Spline Mesh components proved to be the most resource-intensive when measured by the number of draw calls, while visualization using Procedural Mesh components was the most efficient in terms of performance. Visualization created with the Niagara particle system offered the most visually pleasing result according to user testing but significantly burdened the CPU on longer paths. As a conclusion, designing a path drawing system requires balancing visual quality and performance. Dynamic adaptation of path accuracy based on device performance proved to be an important feature in the mobile environment.