Back arrowBack

Dev Diary #4: Geography

14:07, 12 Mar 2022

Dev Diary #4 Cover Art

Hello everyone and welcome to the fourth development diary of Grey Eminence!

Today, we’ll take a look at the geography systems that are the foundations of our game world. Specifically, we’ll explore how land tiles work, what differentiates them from one another and how their composition impacts other game systems. We’ll also briefly cover some related systems like weather and rivers. Apologies to the naval aficionados among you, but we’ll cover sea tiles and their related naval mechanics in another diary.

Let’s start by going through the properties that define a land tile and then we’ll see how those properties interact. So, what makes up a land tile? It’s the union of four different parameters: terrain, climate, land size, and forest cover.

Terrain

The first parameter we’ll cover is a tile’s terrain. It encompasses a tile’s topography, and also certain hydrological and elevation features whose importance you’ll learn about a bit farther down.

We’ve adopted a fairly simple model for terrain that mainly differentiates tiles based on practical features, with seven total terrain types.

The most common terrain types you’ll see across the world are plains, hills, and mountains. They’re simple representations of how flat or not a tile is and they come with your usual effects: for example, plains tiles are easy to traverse and hard to defend (the opposite of mountain tiles).

Peaks and plateaus are terrain types related to mountains, so you’ll find them near mountain tiles. Peaks are tiles with such steep slopes that they are impassable and cannot be traversed at all, while plateaus are more-or-less plains, but with some important differences we’ll cover in a second.

Floodplains are a special terrain type that can only exist next to rivers. These tiles are more productive agriculturally, especially when irrigation has been constructed in the tile.

Wetlands are another special terrain type. These tiles represent swamps, marshes, and bogs; they’re difficult to traverse, but can be drained into regular plains.

Terrain screenshot

The hills of northwestern Hungary aren’t the easiest to cross or cultivate, but they’re very defensible. As always, numbers and graphics are WIP.

Climate

The second property of land tiles is their climate. It represents seasonal precipitation and temperature patterns, which have important implications for agriculture and weather. We’ve chosen a simplified version of the Köppen climate classification system, which I’m sure the climatologists among you are very familiar with.

Like Köppen, the various climates in Grey Eminence are grouped into five general categories: tropical, dry, temperate, continental, and polar.

Tropical climates are broken down into rainforest and savanna. They average temperatures above 18°C across all months, which means their theoretical growth season can encompass the entire year. Of course, in reality these climates are prone to seasonal droughts, but their effects can be alleviated via irrigation.

Dry climates are characterized by low precipitation; they include arid and semi-arid. Like tropical climates, their temperatures are high enough to sustain plant growth throughout the year, though not all crops can survive the significant temperature amplitudes. In addition, dry climates suffer from a perennial lack of water, so their actual agricultural output is significantly lower. Irrigation is practically a necessity to make dry tiles productive.

Temperate climates housed the majority of Earth’s population in 1356. They are subdivided into subtropical, mediterranean, oceanic, and subpolar. They feature the full gamma of seasons, yet remain warm enough for agriculture through most of the year. Their precipitation is evenly spread out, so there’s less pressure for intense irrigation.

Continental climates consist of continental, highlands, and boreal. These climates usually occur within larger landmasses (hence the name) and feature high temperature amplitudes. Notably, they have at least one month that averages above 10°C. Their maximum agricultural potential varies, even with irrigation.

The final climate group is polar, which contains the tundra and polar climates. Of the two, only the tundra climate is somewhat hospitable. Tundra tiles have at least one month warm enough to melt snow and while they’re generally unsuitable for agriculture, animal husbandry is possible.

Climate screenshot

The climate in Nitra (and across most of Eastern Europe) is continental, which makes it pretty good for farming, despite the occasional bitter winter.

Land Size

Perhaps the most obvious property of a land tile is its surface area, which we like to call land size. This parameter is static for (almost) all tiles, and is simply the surface area of the Earth divided by the number of tiles on the globe. In our case, this turns out to 510 units per tile, with one unit being more-or-less one square kilometer. We won’t go into too much detail here - you’ll learn more in the buildings dev diary - but in short: anything you want to build occupies a certain amount of space, so you can’t build up a tile indefinitely.

Forest Cover

Going off of the previous paragraph, forest cover is the number of units of land that are occupied by dense forests. The presence (or absence) of forests has important impacts on the tile: unless roads have been built, it makes transportation and logistics more difficult. It also prevents the construction of buildings once all the non-forested land has been used up. It does come with one major benefit: it provides an extra source of sustenance for the local population through hunting.

