Terrain Thoughts
Posted in MUD Development
Last dog watch, 8 bells (8:16 pm)

I've been thinking about terrain for a while now, and I think that there are some things that are immutable, and some that aren't. The fact that a point is designated as "hilly" or "mountainous" doesn't mean I can't also add an elevation data point. In fact, it makes more sense, because not all hills occur at the same elevation. So the trick is to determine what is immutable (the fact that there are mountains here won't change, but a forest is just ground with trees).

While reviewing Designing Virtual Worlds, by Dr. Richard Bartle, I ran across this sentence:

Thus you can have a hill, a forested hill, a snow-covered, forested hill, and so on.

/me thumps forehead with hand. Of course! Perhaps there are MUDs out there that do this, but I've never seen one. They always have some hard-coded description written for a room. If I define a basic terrain type, then add things like ground cover and vegetation, I can create a dynamic room description that could change with the weather. Snow could melt into water which could evaporate in higher temperatures automatically. It seems like with just a little work in the beginning, a large, complex terrain system could be created. CPU cycles are pretty cheap nowadays, so the overhead can't be that terrible. I think I found my direction!

One of my ideas, which is still hanging out in my backbrain, is to use multiple "overlay" maps, each one defining different parameters. A map engine would check each overlay at any specified x- or y-coordinate and return all the information stored for that point. One overlay could be weather, another might be mineral deposits. A third could be a daylight map (imagine a sine wave defining sunrise/sunset, being shifted every n minutes. You could have time zones! Always daylight or nighttime arctic and antarctic areas! A fourth may be weather, cloud cover, rain, hail, tornado, etc. Devoting more overlay maps to geology, ground cover, and vegetation could yield a very sophisticated "world terrain model" that wouldn't be very computationally intensive.

Leave a Comment »
I Can Hear You!
Forenoon watch, 6 bells (11:06 am)

Overheard by me in the CEO's office today:

Coworker 1: Aw, Jacob got here first. I think the both of us could take him
Coworker 2: Uh, I don't know about that…

Leave a Comment »