Hail fellow Elyrians! Since it is, once more, that most shiniest of days, I figured it was time to pull the curtain back and give you a glimpse backstage. Now look, I know I told you three weeks ago that we'd get back to the architecture stuff next, but, I mean, I'm not going to lie: I'm mad with power now, and no one can stop me.
And, since no one can stop me and I'm excited about the fact that we showed a preview of the map style you'll see in the upcoming domain and settlement selection phase, I decided that I'd talk about how we make those maps a bit, instead. There's gonna be a couple of images in this one. I'm kind of sneaking in a design journal here, I do hope you'll indulge me.
First, let me highlight the style preview we released yesterday:
As you probably remember from map voting, the terrain data (what we call heightfield data) looks something like this:
The levels of detail we're talking about here are massively scaled back from the actual game data size. See that exploded section with the black and white terrain? Even that magnification is still not to scale. That's something like 50m-100m per pixel. If you have the time to download a megabytes large file, here's the same area of terrain from those two orange boxes, at the 4m per pixel resolution.
We have literally terabytes of just terrain data, plus a whole heap of other data like where the roads are, where the mineral deposits are, the state of the water table/waterways in a region. Etc. All of that data has to be used to inform the final map, but the final map needs to show a particular level of detail, be that for Domain and Settlement Selection, or to be able to scale your potential output based on the techniques and knowledge your character using cartography has at their skill and knowledge levels.
That process of scaling down, of selectively pooling data into smaller scale abstractions, is actually much more complicated than the process for stylizing the output. For Domain and Settlement Selection, we can scale that data based on what we know we want to show you - e.g. we won't incorporate displaying mineral deposits, even as we use them to decide things like "where are the mining towns?" as we build the world. But for cartography, we have to be able to selective scale, or omit, that sort of data from your cartography output based on what your character knows and knows to look for in their cartographic training, as well.
Only after all of those decisions have been made, and the data transformed into friendly bite-sized chunks that don't bring heavy iron servers to their knees, can we actually apply the "style pass" that makes it look like a fantasy map.
That process, which I don't really mean to undersell, is MUCH simpler, at the end of the day. But, in this case, MUCH simpler is still not pretty simple: The system has to look at the scaled height data and interpret that data to find all big, medium, and small mountains (and likewise, hills and mesas), then find the area they cover, and then fill that area on the stylized map with the appropriate hand-drawn icons.
It has to do the same thing with the roads and waterways, checking where each intersects or changes altitude dramatically to determine if a waterfall, bridge, or ford icon needs to placed over the road or waterwall. It also crawls the heightfield data to find the valleys and other features to do something similar, comparing their height variations to determine if they rate as dramatic enough a feature to call out and picking the appropriate icons for display.
It also has to evaluate the biome, soil, and climate data to determine how to shade that part of the map or whether or not it needs to also overlay icons, such as the wetlands or badlands icons. And then on top of that, it needs to evaluate every settlement in the area of the map to determine what type of settlement they are to properly label them, as well.
There are dozens of steps involved just to stylize the data once it's been properly transformed, and they get more and more intensive the more your character knows about the world around them when they make maps. On top of that, players have their choice (once they learn how) of presentation styles and icons to use and they have the ability to add their own discrete data (icons, labels, etc.) at the same time, adding even more data to the pile to stylize.
All in all, hundreds of steps go into building the map of the map of the world that your characters will reside in. For some projects, that'd be overkill, but delivering the right experience is incredibly important, because how the game feels - especially how we present data to players - is a major piece of what makes a MEOW a MEOW and not an MMORPG.
We put a lot of effort into building the world so that it can turn around and present you the experience and adventure we've all craved, but seldom feasted upon, in traditional MMOs.
Building that process was a whole process in itself, but I gotta say, it's incredibly satisfying to know that some of the output of that process, our Domain and Settlement Selection maps, will be in your hands in the very near future.
Stay Shiny friends! :)