Summary: | Processuell Generering Detta projekts syfte var att skapa en algoritm som genom processuell generering skapar höjdkartor för ett spel. Dessa kartor skulle kunna uppfylla en rad kvalitetskrav som sattes upp. För detta genomfördes en förstudie i hur processuell generering fungerar och hur det kan appliceras. Baserat på denna studie producerades därefter en algoritm som kunde skapa tidigare nämnda höjdkarta. Under förstudien studerades olika algoritmer och metoder inom området. De som verkade mest lovande testades via förenklade implementationer. I slutet av förstudien valdes därefter ett antal av de testade algoritmerna och metoderna ut för att medverka i den slutgiltiga implementationen. Den slutgiltiga algoritmen baserades på Voronoidiagram då det var den mest lämpade metoden givet de uppsatta kraven. Denna implementation togs fram, testades och optimerades. Alla krav som sattes upp i början av projektet uppnåddes inte, men de viktigaste kraven implementerades och testades inför den version av algoritmen som slutgiltigen presenterades. För de övriga kraven togs en teoretisk lösning fram och i de flesta fall utvecklades halvfärdiga implementationer. === Procedural Generation The purpose of this project was to create a terrain map generator using procedural generation to be used in a game. Specific quality requirements were set that each produced map had to fulfill. To meet the goals that had been set, a preliminary study was conducted on how procedural generation works and how it can be applied. Based on the results from the preliminary study an algorithm that could produce terrain maps with the desired qualities was developed. During the preliminary study a number of algorithms and methods were examined. For the most promising methods simple implementations were developed and tested. At the end of the study a number of the algorithms and methods were selected for use in the final implementation. The final implementation was based on Voronoidiagrams since it proved to be the most suitable method given the set requirements. This implementation was developed, tested and optimized. Not all requirements were met at the end of the project. However, solutions to the most important requirement were developed and successfully tested. The remaining requirements received at the very least a theoretical solution and in many cases semifinished implementations were developed.
|