Video game development requires the creation of a vast array of elements, including 3D models, textures, and environments. Creating each of these manually quickly becomes time-consuming. Content creation is more efficient when done dynamically using procedural generation, a popular method in the gaming industry that facilitates the creation of game elements and enhances in-game variety.
The goal of this thesis was to explore various procedural generation processes and develop a set of functions within the Unity game engine that would be capable of generating random 3D models and their corresponding textures. We evaluated which models were suitable to be made with procedural generation, considering factors such as frequency of use and the level of complexity involved. Aiming to include at least one challenging model among those created for the project, we decided to focus specifically on the procedural generation of creatures. We investigated several algorithms essential for this task, including cellular automata, Perlin noise, and L-systems.
The final outcome of the thesis consisted of functions for generating terrain, trees and creatures, each producing unique results. The terrain was generated randomly using cellular automata and Perlin noise, while trees were created via L-systems; however, the primary focus was on the creatures. These were composed of multiple 3D models that were randomly combined and interpolated between to form a cohesive whole. Certain textures are also generated procedurally.
|