Shiny Time - Making the Maps (Part 3)

Welcome Elyrians! Since Domain and Settlement Selection has been the focus for myself and many others in the studio recently, I thought I’d take the opportunity to discuss the process a bit more this week.

As most of you are probably aware, we’re doing more than just making a pretty map as part of this process. In order to present you with accurate information about the domains you could possibly pick from on your server, we have to ensure that the information about the world is reflective of what you will see in the final game. That makes sense, right? Otherwise, what are you really picking?

What may not be obvious, however, is what that actually means. We’ve talked a little bit about how Elyria is really big before, so I’ll spare you the comparisons to a piece of land in our game versus, say the entirety of the realm of Skyrim in the game of the same name. But it’s more than just spacious; every parcel of land that makes up the world of Elyria is packed with data that represents the conditions at that location. It’s generating that data that takes the most time in the process.

In Map voting you all picked your maps and, as you’ll recall, they looked a little like this:

Now, this fine map wasn’t one of the ones picked, so it may not ring a bell, but like all the potential starting continents for each server, this one contains a fixed number of different biomes, each with a certain number of duchies containing some number of counties.

You could take that map, for example, and create a kingdom mask that defines which parcels of land belong in which kingdoms, like so:

That’s a nice and easy set of data there. Of course, each of those kingdoms is divided into duchies:

Now things are starting to get a little more complex. At least we’re still dealing with static data, something you can easily create, manage, and discern from a simple visualization. You might assume that the next step would be to divide the world into counties, right? However, how would you do that?

Every county needs to have a settlement in it. Every settlement needs to know about the resources and conditions of the world around it to decide where in the world map it should be placed. That means you can’t really draw up some county lines and then try to back-fill them with settlements. You must approach the problem from the other direction, instead. To do so, you need to know about the world in greater detail. For example, you need to know about the life-sustaining resources in a region to know how large settlements can get.

Which means the next logical step, if you’re doing this accurately, is to gather information about the biome, including the types of soil you can find there, the weather conditions there, and the types of resources (Mineral, Flora, and Fauna) there and, with that information, run a series of algorithms that simulate the natural processes that would place those resources into the world. When you do, what you get back is a “parcel set” – a set of parcels (64m cubed plots of land that make up the surface of the continent) full of data about what resources and soil types can be found there, how much water the parcel can retain after a rain, etc.

Suddenly, there’s more data than you can easily describe. This was a problem for us as we were vetting the results of our various algorithms and simulations. Originally, as I showed in a previous shiny, we had a basic output log that was written in text, but that wasn’t giving us information in a particularly useful form. Often, it would simply tell us that something was wrong, but the raw numbers wouldn’t really give us good insight into why. At that point, we turned to visualizing the various elements we were generating.

That’s when some of the challenges we were facing started to become clear. For example, you might suddenly learn that the level of caves in some biomes is just too damned high:

These visualizations are incredibly useful for us. It’s thanks to them that we’ve been able to track down and adjust the emergent outliers that could disrupt the outcome. These effects are created by the interplay of the numerous algorithms at work building the world, so they’re hard to predict, but they can become obvious if you can look at the data properly.

It’s not always done to find problems, to be fair. Sometimes we want to make sure that we’ve made changes that didn’t mess everything up. For example, when we changed the definition of land that can be farmable to incorporate some of the more extreme farming types: It was an intentional change and one we knew would have an impact on the amount of farmland in a world, but sometimes it’s easier to understand what that looks like when you can – literally – see what it looks like:

So, for those of you that have been asking, a lot of what the designers participating in DSS development have been doing recently is poring over maps like these to make sure that every change we make results in data that is not just informative to you, the players, but also in line with what we know the game systems and mechanics need to properly simulate the world of Elyria.

And, sometimes, that’s difficult. With this much data and these many systems interacting there is a bit of a butterfly effect happening. Sometimes you change how many caves are near the desert and an entire population shifts their homes to live in them. Other times, you change how much nutritional value can be foraged out of a mixed-leaf forest and towns become cities teeming with Neran and Kypiq. It’s not as simple as declaring a rule and then enforcing it, because there are still other systems later down the line (such as cooking) that require these values to fall within certain ranges to work properly. It’s very much a tuning process, more akin to trying to find the right mix on an equalizer needed to hear exquisite, perfect music.

In the end though, what you get is a world teeming with life, just ready and waiting for its players to step in and experience what is has to offer. And, to us, that makes it all worthwhile.

Stay shiny, Elyrians!

  • Snipehunter
5/24/2019 12:50:28 AM #1


5/24/2019 12:50:56 AM #2

Agh, almost had a heart attack thinking the shiny was THE maps today.

Looks great Snipe :D appreciate these in depth dives, as always.

5/24/2019 12:50:58 AM #3


5/24/2019 12:51:24 AM #4

Nice. This is helpful Snipehunter Thanks

5/24/2019 12:54:23 AM #5

So many maps going into the maps.

Great info Snipe! :)

5/24/2019 12:54:32 AM #6

Shiny Thursday: Episode V — Map H Strikes Back

You will never be forgotten, my friend. :'(

5/24/2019 12:56:18 AM #7

Wow. Love this approach to making our worlds, although as someone who plans to live in a cave I don't see a problem with more caves! :)

Link to my story

5/24/2019 12:56:30 AM #8

Good info, thanks Snipe!

5/24/2019 12:56:53 AM #9

My body is ready.

Friend Code - 93294C

5/24/2019 12:57:24 AM #10

Nice to see the progress.

County of Kolglais

5/24/2019 12:57:24 AM #11

Sound very complicated indeed . Good luck SbS !

5/24/2019 12:59:09 AM #12

very complex problems to sort out...very interesting , thank you for sharing

5/24/2019 1:06:12 AM #13

Thank you for sharing this with us. It's helpful to get a peek at how things are going and what is involved. Very much appreciated!

5/24/2019 1:22:57 AM #14

This looks very complex its a good look at what it takes to build an entire world. Thank you for sharing this with us.

5/24/2019 1:24:04 AM #15

looks great can´t wait for it all to go in to DSS

Log in to post