Procedural Content Generation

Producing content for 3D graphics can take a long time. In addition, all of those images, sounds, and geometrical models take up a lot of space on disk. Procedural content generation is the process of using computer code and mathematics to generate content instead of having an artist draw that content. Some good overviews are here, here, and here.

For my senior thesis at Xavier, I worked on a 3D engine with incorporated procedural content generation techniques. I implemented aa simple world-explorer program, designed to allow the user to explore a physical world generated using random number sequences. I was hoping to add the ability to specificy, programmatically, details of the world: “I want a mountain here, a river here, and I don’t really care what else there is.”

The most time-consuming and difficult part of the project was implementing an algorithm for Continuous Level of Detail, which I found here. I was hoping to put a lot more into this project, but after finishing my undergrad program I wanted to move on to new work. I figured I might put time into it over the summer, but I have less interest in games.  Most likely, it will stay at its current state forever.

This was the first phase:

A Screenshot of my Procedural Graphic Content

After basic terrain generation was implemented:

(The white lines are surface normals, and aren’t normally drawn.)

After implementing the basics of the Continuous Level of Detail algorithm ( Quadtree structures):

After Implementing the Mesh Simplification Algorithm:

blog comments powered by Disqus