Generating Compelling Procedural 3D Environments and Landscapes
The game industry of today puts a lot of pressure on game developers. More than ever, the expectations of what developers can deliver are high, with increased computational power common in video game consoles and gaming PCs. For big budget games, the company or companies behind it often need to rely on hundreds of graphical designers to populate the gaming world with interesting content. This creates problems for small scale independent game companies with limited resources, who want to compete on the game market. In order for smaller game companies to create comparable gaming worlds with substantially fewer developers, one technique they might use to achieve this is called procedural content generation (PCG) This technique utilizes the performance of a computer to generate assets based on mathematical algorithms. In this thesis project the goal has been to create an open source PCG engine for game developers to use, in which procedural content generation plays an integral part. Implemented as a pipeline, the input to the engine yields deterministic output based on what modules are used with it. The modules can work on many different scales, from creating flowers to generating 3D landscapes. With a conveyor belt style approach, it is possible to generate large worlds filled with interesting content in a linear, deterministic way. The result of the project consists of a handful of modules capable of generating 3D terrain with multiple biomes, with interpolation techniques to blend the different landscapes together. An L system for generating trees has been implemented as well, along with a module for scattering objects in the game world in a natural way. The pipeline is connected to an external rendering engine. However, the modules have not been successfully integrated with the pipeline.