Procedural Content Creation
Today I got a research project accepted. The project is about methods to procedurally create content for a video game. The video game in question is the one planned after the computer game “Escapade” has been finished. The content in question is a terrain. We want the terrain to be created dynamically for each level. Each level consists of a valley that acts as the back-drop of the level.
I started working on the elevation topology today. I’m basing my work on a paper done by Timothy Roden and Ian Parberry, University of North Texas, called “From Artistry to Automation: A Structured Methodology for Procedural Content Creation”. Basically this part is broken down into a few steps.
- 1 – First I create a matrix of pixels, each element holding a value generated based on two functions that take in the x and the y position being processed.
- 2 – The function returns a value based on how far away the position is from the edges and from the northern regions of the area.
- 3 – After this is done, the results stored in the matrix are normalized to conform to values in the range of 0 – 255 (also for visual checking). A value of 255 is the highest altitute an element can attain, while 0 is the lowest one.
- 4 – The final procedure before vertex creation is the Gaussian Interpolation process where the jaggedness of the elevation map is smoothed out.
That’s as far as I got today. The results if this 2-dimensional terrain map will be used to create a 3D terrain. Another part of this is the procedural texture generator which I will start working on once the current pipeline is finished since it relies on the results of the first batch.
You can view the source code and run the visualization program by downloading it from the files section. Remember that you need the .NET framework, version 2.0 or higher for this to work. The source project was done in Visual Studio 2008.

Leave a Reply