Procedural City Generation Tool With Unity Game Engine
Viitanen, Henri (2016)
Viitanen, Henri
Karelia-ammattikorkeakoulu (Pohjois-Karjalan ammattikorkeakoulu)
2016
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201602232560
https://urn.fi/URN:NBN:fi:amk-201602232560
Tiivistelmä
Opinnäytetyön tavoitteena oli tutkia, miten proseduraalista sisällön generointia (myöhemmin PSG) hyödynnetään pelinkehityksessä. Työssä selvitetään, mitä etuja proseduraalisesta generoinnista on pelinkehityksessä. Työssä keskitytään tarkemmin kaupunkien generointiin ja sen tueksi kehitettiin avoimen lähdekoodin kaupunkien generointityökalu, EdgeGraph, jonka toteutus esitellään työssä yksityiskohtaisesti.
Työssä analysoidaan ja vertaillaan kolmea Unity-pelimoottorilla toteutettua kaupunki-generointityökalua, työhön kehitettyä EdgeGraphia, Horizon: City Generatoria, ja CityScaperia, hyödyntäen työssä esiteltyjä tapoja tarkastella PSG-järjestelmiä. Vertailun tavoitteena on selvittää työkalujen käyttötarkoituksia ja toteutustapoja. Lisäksi työssä esitellään perimmäiset syyt PSG-järjestelmien hyödyntämiselle peleissä aikaisempien tutkimusten sekä kolmen esimerkin, Eliten, Roguen ja SpeedTreen, avulla. Työssä esitellään myös seuraavat usein käytetyt PSG-tekniikat havainnollistamaan PSG-järjestelmien toteutusta: näennäissatunnaislukugeneraattorit, gradientti kohina, Lindenmayer-järjestelmät ja satunnaiset pisteet. Lisäksi EdgeGraph-työkalussa hyödynnetty tilantäyttötekniikka selvitetään tarkemmin.
Työhön kehitetty EdgeGraph tarjosi hyödyllisen alustan PSG-järjestelmien tutkimiseen. EdgeGraph-työkalun vertailu kahteen muuhun työkaluun osoitti, että pinnallisesti samankaltaisten PSG-järjestelmien toteutustavat voivat erota toisistaan merkittävästi. Johtopäätöksenä PSG-järjestelmän analysointi ja määrittely tarjoavat tärkeää tietoa sen toteutus- ja käyttötavoista sekä uuden järjestelmän kehityksessä että valmiin järjestelmän hyödyntämisessä.
Työssä analysoidaan ja vertaillaan kolmea Unity-pelimoottorilla toteutettua kaupunki-generointityökalua, työhön kehitettyä EdgeGraphia, Horizon: City Generatoria, ja CityScaperia, hyödyntäen työssä esiteltyjä tapoja tarkastella PSG-järjestelmiä. Vertailun tavoitteena on selvittää työkalujen käyttötarkoituksia ja toteutustapoja. Lisäksi työssä esitellään perimmäiset syyt PSG-järjestelmien hyödyntämiselle peleissä aikaisempien tutkimusten sekä kolmen esimerkin, Eliten, Roguen ja SpeedTreen, avulla. Työssä esitellään myös seuraavat usein käytetyt PSG-tekniikat havainnollistamaan PSG-järjestelmien toteutusta: näennäissatunnaislukugeneraattorit, gradientti kohina, Lindenmayer-järjestelmät ja satunnaiset pisteet. Lisäksi EdgeGraph-työkalussa hyödynnetty tilantäyttötekniikka selvitetään tarkemmin.
Työhön kehitetty EdgeGraph tarjosi hyödyllisen alustan PSG-järjestelmien tutkimiseen. EdgeGraph-työkalun vertailu kahteen muuhun työkaluun osoitti, että pinnallisesti samankaltaisten PSG-järjestelmien toteutustavat voivat erota toisistaan merkittävästi. Johtopäätöksenä PSG-järjestelmän analysointi ja määrittely tarjoavat tärkeää tietoa sen toteutus- ja käyttötavoista sekä uuden järjestelmän kehityksessä että valmiin järjestelmän hyödyntämisessä.