It’s amazing how far you can go writing a video game without actually answering really important questions like “how does the game terrain actually work?” In a perfect world, if everything worked as you imagined it would the first time, making video games (on our time scale at least) involves spending a few months building the idea of the game in your head, then spending a year or so whittling each piece out of little wooden blocks and pressing them gently into the computer. This has the added advantage of explaining why our computers are filled with little wooden blocks.
Let’s put a happy little fence right here in this happy little glade. Isn’t that nice?
We’re writing the biome code now (well, another iteration of it) which determines what natural objects exist in what areas, be they desert, tundra, jungle, forest, or maybe something weird like an Healthfully Irradiated crater or a la(r)va field, who knows.
There’s a bit of a process to defining how these things exist, what they get to talk to, and how complicated we want to make them: We hammer out a 3 page document on our internal wiki, argue over it (possibly in THE PIT), make Perfectly Necessary Amputations in some places, and more complexity in others, then start actually writing code. Invariably we’ll forget something or make a Horrible Mistake that causes the world to be impaled with giant spikes of rock that are infinitely tall (it happens) and have to rewrite, but that’s the Creative Process.
Every game tile is currently given a temperature & humidity value, a wateriness descriptor (aquatic, wetland, or land), and an integer value for soil quality. We started with a simple 3×3 matrix of temperature and humidity numbers to map biomes on, but it turned we really wanted swamps because they’re 1. creepy and 2. you need somewhere quiet to throw that body or that artifact which Was Never Meant To Be Found. Similarly, we’d like rich, rolling prairies to cleanse of wild aurochs herds and fill with factories and pipes, and because there was no distinction in our system between the temperature/humidity values of forests and grassland areas, we realized there was a need for some measure of soil quality. In broad terms for our system, fertile soil produces trees and barren soil produces grasses – or nothing at all.
This notion of soil quality may also give an interesting mechanical and ethical/narrative consideration to the act of (profitable, profitable) deforestation.
Don’t eat the apples in the Garden of Potemkin. (And yes, there’s another little fence. I like the fence. Deal with it.)
With this fertility numeric, we can do all sorts of neat things: We can make clear-cutting a forest cause the area over time to yield no trees at all; We can give incentive for crop rotations (if we want to be bothered with that), or we can give you a temporary bonus for, say, slashing/burning jungles by temporarily boosting the soil fertility drastically. Sure, all the animals would die, the area would become a barren wasteland after just a few crops as the topsoil was washed away, and you’d be left with useless land and starving peasants, but that’s okay because you’ve put enough away cash from skimming off the opium plantations to retire your bureaucrat to that manor in the Home Counties, right?
It will of course need to be clear to players what the impact of these choices will be, and you should still be able to just render your terrain a hellish landscape of coal factories (which make coal out of other types of coal) and machinery, each attended by noble clusterings of pipe, but making the hard choices that balance quality of life – and the landscape – with short-term needs (Dagon isn’t going to drive himself back into the swirling blackness of the ocean depths) should make the world feel like more than just a grid to build stuff on.