Game Level Design using Procedural Natural Systems

More Info
expand_more

Abstract

Due to an increase in scale and amount of detail needed for next gen games, the time required to design a game world has increased dramatically. Even though more advanced tools have become available, designing a game world is still largely done by hand. One area that suffers substantially from this is the design of large scale natural phenomena like rivers and mountains. The goal of this project is to research and implement a procedural approach for designing large scale natural phenomena inside a game level, culminating in a prototype level design tool. In the first part of this project three related subjects are discussed. The first subject is the role of level design within the game development process and activities performed by a level designer. Both have been put into a historical perspective that explains why level design came into existence and what the future of level design might look like. Secondly, a better understanding is acquired of the natural phenomena we are trying to generate. This is done by looking at three models used in earth science. These models provide a top down view of natural phenomena, starting with our earth as a whole, all the way down to individual landforms. Combined, these models offer insight into the processes that form natural phenomena and provide a framework for describing and classifying them. The final research subject is procedural content creation, which separates the design of game content from the actual construction. By automating the construction part, which takes by far the largest amount of time, the efficiency of the entire content creation process is increased significantly. Because procedural content creation is already being used in a handful of specialized tools, two of these tools are reviewed. From these reviews, a number of guidelines are proposed that should be kept in mind during the development of a procedural content creation tool. The result of the research performed during this project is the concept of natural systems; a procedural level design approach that separates the shape of natural phenomena from how they look. With natural systems, the user defines two separate components. The first is a shape in the game world, which can either be a freeform area or a fat curve. The second is the natural system blueprint which dictates what the natural system looks like. The blueprint is designed using four kinds of environmental features that specify the height and color of the terrain, the vegetation that grows there and the height of the water level. By applying a natural system blueprint to a shape, an instance of a natural system is created in the game world. This instance is generated on the fly and in real-time. Any changes made by the designer to the shape or the blueprint are therefore applied to each natural system instance immediately. In the second part of this project a prototype level editor has been implemented that allows the user to design a game level using natural systems. The prototype is developed inside Cannibal Composer, which is a framework for game editors, and uses the Cannibal Engine for visualization. Because the natural phenomena that are modeled with natural systems are often very large, it was necessary to adopt a new terrain visualization technique that can display very large terrains. Great care has been taken into separating the terrain data from its visualization to make the system easier to work with and maintain. The result of this effort is the concept of data providers, an extension to clipmap terrains that functions as a two-way interface between the data of a terrain and its visualization. Because the user should be able to freely mix manual and procedural editing, a special layering system has been implemented as part of the Composer framework. With the work performed during this project, we have proposed natural systems as a procedural alternative to manually editing large scale natural phenomena. Although the current prototype is not yet ready to be used in a real production, it shows that the procedural approach taken with natural systems is able to increase the efficiency of designing and changing natural phenomena significantly. Natural systems also allow a level designer to reuse existing natural system blueprints, further increasing his performance. Future work should focus on improving the performance of the procedure that combines a shape with a blueprint and on increasing the usability of the system. The former can be achieved by implementing large parts of the procedure on the GPU. The latter involves improving and extending the available environmental features and the editing interface presented to the user.