You can manually clear away forests to make room for more useful buildings, but you probably don’t want to clear out every last tree. Maintaining some amount of forest cover allows you and your elites to construct logging camps, which produce wood in a sustainable (though admittedly anachronistic) fashion. Of course, if you’ve committed the cardinal sin of deforestation, you can always reverse course and attempt to restore the lost forests, though you’ll likely clash with vested interests when doing so. Alternatively, you can always completely depopulate a given area to let nature slowly heal on its own.

Forest cover screenshot

In northwestern Hungary - and across most of Europe in 1356 - forests still dominate the landscape, despite centuries of agricultural encroachment.

Arability/Grazability

Combining a tile’s terrain with its climate allows us to determine how suitable it is for agriculture and animal husbandry. In general, animals are a lot easier to please than crops, so any tile that’s suitable for crop harvesting will also be good enough to graze on. Note that each crop has its own unique preferences for temperature and precipitation. So just because you can theoretically grow corn in Iceland, for example, doesn’t mean that you should.

Weather

Beyond a single tile’s terrain/climate we have a broader system of weather that affects entire regions of the globe. This system is large enough to warrant its own full dev diary later on, but for now we can confirm that it includes phenomena like seasons, storms, monsoons, hurricanes, and tornadoes. We’re hoping to add more weather occurrences in the future, but these are the ones we have right now.

Rivers

We would be remiss to not mention how rivers figure in all this. As many of you had speculated, in Grey Eminence rivers flow along the edges of the hexagons. Thus, an individual river segment will always form the border between two tiles. There are a select few rivers that are wide enough in certain parts to be represented as fully-fledged water tiles, but the vast majority of rivers follow the hexagon-border paradigm.

Like weather, we’ve planned a whole dev diary on how rivers work and how they interact with all our systems, but just to sate your hunger, we can say that rivers will have not just your usual geographic and military impact, but also an economic one. As we mentioned previously, the economy of Grey Eminence is based on logistics. Rivers were the unquestionable cornerstone of commerce until the invention of railroads, so your control over the waterways will be a key determinant of your success as a trading country.

Moddability

Considering how fundamental the geography systems are, you might think that the majority are hardcoded and thus impossible to mod. The truth is that making such core features moddable was a very difficult task, but we’re proud to say that we were able to achieve it!

To put it clearly: you can add new terrains/climates (or modify/remove existing ones) and you can link them to various other systems. For example, you can add a volcano tile and you can create a volcano eruption system that periodically causes volcano tiles to erupt. Such modifications can be done not just on the logic level, but also graphically, although you’ll probably need to tinker quite a bit to get the mesh to look like you want it to. And, it goes without saying, such complex modifications will require C# knowledge.

Of course, you can go a lot crazier than volcanoes. The logic we’ve added to terrains/climates can be redirected or changed entirely. You can, for example, make sea tiles habitable and land tiles inhospitable, for all you fantasy-nautical world builders out there. On the most basic level, tiles/climates are merely containers for logic, so the world is your oyster here.

To help you get the most out of Grey Eminence’s geographical moddability, we’ve spent a lot of effort building up the geography section of our world editor. This includes a feature many of you have already asked about: the import/export of geographical data via 2d images. This feature utilizes a simple equirectangular projection, so any old .png of Earth you grab online will fit perfectly fine (although you may have to recolor it). In short, this allows you to draw whatever fantasy world you want in Photoshop or GIMP (or, dare I say it, Paint) and to simply import it into a custom world. The world editor automatically interpolates all the pixels into terrain/climate/forest cover with perfect accuracy.

We do have one final feature I want to show you. This is arguably our greatest technical achievement so far (beyond, you know, the x100 greater performance, but that’s more thanks to Unity than us). Grey Eminence’s world editor features a real-time terrain editor, which lets you paint across the globe to create new landmasses or to sink existing land beneath the waves. You can, of course, also use it to edit climate or forest cover, and in the future we’ll also expand its functionality to allow for easy weather modding, but more on that another time.

I’ll leave you with a recording of the terrain editor in action. Trust me when I say, it’s exactly as satisfying as it looks.

Terrain editor screenshot

Destroying Lordaeron has never been easier! Who needs interdimensional magic swords that can raise the dead when you can just brush it all away and pretend it never happened.

That’s all for now, folks! We’ve been hard at work the past two weeks implementing key mechanics and we’re happy to say that we’ve reached a strong development pace. In no small part, this is thanks to your ongoing support in our community and on Patreon, so thank you for being with us! You can expect the next dev diary on March 25. Until then, stay updated on Grey Eminence by joining our Discord and Subreddit, as well as following us on YouTube, Facebook, and Twitter. Thanks for reading!

Footer divider