Unreal Engine 5 UI -widgettien toiminta moninpeliympäristössä
Turunen, Markus (2026)
Turunen, Markus
2026
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2026050810517
https://urn.fi/URN:NBN:fi:amk-2026050810517
Tiivistelmä
Digitaalisten pelien käyttöliittymät ovat kehittyneet keskeiseksi osaksi pelikokemusta erityisesti moninpeleissä, joissa käyttöliittymä toimii rajapintana pelaajan, pelijärjestelmän ja muiden pelaajien välillä. Tässä opinnäytetyössä tarkasteltiin käyttöliittymien toteutusta Unreal Engine 5 -pelimoottorissa keskittyen erityisesti moninpelitoiminnallisuuksiin ja UI-widgettien käyttöön. Työn tavoitteena oli selvittää, miten käyttöliittymät voidaan toteuttaa teknisesti oikein moninpelissä siten, että ne toimivat luotettavasti ja yhdenmukaisesti kaikilla pelaajilla.
Työ toteutettiin osana Varattu Valo Games -yrityksen kehittämää Thalassophobia peliä Unreal Engine 5 -ympäristössä. Tutkimusmenetelmänä käytettiin käytännön kehitystyötä, jossa käyttöliittymäratkaisuja suunniteltiin, toteutettiin ja testattiin moninpelikontekstissa. Kehitystyössä perehdyttiin erityisesti Unreal Enginen verkkoarkkitehtuuriin, replikaatioon sekä siihen, miten UI-widgetit integroidaan osaksi pelilogiikkaa PlayerControllerin, GameStaten ja PlayerStaten kautta. Ratkaisuja testattiin peer-to-peer-mallissa kahden pelaajan ympäristössä.
Tulosten perusteella havaittiin, että käyttöliittymä ei voi toimia jaettavan pelidatan säilytyspaikkana, koska UI-widgetit toimivat ainoastaan paikallisesti eivätkä replikoidu verkon yli. Virheellinen datan sijoittaminen wid-getteihin johti epäyhtenäiseen pelitilaan, jossa muutokset eivät päivittyneet kaikille pelaajille. Toimivaksi ratkaisuksi todettiin arkkitehtuuri, jossa kaikki jaettava data sijoitettiin replikoitaviin luokkiin ja käyttöliittymä toimi pelkästään tiedon esityskerroksena. Lisäksi havaittiin, että PlayerController toimii keskeisenä välittäjänä käyttöliittymän ja palvelimen välillä.
Työn perusteella voidaan todeta, että moninpelin käyttöliittymien toimivuus perustuu selkeään työnjakoon käyttöliittymän ja pelilogiikan välillä. Oikein toteutettuna käyttöliittymä tukee pelin käytettävyyttä, immersiota ja moninpelin yhdenmukaisuutta. Tulokset ovat yleistettävissä Unreal Engine -pohjaiseen pelikehitykseen ja tarjoavat käytännön ohjeita UI-widgettien toteuttamiseen moninpelissä.
Työ toteutettiin osana Varattu Valo Games -yrityksen kehittämää Thalassophobia peliä Unreal Engine 5 -ympäristössä. Tutkimusmenetelmänä käytettiin käytännön kehitystyötä, jossa käyttöliittymäratkaisuja suunniteltiin, toteutettiin ja testattiin moninpelikontekstissa. Kehitystyössä perehdyttiin erityisesti Unreal Enginen verkkoarkkitehtuuriin, replikaatioon sekä siihen, miten UI-widgetit integroidaan osaksi pelilogiikkaa PlayerControllerin, GameStaten ja PlayerStaten kautta. Ratkaisuja testattiin peer-to-peer-mallissa kahden pelaajan ympäristössä.
Tulosten perusteella havaittiin, että käyttöliittymä ei voi toimia jaettavan pelidatan säilytyspaikkana, koska UI-widgetit toimivat ainoastaan paikallisesti eivätkä replikoidu verkon yli. Virheellinen datan sijoittaminen wid-getteihin johti epäyhtenäiseen pelitilaan, jossa muutokset eivät päivittyneet kaikille pelaajille. Toimivaksi ratkaisuksi todettiin arkkitehtuuri, jossa kaikki jaettava data sijoitettiin replikoitaviin luokkiin ja käyttöliittymä toimi pelkästään tiedon esityskerroksena. Lisäksi havaittiin, että PlayerController toimii keskeisenä välittäjänä käyttöliittymän ja palvelimen välillä.
Työn perusteella voidaan todeta, että moninpelin käyttöliittymien toimivuus perustuu selkeään työnjakoon käyttöliittymän ja pelilogiikan välillä. Oikein toteutettuna käyttöliittymä tukee pelin käytettävyyttä, immersiota ja moninpelin yhdenmukaisuutta. Tulokset ovat yleistettävissä Unreal Engine -pohjaiseen pelikehitykseen ja tarjoavat käytännön ohjeita UI-widgettien toteuttamiseen moninpelissä.
