3D-mobiilipelin kehittäminen Unityllä
Laitinen, Jussi; Havusalmi, Riku (2016)
Laitinen, Jussi
Havusalmi, Riku
Satakunnan ammattikorkeakoulu
2016
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201603243542
https://urn.fi/URN:NBN:fi:amk-201603243542
Tiivistelmä
Tämän opinnäytetyön tavoitteena oli 3D-mobiilipelin kehittäminen käyttäen Unity3D-pelimoottoria. Pelin idea oli pyöräilypeli, missä pystyy heittämään pizzalaatikoita nälkäisille kodittomille sekä ampumaan ihmiskuntaa orjuuttavia karhuja.
Työn teoriaosuudessa selvitettiin tärkeimpiä tässä projektissa käytettyjä teknologioita. Perehdyttiin Unity-pelimoottoriin yleisesti ja sen tekniikkaan. Selvitettiin, miten Unityn komponenttimalli toimii. Tehtiin perinpohjainen selvitys Unityn MonoBehaviour-luokasta, josta itsekin opimme paljon. Näiden lisäksi esittelimme Unity-projektin rakennetta, Profiler-työkalua sekä kuinka monen käyttöjärjestelmän tuki toimii Unityssä.
Lisäksi teimme pikaisen katsauksen käyttämäämme C#-ohjelmointikieleen ja esittelimme suhteellisen suppeasti C#-ohjelmointikielen perusteet, automaattisen muistinhallinnan toimintaa sekä Unityn ja C#-kielen suhdetta. Selvitettiin myös käyttämämme SQLite-tietokannan sisäistä toimintaa, eli sen arkkitehtuuria, ominaisuuksia, suorituskykyä ja myös sen teknisiä rajoituksia.
Tämän jälkeen selvitettiin lyhyesti ketterää ohjelmistokehitystä ja erityisesti siihen perustuvaa Extreme Programming -ohjelmistokehitysmetodologiaa. Siihen liittyvä pariohjelmointi oli tässä työssä erityisen läsnä. Kävimme myös läpi hyviä ohjelmointikäytäntöjä, ja mikä niiden laiminlyömisen vaikutus voi olla.
Käytännön osuudessa esittelimme kehitetyn 3D-mobiilipelin tärkeimpiä osa-alueita, niiden mahdollisesti tuomia haasteita ja niiden ratkaisuja. Aiheisiin kuului muun muassa kentän ikuinen generointi, pyörän liikkuminen ja sen ohjaaminen, ampuminen, vihollisten toimintalogiikka ja tekoäly, SQLite-tietokannan implementointi, polkupyörien rakentaminen, saavutusjärjestelmä ja erinäiset tärkeät optimointitekniikat.
Työn teoriaosuudessa selvitettiin tärkeimpiä tässä projektissa käytettyjä teknologioita. Perehdyttiin Unity-pelimoottoriin yleisesti ja sen tekniikkaan. Selvitettiin, miten Unityn komponenttimalli toimii. Tehtiin perinpohjainen selvitys Unityn MonoBehaviour-luokasta, josta itsekin opimme paljon. Näiden lisäksi esittelimme Unity-projektin rakennetta, Profiler-työkalua sekä kuinka monen käyttöjärjestelmän tuki toimii Unityssä.
Lisäksi teimme pikaisen katsauksen käyttämäämme C#-ohjelmointikieleen ja esittelimme suhteellisen suppeasti C#-ohjelmointikielen perusteet, automaattisen muistinhallinnan toimintaa sekä Unityn ja C#-kielen suhdetta. Selvitettiin myös käyttämämme SQLite-tietokannan sisäistä toimintaa, eli sen arkkitehtuuria, ominaisuuksia, suorituskykyä ja myös sen teknisiä rajoituksia.
Tämän jälkeen selvitettiin lyhyesti ketterää ohjelmistokehitystä ja erityisesti siihen perustuvaa Extreme Programming -ohjelmistokehitysmetodologiaa. Siihen liittyvä pariohjelmointi oli tässä työssä erityisen läsnä. Kävimme myös läpi hyviä ohjelmointikäytäntöjä, ja mikä niiden laiminlyömisen vaikutus voi olla.
Käytännön osuudessa esittelimme kehitetyn 3D-mobiilipelin tärkeimpiä osa-alueita, niiden mahdollisesti tuomia haasteita ja niiden ratkaisuja. Aiheisiin kuului muun muassa kentän ikuinen generointi, pyörän liikkuminen ja sen ohjaaminen, ampuminen, vihollisten toimintalogiikka ja tekoäly, SQLite-tietokannan implementointi, polkupyörien rakentaminen, saavutusjärjestelmä ja erinäiset tärkeät optimointitekniikat.