Sunday, January 4, 2015

Temperature Zones

Recap

Work on my fractal world and dynamic campaign map generator continues.  With an elevation map in place, and basic hex mapping accomplished, this next step will move us toward ultimately more realistic terrain.

Research

My crash course in biome generation led me to Community and Ecosystem Dynamics, which I think has most of what I need to get an adequate model developed.  After digesting most of this, I concluded that the first step would be dividing the world into temperature zones.

Algorithm

I implemented a simple algorithm to produce a temperature map of the world, based on a minimum and a maximum temperature as parameters.  The default minimum temperature is -15˚ C., and the default maximum is 30˚ C.  You'll be able to supply different parameters to generate colder or warmer worlds as desired.

The exact temperature at each point on the map is calculated by the longitude (assuming an equator at the center), and the elevation, with a slight randomization applied.

Example

In the example below, note how areas of higher elevation have an overall cooling effect on the region.

Fractal World Elevation Map
Corresponding Temperature Map
Future Hooks

As the project progresses, I will need to add hooks into the fractal world generator to account for localized anomalies in temperature.  For example, in my home D&D campaign, there are numerous portals into various elemental planes that make their surrounding regions much colder or hotter.  Also, certain large monsters could have an affect on the surrounding climate.  It will be exciting, for example, to produce a large localized region of cold from an elemental portal and see the resulting terrain get generated as tundra and ice fields.

No comments:

Post a Comment