Dataorientoitunut suunnittelu ja funktionaalinen ohjelmointi Unityssä
Laine, Janne; Ylisiurua, Juho (2017)
Laine, Janne
Ylisiurua, Juho
Kajaanin ammattikorkeakoulu
2017
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2017052610345
https://urn.fi/URN:NBN:fi:amk-2017052610345
Tiivistelmä
Unity-kehitysympäristö on noussut viime aikoina yhdeksi suositummista kehitysvälineistä pelialalla. Pelimoottorin vanhuus ja huonot arkkitehtuuriset ratkaisut ovat kuitenkin aiheuttaneet tilanteen, että Unity ei perustasoltaan ole enää riittävän hyvä pelien kehittämiseen. Tämän opinnäytetyön tavoitteena oli tutkia parempia tapoja ohjelmoida pelejä, kuin nykyaikana on totuttu käyttämään ja soveltaa niiden käyttöä Unityssä ja lisäksi työn on tarkoitus toimia ohjeena ohjelmoijalle, joka haluaa tietoa vaihtoehtoisista ohjelmointitavoista Unityssä.
Tietoperusta koostuu pelikehinkehityksen nykytilasta, painottaen Unityllä kehittämistä, ja kahden ohjelmointimallin, dataorientoituneen suunnittelun ja funktionaalisen ohjelmoinnin, esittelystä. Tietoperustan pohjalta työssä luotiin esimerkki pelin arkkitehtuurista, jossa käytetiin esiteltyjä ohjelmointimalleja.
Teoriaosuus aloitettiin selvittämällä mitä haasteita pelinkehitys nykyään sisältää, mitä ongelmia nykyisissä ohjelmointikäytänteissä on ja mitä niissä pitäisi korjata. Ongelmien ratkaisuun käytettävistä ohjelmointimalleista esitellään teoria ja näytetään käyttökohteita kuvallisin esimerkein. Tämän lisäksi molempien mallien hyvät ja huonot puolet käsitellään. Työn viimeisessä osiossa testataan käytännössä esiteltyjen ohjelmointitapojen toimivuutta Unity-kehitysympäristössä. Opinnäytetyössä esitellään ohjelmoitua viitekehystä koodiesimerkein ja kerrotaan mitä vaikutuksia Unityn arkkitehtuurin ohittamisessa omalla viitekehyksellä on.
Opinnäytetyössä selviää, että uusien ohjelmointikonseptien omaksuminen on haastavaa ja niiden toteuttaminen käytännössä jo olemassa olevan arkkitehtuurin päällä vaikeaa. Oman viitekehyksen kehitys on kuitenkin suotavaa, sillä se parantaa koodin rakennetta, tekee koodipohjasta modulaarisemman ja toimii tehokkaammin, kuin pelkästään Unityn omien työkalujen käyttö. Opinnäytetyössä esiteltävää teoriaa ja koodiesimerkkejä on mahdollista käyttää oman viitekehyksen luomiseen Unityssä.
Tietoperusta koostuu pelikehinkehityksen nykytilasta, painottaen Unityllä kehittämistä, ja kahden ohjelmointimallin, dataorientoituneen suunnittelun ja funktionaalisen ohjelmoinnin, esittelystä. Tietoperustan pohjalta työssä luotiin esimerkki pelin arkkitehtuurista, jossa käytetiin esiteltyjä ohjelmointimalleja.
Teoriaosuus aloitettiin selvittämällä mitä haasteita pelinkehitys nykyään sisältää, mitä ongelmia nykyisissä ohjelmointikäytänteissä on ja mitä niissä pitäisi korjata. Ongelmien ratkaisuun käytettävistä ohjelmointimalleista esitellään teoria ja näytetään käyttökohteita kuvallisin esimerkein. Tämän lisäksi molempien mallien hyvät ja huonot puolet käsitellään. Työn viimeisessä osiossa testataan käytännössä esiteltyjen ohjelmointitapojen toimivuutta Unity-kehitysympäristössä. Opinnäytetyössä esitellään ohjelmoitua viitekehystä koodiesimerkein ja kerrotaan mitä vaikutuksia Unityn arkkitehtuurin ohittamisessa omalla viitekehyksellä on.
Opinnäytetyössä selviää, että uusien ohjelmointikonseptien omaksuminen on haastavaa ja niiden toteuttaminen käytännössä jo olemassa olevan arkkitehtuurin päällä vaikeaa. Oman viitekehyksen kehitys on kuitenkin suotavaa, sillä se parantaa koodin rakennetta, tekee koodipohjasta modulaarisemman ja toimii tehokkaammin, kuin pelkästään Unityn omien työkalujen käyttö. Opinnäytetyössä esiteltävää teoriaa ja koodiesimerkkejä on mahdollista käyttää oman viitekehyksen luomiseen Unityssä.