Game Programmer Portfolio

  Gaia: Designed Procedural Content Generation (Master's Project)  
 
I will be completing a project-in-lieu-of-a-thesis as part of the Master's Degree program at the Guildhall.  The purpose of this project is to develop a toolset that allows for rapid development of content assets without compromising designer control.

Gaia features a graph-based user interface for ease of use.  Its primary output is terrain heightmaps, but it also includes features for procedurally generating texture "splats" based on height data and source textures.

Although I have had an interest in both procedural content generation and terrain for some time, and I had written some simple hard-coded demos of procedurally generated terrain heightmaps in the past, the idea of developing a tool for allowing designers to map the generation of procedural content came about after using the Unreal Engine 3 material editor.  I later discovered that my idea was not entirely original, as Stephen Schmitt's World Machine operates on the same basic principles, and I would not be surprised to learn that there are other tools in existence which do the same.  My goal with Gaia, however, is to allow as much control as possible over the content creation.  With this in mind, I have made some modifications to the basic Perlin noise and Worley noise algorithms to make them more user-adjustable, including a spline tool for defining mountain ridges and valleys along which Perlin noise will conform.

One of the most challenging aspects of developing Gaia has been creating the Windows interface.  Having heard mostly negative remarks regarding MFC and ATL and being unfamiliar with C#, I chose to implement the interface using only Win32 functionality.  As a result, I would estimate that more than half of the development time on Gaia has been spent not on developing the content creation tools, but on constructing and debugging the interface.

Download: Gaia (Feb. 17, 2007) (9.69 MB, .msi format)
This is the first release candidate of Gaia.  It is feature-complete, with the exception of documentation, which I am still in the process of writing, and any bug fixes which I may add in the future.  I welcome users to send any questions, bug reports, or general feedback to
jpittman at gmail dot com Gaia requires the February 2007 DirectX End-User Runtime update, which may be download at http://www.microsoft.com/windows/directx/default.mspx.

Download: Project proposal (156 KB, .doc format)
This is the final draft of my field review and project proposal.


Click thumbnails for full-sized screenshots
 
     
Copyright © 2005-2007 J. Kyle Pittman and The Guildhall at SMU.  All rights reserved.