This is a series about the basic components of a world generated by LoreGen.

Updated as of version 0.12

Sample World

Beginning with this post, I will use a sample world to demonstrate each step of LoreGen’s worldbuilding process. The seed I am using for this sample world is 8675309. (Read more about configuring seeds here.)

Note that your resulting world might not exactly match mine even if you use the same seed, as the randomization algorithm can vary slightly in different versions of LoreGen.

Continental Beginnings

Last post discussed how LoreGen lays out a rectangular grid for a map. Once it has the basic grid set up, LoreGen will begin carving the map into areas that will become continents.

First, LoreGen determines how many continents this world will have. (The minimum and maximum number of continents can be set in the WorldRules.csv file.)

For each continent, it selects a random block from the map grid to be the starting point for that continent.

In the example world, here are the three starting points for the three continents:

loregen-continent-starting-points

Continent starting points

Obviously there’s not much to look at yet, but LoreGen will quickly expand these continent starting points into whole regions.

“Allocation”

Remember, for a moment, that the map is currently a grid of discrete rectangular blocks, most of which are not yet allocated to continents.

The algorithm for expanding the continents is fairly simple, and one that’s used in other parts of LoreGen. It’s effectively the opposite of the “erosion” algorithm I’ll describe a few posts from now. I call this process “allocation,” though I’m sure the concept has another name.

Here’s the process:

  1. Randomly select a block that a) is not allocated to a continent, and b) currently neighbors a block that is allocated to a continent.
  2. Assign that block to its neighbor’s continent.
  3. Repeat steps 1 and 2 until every block has been allocated to a continent.

Once we apply that process to the example world, here is the resulting world map:

loregen-continent-areas

These three segments of the world map will form our basis for this world’s three continents.

Initial Coastlines

The next step for creating the shapes of these continents is to begin defining their coastal borders.

To achieve this, the outer border of the continents, one world block thick each, are defined as coastline, while the internal areas are defined as land.

Here’s what that looks like in the sample world:

loregen-continent-basic-coastline

Obviously there needs to be oceans separating the continents. Thus, LoreGen gives each continent an outer layer of ocean. (The size of this outer layer can be defiend in WorldRules.csv, but is by default one block.)

Here’s what the example world looks like once every continent has an outer layer of an ocean:

loregen-continent-basic-coastline-2

Next Steps

In summary, at this point in the world generation process, each world has been carved into areas that begin taking shape as continents. A thin layer of oceans surround these continents.

Now, these continents are ready to be crafted into more interesting shapes. Before we continue our look at continent shaping, we need to look at how LoreGen handles boundaries and “sub-blocks.” This is covered in the next post.

Next: Thinking about boundaries.