Lineaarisen pelin kenttien luominen proseduraalisella generoinnilla
Leskelä, Jaakko (2023)
Leskelä, Jaakko
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-2023060823014
https://urn.fi/URN:NBN:fi:amk-2023060823014
Tiivistelmä
Opinnäytetyössä tutkittiin, miten proseduraalista generointia voisi hyödyntää kenttien luomiseen lineaarisessa pelissä. Opinnäytetyössä selvitettiin, miksi proseduraalista generointia harvemmin käytetään lineaarisien pelien kenttien luontiin ja mitkä ovat sen vahvuudet ja heikkoudet. Lisäksi opinnäytetyössä tutkittiin, kuinka helppoa proseduraalinen generointi olisi ottaa käyttöön. Tämä selvitettiin tutkimalla erilaisia proseduraalisen generoinnin työkaluja ja algoritmeja. Algoritmeista valittiin yksi ja lopuksi tehtiin yksinkertainen prototyyppi Unity-pelimoottorissa hyödyntämällä valmiiksi tehtyä työkalua.
Opinnäytetyössä analysoitiin useampia algoritmeja ja niiden toimintaa. Lisäksi tutkittiin algoritmien yleisimpiä käyttötarkoituksia. Algoritmien käyttötarkoituksien ja käyttöönoton helppouden vertailun perusteella valittiin opinnäytetyössä käytettävä algoritmi WaveFunctionCollapse. Opinnäytetyössä käsiteltiin WaveFunctionCollapse- algoritmia hyödyntävän työkalun toimintaa ja tärkeimpiä siihen liittyviä skriptejä. Opinnäytetyössä selvitettiin, miksi proseduraalisen generoinnin työkalujen käyttö voi olla haastavaa.
Opinnäytetyössä huomattiin, kuinka tasojen luomiseen käytettävät 3D-mallit tulee suunnitella proseduraalisen generoinnin työkaluja varten. Opinnäytetyön prototyypin tuloksena oli, että kenttien luonti proseduraalisella generoinnilla vaatii laajaa ymmärrystä työkalujen toiminnasta, varsinkin, jos työkaluja haluaa muokata. Opinnäytetyössä huomattiin, kuinka eri algoritmit erikoistuvat erilaisten kenttien luomiseen. Opinnäytetyössä pohdittiin, kuinka algoritmien toimintaa voisi kehittää erityisesti lineaarisien pelien kenttien luomiseen.
Opinnäytetyössä analysoitiin useampia algoritmeja ja niiden toimintaa. Lisäksi tutkittiin algoritmien yleisimpiä käyttötarkoituksia. Algoritmien käyttötarkoituksien ja käyttöönoton helppouden vertailun perusteella valittiin opinnäytetyössä käytettävä algoritmi WaveFunctionCollapse. Opinnäytetyössä käsiteltiin WaveFunctionCollapse- algoritmia hyödyntävän työkalun toimintaa ja tärkeimpiä siihen liittyviä skriptejä. Opinnäytetyössä selvitettiin, miksi proseduraalisen generoinnin työkalujen käyttö voi olla haastavaa.
Opinnäytetyössä huomattiin, kuinka tasojen luomiseen käytettävät 3D-mallit tulee suunnitella proseduraalisen generoinnin työkaluja varten. Opinnäytetyön prototyypin tuloksena oli, että kenttien luonti proseduraalisella generoinnilla vaatii laajaa ymmärrystä työkalujen toiminnasta, varsinkin, jos työkaluja haluaa muokata. Opinnäytetyössä huomattiin, kuinka eri algoritmit erikoistuvat erilaisten kenttien luomiseen. Opinnäytetyössä pohdittiin, kuinka algoritmien toimintaa voisi kehittää erityisesti lineaarisien pelien kenttien luomiseen.