OpenXR-sovelluskehitys Unity-pelimoottorilla
Kallio, Janne (2021)
Kallio, Janne
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-202104276079
https://urn.fi/URN:NBN:fi:amk-202104276079
Tiivistelmä
VR-sovellukset ovat lisääntyneet huimaa vauhtia ja niiden käyttö on yleistynyt sekä liike-elämässä että viihdetuotannossa. Erilaiset teknologiat ovat samalla kehittyneet entistä käyttäjäystävällisemmiksi ja ovat myös entistä helpommin saatavilla kuluttajille. Erityisesti visuaalinen ohjelmointi pelien kehittämisessä on alkanut yleistyä samalla kun videopelaamisen suosio kasvaa.
Tehtävänä oli tuottaa pelattava demo, jonka avulla tutkittiin OpenXR-standardin ja Unity-pelimoottorin soveltuvuutta sovelluskehityksen työvälineiksi. Lisäksi tutkittiin visuaalisen ohjelmoinnin Bolt-työkalua. Näiden soveltuvuutta havainnoitiin kehitystyön aikana ja lisäksi demon testasivat testipelaajat arvioiden käyttäjäkokemusta.
Toteutustavaksi valikoitui pakohuoneteemainen peli VR-ympäristössä, jossa pelin kulku perustui pelaajan ratkaisemiin pulmiin. Peli sijoitettiin virtuaaliseen poliisiasemaympäristöön. Yksittäisissä pulmissa tutkittiin pelimoottorissa olevan fysiikkamoottorin rajoitteita sekä visuaalisen ohjelmoinnin tilakoneiden ominaisuuksia. Demon testausta varten suunniteltiin loppukäyttäjätestaus, jonka aikana pelaajien pelikertoja havainnoitiin ja aikataulutettiin. Lisäksi testipelaajat vastasivat käyttäjäkokemusta käsitteleviin kysymyksiin. Näiden pohjalta kyettiin arvioimaan demon onnistumista käyttäjäkokemuksen kannalta.
Kehitystyön tuloksena saatiin havaintoja OpenXR-standardin toimivuudesta, mikä osoittautui virheettömäksi ja työhön soveltuvaksi. Myös Unityn kyky toimia pelimoottorina osoittautui hyväksi ja käyttöliittymä koettiin selkeäksi. Visuaalisen käyttöliittymän ohjelmointityökalu Bolt poisti tarpeen perinteiselle aikaa vaativalle syntaksin opiskelulle, joten pääpaino pysyi pelin kehittämisessä. Erityisesti vikojen etsimiseen suunnitellut ominaisuudet koettiin hyödyllisiksi. Käyttäjäkokemuksen osalta pelin suunnittelu onnistui halutulla tavalla, eikä VR-laitteiden käyttö aiheuttanut ongelmia. Testipelaajilta saatu data oli arvokas tiedonlähde ja vahvisti käyttäjäkokemusta tutkivien menetelmien toimivuutta hyvän pelikokemuksen suunnittelussa.
Tehtävänä oli tuottaa pelattava demo, jonka avulla tutkittiin OpenXR-standardin ja Unity-pelimoottorin soveltuvuutta sovelluskehityksen työvälineiksi. Lisäksi tutkittiin visuaalisen ohjelmoinnin Bolt-työkalua. Näiden soveltuvuutta havainnoitiin kehitystyön aikana ja lisäksi demon testasivat testipelaajat arvioiden käyttäjäkokemusta.
Toteutustavaksi valikoitui pakohuoneteemainen peli VR-ympäristössä, jossa pelin kulku perustui pelaajan ratkaisemiin pulmiin. Peli sijoitettiin virtuaaliseen poliisiasemaympäristöön. Yksittäisissä pulmissa tutkittiin pelimoottorissa olevan fysiikkamoottorin rajoitteita sekä visuaalisen ohjelmoinnin tilakoneiden ominaisuuksia. Demon testausta varten suunniteltiin loppukäyttäjätestaus, jonka aikana pelaajien pelikertoja havainnoitiin ja aikataulutettiin. Lisäksi testipelaajat vastasivat käyttäjäkokemusta käsitteleviin kysymyksiin. Näiden pohjalta kyettiin arvioimaan demon onnistumista käyttäjäkokemuksen kannalta.
Kehitystyön tuloksena saatiin havaintoja OpenXR-standardin toimivuudesta, mikä osoittautui virheettömäksi ja työhön soveltuvaksi. Myös Unityn kyky toimia pelimoottorina osoittautui hyväksi ja käyttöliittymä koettiin selkeäksi. Visuaalisen käyttöliittymän ohjelmointityökalu Bolt poisti tarpeen perinteiselle aikaa vaativalle syntaksin opiskelulle, joten pääpaino pysyi pelin kehittämisessä. Erityisesti vikojen etsimiseen suunnitellut ominaisuudet koettiin hyödyllisiksi. Käyttäjäkokemuksen osalta pelin suunnittelu onnistui halutulla tavalla, eikä VR-laitteiden käyttö aiheuttanut ongelmia. Testipelaajilta saatu data oli arvokas tiedonlähde ja vahvisti käyttäjäkokemusta tutkivien menetelmien toimivuutta hyvän pelikokemuksen suunnittelussa.