Tasoeditorin luominen Unity-pelimoottorilla
Salmi, Salla (2023)
Salmi, Salla
2023
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-2023052514010
https://urn.fi/URN:NBN:fi:amk-2023052514010
Tiivistelmä
Tämän opinnäytetyön tarkoituksena oli luoda tasoeditori-työkalu 2D-monialustapelin tueksi. Tasoeditorin avulla peliin luodaan uusia tasoja, joita läpäisemällä pelissä edetään. Tasot yhdistetään peliin JSON-tiedostoina, joten tasoeditorilla pitää pystyä myös tallentamaan tasosetit halutunlaisena tiedostona. Myös uusien tasojen testaamismahdollisuus peliin yhdistettynä kuului tasoeditorin tavoitteisiin.
Teoriaosuudessa käydään läpi ohjelmistokehityksen vaiheita, menetelmiä ja teknologioita. Ohjelmistokehityksen vaiheet ja menetelmät vaihtelevat projektin mukaan, joten tässä työssä käyn läpi teorioita, joita itse hyödynsin projektissa. Myös erilaisia teknologioita on useita, joten niistäkin esittelen ne, joita itse käytin. Käyttämäni teknologiat ovat kuitenkin hyvin yleisesti käytettyjä.
Teoriaosuuden jälkeen käyn läpi toteutuksen, jonka tein kolmen sprintin aikana. Toteutin tasoeditorin Unity-pelimoottorilla muokkaamalla sen käyttöliittymää. Tasoeditori yhdistettiin pelin projektiin, jota työstetään myös Unityllä. Ohjelmointikielenä toimi C#, joka on Unityssä yleisesti käytettävä koodikieli. Hyödynsin toteutuksessa myös muita Unityn tarjoamia ominaisuuksia, kuten ScriptableObjecteja, jotka mahdollistavat datan tallentamisen Unity-projektiin.
Lopuksi vielä pohdin toteutuksen onnistumista ja omaa työskentelyäni. Projektin päätyttyä olin erityisen tyytyväinen tasoeditoriin ja sen parissa työskentelyyn, mutta projektin aikana esiintyi kuitenkin myös ongelmia ja haasteita. Suurimpana haasteena oli kirjoittamisen suunnittelu ja aikatauluttaminen. Näitä aiheita avaan vielä enemmän pohdinnassa, jatkokehitysideoiden lisäksi.
Teoriaosuudessa käydään läpi ohjelmistokehityksen vaiheita, menetelmiä ja teknologioita. Ohjelmistokehityksen vaiheet ja menetelmät vaihtelevat projektin mukaan, joten tässä työssä käyn läpi teorioita, joita itse hyödynsin projektissa. Myös erilaisia teknologioita on useita, joten niistäkin esittelen ne, joita itse käytin. Käyttämäni teknologiat ovat kuitenkin hyvin yleisesti käytettyjä.
Teoriaosuuden jälkeen käyn läpi toteutuksen, jonka tein kolmen sprintin aikana. Toteutin tasoeditorin Unity-pelimoottorilla muokkaamalla sen käyttöliittymää. Tasoeditori yhdistettiin pelin projektiin, jota työstetään myös Unityllä. Ohjelmointikielenä toimi C#, joka on Unityssä yleisesti käytettävä koodikieli. Hyödynsin toteutuksessa myös muita Unityn tarjoamia ominaisuuksia, kuten ScriptableObjecteja, jotka mahdollistavat datan tallentamisen Unity-projektiin.
Lopuksi vielä pohdin toteutuksen onnistumista ja omaa työskentelyäni. Projektin päätyttyä olin erityisen tyytyväinen tasoeditoriin ja sen parissa työskentelyyn, mutta projektin aikana esiintyi kuitenkin myös ongelmia ja haasteita. Suurimpana haasteena oli kirjoittamisen suunnittelu ja aikatauluttaminen. Näitä aiheita avaan vielä enemmän pohdinnassa, jatkokehitysideoiden lisäksi.
