This is a series about the basic components of a world generated LoreGen.
Note: as of version 0.11, regions have irregular, non-rectangular shapes, meaning the portions of this article that discuss the shaping of continents need to be updated.
Updated as of version 0.1
The Importance of Regions
In many ways, the “region” is the most fundamental unit of land in LoreGen. Many things are associated with regions, not continents. This includes languages, climates, and more.
In many ways, this reflects how the actual world works. The world I live in (suburbs of DC) bears almost no resemblance to the life that people live in Central America or in Northern Canada. Almost everything important about my location, from culture to weather and more, is somewhat consistent in my region (“mid-Atlantic”), but very different when compared to other parts of the continent.
Thus, it’s crucial that LoreGen generate regions and use them as the basis for simulating that portion of the world; the continent the region resides on is almost aribtrary, though there are some things that tie all regions of a continent together.
Breaking the World Into Regions
After generating seas in the previous post, here is the map that we’re left with:
The process for breaking continents into regions is similar to the one for generating the continents in the first place: A large rectangle is split into smaller and smaller rectangles.
In fact, it’s actually simpler than the process for generating continents, because LoreGen doesn’t have to worry about generating oceans to split the regions like it does for the regions.
Here’s what the map looks like broken down into regions:
Each one of the differently colored sections is a unique region.
The World Rules data file has a couple of important definitions for configuring the way that regions are developed. These are the “global number of regions” rules. There is a min, a max, a mean, and a standard deviation for the total number of regions on the planet. By default, these values are 250, 550, 400, and 50 regions, respectively.
Regions are then distributed more-or-less equally across all of the continents.
The Shape of Regions
Note: as of version 0.11, the shaping of regions has been updated to create irregularly shaped regions, not rectangles.
As is pretty clear from the map above, regions are always rectangular. The only times that they don’t appear rectangular is when they hit the coastline, in which case they’re technically still rectangular, but portions are hidden in the ocean area.
I’ve thought a lot about what shape the regions should be, and right now I’m leaning towards giving them irregular shapes, not rectangles. There are some upsides to keeping the rectangles simple and rectuangular: breaking the regions into basic rectangles makes it much easier to deal with that region, render that region, deal with the blocks in that region in an efficient manner, etc.
But if you have regions that are broken into irregularly shaped segments, then you are actually gaining a lot. First, the actual visual display of regions would be more interesting than if they’re just always rectangles.
But also, think about the way that we generally define regions on Earth: usually by geographic landmarks. It would make sense to have the boundaries of regions in LoreGen have a similar approach to the borders of regions: they’re typically defined by land and water formations such as mountain ranges and rivers. If this is how regions are eventually depicted, then their borders will have to be eventually irregularly shaped because actual georgaphic features like mountains and rivers are not perfect right angle lines.
But, as of Version 0.1, the shape of regions is currently perfect rectangles.
Wrapping Up the Basics
And with that, we’ve more or less set up the basic units that LoreGen deals with when randomly generating plantes: the world, the map, continents and their shapes, seas, and land regions.
Because of that, this marks a good post to wrap up the LoreGen Basics series. Future series will go into more depth into some other components of LoreGen. Let me know if you have any feedback or questions! Thank you so much for reading!