Notes on the Terrapin Terrain Generator

There are a number of attempts to reproduce the excellent computer games from the nineties, Frontier and Frontier: First Encounters. These games were the first (and just about only) ones to have simulated life-sized planets. By "life-sized" I mean that the player could fly to any location on the planet and see the local terrain.

Modern graphics cards make it much easier than it was when these games came out to do fast 3D graphics. The technical challenge is now to make good-looking planets that can be generated on-the-fly. That is what the Terrapin terrain generator is aiming at: generating a planet that has realistic terrain, and adding levels of detail quickly enough that it can be used in a real-time application like a game.

I have worked on this project in fits and starts since about 1995. This engine was, for a while, the terrain engine for the TEP project, which is currently on extended (possibly permanent) hiatus. I am now trying to develop the engine in a manner that will allow it to be used in various applications. Eventually, when the functionality is in my judgement nice enough and the code sufficiently non-embarrassing, I will publically release it, probably under the GPL.

This is the central page for the Terrapin terrain generator and related software that I have written. I have broken it up into my thoughts on various topics. These sections are a little disorganized right now; they are best read in the order listed.

  • terrain generator goals
  • implementation details: language, libraries, etc.
  • tessellations and hierarchic expansion data structures
  • the coordinate system
  • the coordinate system revisited (after I wrote the actual code)
  • fractal expansion and edge matching
  • turning quadtrees into triangle strips
  • integrating external terrain pieces into the map
  • a drastic coordinate system change
  • more details of the triangular mesh
  • terrain fractal on the triangular mesh
  • Screen Shots from the Terrain Generator

    I have enough screen shots now that I have moved them into The Planet Gallery. These all predate the triangular mesh, more will be coming soon.

    My Old Terrain Generator

    This is an attempt at a terrain generator I made about eight years ago. Look at a screen shot or download the source code. To use this, you need Mesa 3.0. It's not very fast, but it shows a nice fractal terrain with matched normals at the vertices for the illusion of smooth variation. 'h' toggles your headlights.

    Other Space-Related Links

    My notes on semi-real-world propulsion systems.