Käyttöliittymien optimointi Unity-pelimoottorilla
Tienhaara, Jere (2022)
Tienhaara, Jere
2022
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-2022052712534
https://urn.fi/URN:NBN:fi:amk-2022052712534
Tiivistelmä
Insinöörityössä tutkittiin videopelien käyttöliittymiä ja hyviä tapoja optimoida Unitylla kehitettyjä käyttöliittymäratkaisuja. Erityisesti tutkinnan kohteena oli suorituskyvyn optimointi suoritusajan ja muistiallokaation suhteen. Raportti myös taustoittaa käyttöliittymien merkitystä videopeleissä ja eri pelilajien ja -laitteiden vaikutusta käyttöliittymiin ja yleistä optimointia Unity-ympäristössä.
Insinöörityötä varten kehitettiin erilaisia testitapauksia, joista saatiin testituloksia analysoitavaksi Unityn sisäänrakennetun profilointityökalun avulla. Testituloksia kerättiin ajamalla testejä sekä mobiililaitteella että tietokoneella. Testitulosten perusteella pystyttiin tekemään johtopäätöksiä optimaalisista tavoista ratkoa erinäisiä käyttöliittymäohjelmoijan yleisiä ongelmia. Suuri osa havainnoista pätee myös muihin peliohjelmoinnin osa-alueisiin.
Tärkeimmiksi tekijöiksi testeissä osoittautuivat raskaiden operaatioiden välttäminen silmukoissa ja Unity UI -työkalun ominaisuuksien maltillinen käyttäminen. Insinöörityössä havaittiin lisäksi muita tekijöitä optimointiin liittyen suorituskyvyn lisäksi, kuten koodin helppolukuisuus ja optimoinnin tarpeen tulkitseminen.
Testitapausten lisäksi insinöörityössä tutkittiin hyväksi todettuja käytäntöjä ja optimointivinkkejä alan kirjallisuudesta. Esimerkiksi käyttöliittymien animointi on varsin raskasta Unityn animointijärjestelmää käyttäen ja sen tilalle suositeltiin Tween-kirjastojen käyttöä.
Insinöörityön lopputuloksena syntyi tietopaketti aloitteleville ja kokeneemmillekin Unity-ohjelmoijille, jotka haluavat kehittää optimoituja videopelejä ja käyttöliittymiä.
Insinöörityötä varten kehitettiin erilaisia testitapauksia, joista saatiin testituloksia analysoitavaksi Unityn sisäänrakennetun profilointityökalun avulla. Testituloksia kerättiin ajamalla testejä sekä mobiililaitteella että tietokoneella. Testitulosten perusteella pystyttiin tekemään johtopäätöksiä optimaalisista tavoista ratkoa erinäisiä käyttöliittymäohjelmoijan yleisiä ongelmia. Suuri osa havainnoista pätee myös muihin peliohjelmoinnin osa-alueisiin.
Tärkeimmiksi tekijöiksi testeissä osoittautuivat raskaiden operaatioiden välttäminen silmukoissa ja Unity UI -työkalun ominaisuuksien maltillinen käyttäminen. Insinöörityössä havaittiin lisäksi muita tekijöitä optimointiin liittyen suorituskyvyn lisäksi, kuten koodin helppolukuisuus ja optimoinnin tarpeen tulkitseminen.
Testitapausten lisäksi insinöörityössä tutkittiin hyväksi todettuja käytäntöjä ja optimointivinkkejä alan kirjallisuudesta. Esimerkiksi käyttöliittymien animointi on varsin raskasta Unityn animointijärjestelmää käyttäen ja sen tilalle suositeltiin Tween-kirjastojen käyttöä.
Insinöörityön lopputuloksena syntyi tietopaketti aloitteleville ja kokeneemmillekin Unity-ohjelmoijille, jotka haluavat kehittää optimoituja videopelejä ja käyttöliittymiä.