Proseduraalisesti generoidut metroidvania-kentät
Kärkkäinen, Jani (2016)
Kärkkäinen, Jani
Karelia-ammattikorkeakoulu (Pohjois-Karjalan ammattikorkeakoulu)
2016

Creative Commons Attribution 1.0 Suomi
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201605239266
https://urn.fi/URN:NBN:fi:amk-201605239266
Tiivistelmä
2D-tasohyppelypelien ja varsinkin metroidvania-lajityypin kenttien proseduraalinen generointi rajoittuu usein templatingin käyttöön. Työssä tutkittiin käsinvalikoituja sisällöntuotanto- ja luolastongenerointi-algoritmeja. Työssä toteutettiin kyseiset algoritmit sekä kenttien toimivuuden testaukseen kehitettiin testiympäristö. Toteutus tehtiin Unity3D-pelimoottorilla Linux-käyttöjärjestelmässä.
Opinnäytetyössä verrattiin toisiinsa klassisen luolastogeneroinnin ja tutkimustyön tuloksena yhdisteltyjen algoritmien tuottamien kenttien tuloksia. Luotuja kenttiä verrattiin myös Metroidvania-kentistä analysoituihin kriteereihin.
Testiympäristö kehitettiin asteelle, jossa voidaan testata luotuja kenttiä pelinsisäisesti. Pelattavia kenttiä saatiin toteutettua molemmilla tavoilla. Yhdistellyt ja muokatut algoritmit olivat kuitenkin selkeästi rakenteellisempia ja pääsivät lähemmäksi Metroidvania-kenttämäisyyttä.
Muiden algoritmien vaikutus klassisen luolastogeneroinnin lisäksi jäi vajavaiseksi. Ainoastaan space colonization -algoritmilla oli merkittävä vaikutus. Algoritmeilla luotiin kenttägeometrialtaan toimivia kenttiä, mutta toimivan kenttäkokonaisuuden luomiseksi on jatkokehitys tarpeen.
Opinnäytetyössä verrattiin toisiinsa klassisen luolastogeneroinnin ja tutkimustyön tuloksena yhdisteltyjen algoritmien tuottamien kenttien tuloksia. Luotuja kenttiä verrattiin myös Metroidvania-kentistä analysoituihin kriteereihin.
Testiympäristö kehitettiin asteelle, jossa voidaan testata luotuja kenttiä pelinsisäisesti. Pelattavia kenttiä saatiin toteutettua molemmilla tavoilla. Yhdistellyt ja muokatut algoritmit olivat kuitenkin selkeästi rakenteellisempia ja pääsivät lähemmäksi Metroidvania-kenttämäisyyttä.
Muiden algoritmien vaikutus klassisen luolastogeneroinnin lisäksi jäi vajavaiseksi. Ainoastaan space colonization -algoritmilla oli merkittävä vaikutus. Algoritmeilla luotiin kenttägeometrialtaan toimivia kenttiä, mutta toimivan kenttäkokonaisuuden luomiseksi on jatkokehitys tarpeen.