Godot-pelimoottori ja proseduraalinen generointi
Lukkarinen, Mika (2024)
Lukkarinen, Mika
2024
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2024060922382
https://urn.fi/URN:NBN:fi:amk-2024060922382
Tiivistelmä
Algoritmit ovat tärkeä osa tietojenkäsittelyä. Ne helpottavat ison datan lukemista ja käsittelyä, mutta algoritmeja voidaan myös hyödyntää datan käsittelyn lisäksi datan luomisena ja tätä kutsutaan proseduraaliseksi generoinniksi.
Opinnäytetyön tavoitteena oli perehtyä, miten proseduraalinen generointia voitaisiin pelillistä viihdekäyttöön Godot-pelimoottorilla ja lisäksi kartoitettiin samalla Godotin vahvuuksia ja heikkouksia. Tavoitteena oli siis kehittää todella selkeä pohja tason generoinnille, joka olisi helppo ottaa käyttöön jatkossa ja kehittää tämän proseduraalisen pohjan ympärille mahdollinen pienin toimiva tuote eli MVP.
Opinnäytetyössä perehdyttiin tarkemmin yhden proseduraalisen mallin kehittämiseen ja kyseisen mallin avulla pelin kartan luomiseen ja miten algoritmin generoimaa dataa voidaan hakea ja hyödyntää jatkokehityksen kannalta. Lisäksi opinnäytetyössä selvitettiin tarkemmin itse pelin kehitystä ja siihen sisältyviä haasteita ja ongelmia. Opinnäytetyössä nähdään myös, miten hyvin sovellus ohjelmoinnin taidot kääntyvät pelinkehityksen puoleen.
Lopputuloksena saatiin tason generointiin toimiva algoritmi, mutta pienin toimiva tuote ei ole isoin peli mekaniikoiltaan. Opinnäytetyössä laadittiin dokumentaatiot pelin grafiikan pohdintaan liittyen ja laatuvaatimukset ovat olleet korkeat, jotta voitaisiin varmistaa, että ei ole virheitä tai visuaalista epäjohdonmukaisuutta pelin ulkonäössä varsinkin, kun pelin kartta on koneen luoma. Algorithms are an important aspect of data processing as they facilitate the ease reading and handling of copious amounts of data. However, algorithms can also be used for data creation, a process known as procedural generation. The aim of this thesis was to delve deeper into how procedural generation could be utilized for entertainment purposes using Godot Game Engine, while also mapping out the strengths and weaknesses of Godot.
The thesis focused more specifically on the development of one procedural model and the creation of a game map around it, and how this data can be retrieved and utilized for future development. The thesis also delves deeper into the actual game development and what it entails, and it also shows how well application programming skills translate into game development.
The aim of the thesis was to develop a clear basis for level generation, which would be easy to use in the future and to develop a possible MVP also know minimum viable product around it. The result is a functioning algorithm for level generation, but the minimum viable product is not the largest in terms of mechanics or variety, but the quality standards for everything has been high to make sure there’s no bugs or visual incoherence.
Opinnäytetyön tavoitteena oli perehtyä, miten proseduraalinen generointia voitaisiin pelillistä viihdekäyttöön Godot-pelimoottorilla ja lisäksi kartoitettiin samalla Godotin vahvuuksia ja heikkouksia. Tavoitteena oli siis kehittää todella selkeä pohja tason generoinnille, joka olisi helppo ottaa käyttöön jatkossa ja kehittää tämän proseduraalisen pohjan ympärille mahdollinen pienin toimiva tuote eli MVP.
Opinnäytetyössä perehdyttiin tarkemmin yhden proseduraalisen mallin kehittämiseen ja kyseisen mallin avulla pelin kartan luomiseen ja miten algoritmin generoimaa dataa voidaan hakea ja hyödyntää jatkokehityksen kannalta. Lisäksi opinnäytetyössä selvitettiin tarkemmin itse pelin kehitystä ja siihen sisältyviä haasteita ja ongelmia. Opinnäytetyössä nähdään myös, miten hyvin sovellus ohjelmoinnin taidot kääntyvät pelinkehityksen puoleen.
Lopputuloksena saatiin tason generointiin toimiva algoritmi, mutta pienin toimiva tuote ei ole isoin peli mekaniikoiltaan. Opinnäytetyössä laadittiin dokumentaatiot pelin grafiikan pohdintaan liittyen ja laatuvaatimukset ovat olleet korkeat, jotta voitaisiin varmistaa, että ei ole virheitä tai visuaalista epäjohdonmukaisuutta pelin ulkonäössä varsinkin, kun pelin kartta on koneen luoma.
The thesis focused more specifically on the development of one procedural model and the creation of a game map around it, and how this data can be retrieved and utilized for future development. The thesis also delves deeper into the actual game development and what it entails, and it also shows how well application programming skills translate into game development.
The aim of the thesis was to develop a clear basis for level generation, which would be easy to use in the future and to develop a possible MVP also know minimum viable product around it. The result is a functioning algorithm for level generation, but the minimum viable product is not the largest in terms of mechanics or variety, but the quality standards for everything has been high to make sure there’s no bugs or visual incoherence.