Mischiefblog
I make apps for other people

Reconsidering procedural terrain generation

Posted by Chris Jones
On April 13th, 2006 at 14:25

Permalink | Trackback | Links In |

Comments Off on Reconsidering procedural terrain generation
Posted in Cyberpunk MMO, Design Journal

I’ve been mucking about with different algorithms for procedural terrain generation. I’m coming to the reluctant conclusion that the fractal proponents had the right idea from the beginning. Then again, I’ve also decided that random terrain and procedural terrain have limited usefulness. In the example of the cyberpunk game design, building placement may be done randomly, but the overall city should be designed:

  • streets should curve, bend, and intersect so badly that a Roman would despair (to help keep the poly-count and clipping plane low for any vantage–long straight streets would appear depopulated from a distance because of server object culling),
  • streets should be interesting, with rises and hills in places, to make the area feel more like Hong Kong or San Francisco than Miami,
  • the character and size of streets should vary depending on which organization is based near that part of town, and
  • the city should be given a variety of interesting regions, such as a waterfront, canal and river system, poor and rich hillsides, warehouse and manufacturing districts, red light districts, city parks, power plants and power lines, a couple airports, train stations, an elevated highway, etc.

I’m not attempting to aggrandize the role of the designer or landscape artist, but I must now emphasize the value in having logical and interesting terrain. I believe that was in no small part a key to the success of MMOs that approached the world design as if it where an interesting place rather than space used to spread out encounters. Above all, the world must have distinctive regional character and procedural terrain rarely accomplishes that.

Custom terrain requires more artist work and takes additional resources in distribution and on the client (storing the meshes and textures). It also provides a continuing source of expansion sales revenue as the world is grown over time.

Comments are closed.