A Real-Time Procedural Universe

Project History

This project started out as a hobby. Initially I wanted to create a game on a grand scale with plenty of detail and no boundaries. I was thinking specifically of a galactic conquest game with a full-size galaxy. I wanted to implement different playing modes, all the way from first-person on foot all the way up to commander of a galactic empire. I also wanted to try to find a way to make it multiplayer somehow, but of course you don't want to be too ambitious with your first game design (yes, that was a joke).

I started off with planet generation and rendering from a random seed. If I could accomplish that in real-time using dynamic level-of detail, I knew that I would be able to generate and render an entire solar system in real-time as well. Since you should never have to generate and display more than one solar system at a time, it should be relatively easy to randomly generate a galaxy of star systems at a higher level. Give the player a star map and a way to pick which star system to explore, and you'd have a pretty good base for a game.

Unfortunately, I'm just a hobbyist working on this project in my spare time. I have kids, which means I have precious little spare time to continue working on it. When I felt I had a pretty good start at at planet generation and rendering, I started publishing articles on GamaSutra, GameDev, and even GPU Gems 2.

Fortunately, I do have some pretty cool demos you can download and play with. The source code is available under the BSD license. All demos use OpenGL, and some of them require support for certain extensions to work properly. The download page mentions certain issues with specific video cards.

Scattering Videos (XVid)

Despite the visual artifacts in the Mie scattering (which only show up on nVidia cards), screenshots just don't do it justice. Click here for a video from the ground, here for a video from space, and here for a video showing the transition.

Screenshot From Space (2005-09-24)

Screenshot From Atmosphere (2005-09-24)

Screenshot with Billboarded Grass (2005-10-09)

Screenshot from the Dark Side of the Moon (2005-10-09)

Volumetric Cloud Test #1

Volumetric Cloud Test #2

Volumetric Cloud Test #3