Maailman generointi ja elämän simulointi Unity Enginellä
Häkkinen, Joni; Lehestö, Arto (2013)
Häkkinen, Joni
Lehestö, Arto
Jyväskylän ammattikorkeakoulu
2013
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2013111817283
https://urn.fi/URN:NBN:fi:amk-2013111817283
Tiivistelmä
Työn tavoitteena oli tutkia ja toteuttaa maailman simulointia Unity-pelimoottorilla niin maaston kuin elämän osalta. Tämä sisälsi maastogeneraatiota noise-funktioiden avulla, maaston dynaamista teksturointia sekä eläinten simulointia laumoina sekä luonnon kiertokulun jäseninä. Tuotteeksi tehtävä työkalu on suunnattu pelinkehittäjille ja sillä voi generoida ja teksturoida maastoa nopeasti moniin eri käyttötarkoituksiin.
Toteutuksessa tutkittiin eri tapoja esittää suuri maailma samalla suorituskykyä tarkkaillen. Ensimmäinen versio, planeettamainen pyöreä muoto, osoittautui liian raskaaksi tavalliselle kotitietokoneelle. Tämän optimointi vaati monimutkaisia ratkaisuja ja vaikka suorituskyky parantuikin, se todettiin silti liian heikoksi. Uudeksi esitystavaksi valittiin perinteisempi karttamainen muoto, taso. Maastonmuotojen luominen ei tuottanut suuria ongelmia. Myös maailmat pysyivät suurina (n. 50km2) ilman suorituskykyongelmia. Maaston teksturointiin toteutettiin oma työkalu, joka ottaa huomioon niin maastonkorkeudet kuin sen kaltevuudet. Tämä kehittyi monipuoliseksi ja helppokäyttöiseksi, ja se sisällytettiin maailmanmuodostukseen.
Elämän simulointi oli projektin monimutkaisin vaihe, ja sitä pitikin yksinkertaistaa huomattavasti, jotta projekti valmistuisi suunnitellun ajan sisällä. Eläimen luonti sekä tämän laumakäyttäytyminen ja saalistaminen saatiin toteutetuksi, mutta monimutkaisemmat ominaisuudet karsiut uivat pois. Maastogeneraatiosta sekä teksturointityökalusta tuli oma kokonaisuutensa, joka lopulta julkaistiin yleiseen käyttöön Unityn verkkokaupassa. Elämän simulointiosuus jäi vaiheeseen jossa se toimi, mutta ei ollut tarpeeksi hyödyllinen tai monipuolinen julkaistavaksi.Opinnäytetyö toteutui odotusten mukaisesti. Joistakin ominaisuuksista täytyi kehityksen aikana luopua, mutta tämä olikin odotettavissa. Verkkokauppaan julkaistua työkalua on ladattu jo yli 1000 kertaa, ja arvostelut ovat olleet positiivisia.
Toteutuksessa tutkittiin eri tapoja esittää suuri maailma samalla suorituskykyä tarkkaillen. Ensimmäinen versio, planeettamainen pyöreä muoto, osoittautui liian raskaaksi tavalliselle kotitietokoneelle. Tämän optimointi vaati monimutkaisia ratkaisuja ja vaikka suorituskyky parantuikin, se todettiin silti liian heikoksi. Uudeksi esitystavaksi valittiin perinteisempi karttamainen muoto, taso. Maastonmuotojen luominen ei tuottanut suuria ongelmia. Myös maailmat pysyivät suurina (n. 50km2) ilman suorituskykyongelmia. Maaston teksturointiin toteutettiin oma työkalu, joka ottaa huomioon niin maastonkorkeudet kuin sen kaltevuudet. Tämä kehittyi monipuoliseksi ja helppokäyttöiseksi, ja se sisällytettiin maailmanmuodostukseen.
Elämän simulointi oli projektin monimutkaisin vaihe, ja sitä pitikin yksinkertaistaa huomattavasti, jotta projekti valmistuisi suunnitellun ajan sisällä. Eläimen luonti sekä tämän laumakäyttäytyminen ja saalistaminen saatiin toteutetuksi, mutta monimutkaisemmat ominaisuudet karsiut uivat pois. Maastogeneraatiosta sekä teksturointityökalusta tuli oma kokonaisuutensa, joka lopulta julkaistiin yleiseen käyttöön Unityn verkkokaupassa. Elämän simulointiosuus jäi vaiheeseen jossa se toimi, mutta ei ollut tarpeeksi hyödyllinen tai monipuolinen julkaistavaksi.Opinnäytetyö toteutui odotusten mukaisesti. Joistakin ominaisuuksista täytyi kehityksen aikana luopua, mutta tämä olikin odotettavissa. Verkkokauppaan julkaistua työkalua on ladattu jo yli 1000 kertaa, ja arvostelut ovat olleet positiivisia.