Last time we talked about biomes back in February, Mr. Whitman had finished a framework for terrain generator and had implemented a few test case biomes which we have been using in-game for a while just to give us something to hack on to test the features we’re after. This small set of biomes has been the backdrop for a ton of our screenshots lately. You may have noticed a recurring theme of pine trees on a field of green grass with some lakes.
We’re going to start mixing it up in the next month or so. The system we’ve implemented runs on a concept of two or three specified biomes on a given game terrain map (the playable area in any given colony). Some examples might be a “high prairie” (aka “Steampunk Yellowstone National Park”) biome, a tropical rainforest, a desert, or the Novyrussian taiga. Within these biomes, we have subcategories of smaller environments that we call “mini-biomes” or “sub-biomes”.
For our high prairie example, these include the prairie highlands, canyons, conifer forests, aspen forests, or craggy hills. We have some heuristics for determining where these mini-biomes should go within the map. A fairly simple random walk for determining river directions, which gives us gravel beds, canyons, and actual rivers, and Perlin-based determinations for where forests or hilly regions are placed.
This is a fair bit simpler than some of the initial plans for how the biomes worked. Some things have been scrapped, some have been postponed or put into the “if we have time” pile. The environments are no longer eroded from one giant slab of earth as a fully simulated world, for example. I believe we said in an earlier post that we were abandoning that idea because the further we got with the experiment, the more quickly we realized two things. First, you just can’t easily end up with highly variable, interesting terrains with this simulationist approach: at best we could have one or two really interesting features on one map which just isn’t enough variation. The second reason is that computers just aren’t fast enough yet to do extremely detailed simulation of weathering processes and so on without it taking ten minutes (or a lot more) to make a map. (– Unless of course it is the mighty mechanical mind of L’Auto-Dictateur, however It has more pressing concerns to attend over in the République Mécanique.)
The concept of biome fertility has been made a little more coarse to focus attention on game features which are of more immediate concern to a player. Fertility is still an important variable in the revised biome design but it determines where biomes particularly linked to soil quality are placed rather than for each plant individually (for down that road lies plant-based madness).
The upside to freeing up some programming braincells there is that we do now have building interiors with player-designated furniture and some other things we hadn’t initially planned on, and we’re also allocating some of that time to one last “feature creep” sort of thing which we’ll tell you about when we can actually show you what it is.
And who knows, maybe in the grim darkness of the far future, we’ll do some of that erosion stuff.