The Big Bite - Mapping in 64K


Its been a few months since I got my new computer with 24 Cores, 128GB RAM and and lots of other performance enhancements, what is it like to work on a fantasy world using state of the art tools? Well to be honest, overwhelming and awesome at the same time. As most of you are well aware of, I have a tendency (to put it mildly) for details, especially in my cartography. Now for the first time I feel I have what it takes to create the maps  have always dreamt of, three dimensional terrain in detail enough to satisfy every setting nerds deepest desires.

Having the tools are a good start but far from the whole story, and the next step to mapping nirvana are to tame the software to do your bidding.  My main tools for terrain creation are  World Machine and Gaea. Gaea can produce them most awe inspiring terrain but still lacks robust river and lake system tools, which are a key part of large scale terrain building in most cases. So my plan was to stick with World Machine for the grunt work and use Gaea for certain features and for final presentation renders. Its been a lot of "World Machine Spaghetti creation the last couple of months"

The plan is to start using my Porta Potty Scale of 5ft per pixel, and for a 64K map that is 65,536 x 65,536 pixels covering an area 3,600 square miles. After having made the first renders at this scale it started to dawn on me both how immense the task is and how immersive the results are. Below is the Southern Shield Lands with Scragholme Island, the Veng estuary and a large part of the South Western Shield Lands.

It is impossible to render anything in that high resolution in a single go, on any desktop computer so it has to be made in tiles. All in all 64 of them, each being 8,192 x 8,192 pixels covering 7.5 x 7.5 miles. The heightmap render of all the tiles took about 12 hours which is is about ten times faster than my old computer, meaning I can do ten times more in the same amount of time. A task of this magnitude is way beyond what my old computer could have handled regardless of time.

The results are good, not perfect but definitely good. The tiling process introduces errors, which are a problem but something I'm very aware of and  have worked on trying to solve or at least minimize , for years. The main issue is that WM treats each tile as its own little word not aware of the bigger picture. This affects rivers which sometimes flows in opposite directions towards a tile edge where they meetup. Another issue are the general terrain elevation might be higher in some tiles and when the blending sets in to try and smooth over the difference it creates a straight gradient to make the two tiles fit.

Both of these issues have to be adjusted on a tile-by-tile basis afterwards, trying to work out the best way of doing this and are making progress. Thankfully its not every tile border that have issues so its is hopefully possible to adjust these errors afterwards. A large part of the mapping stream this afternoon will be working on this.

When the terrain is rendered it is back into World Machine to render textures and masks. I figured out fairly early that it was best to separate this into two stages, bot for performance, but also to make sure I have a stable and fully detailed heightmap to work from. The preview terrain in World Machine is only the same seen at the full resolution, so it involves a lot of guesswork. This becomes especially annoying when you creating detail texture work with things like rock, beaches and such appearing either nowhere or everywhere depending on where you move the camera. By rendering and exporting the full resolution height map, and then importing into a new file you can do the detailed texture work on a stable defiled terrain set.

The next step is to render the textures and all the accompanying masks at the same resolution of 5ft per pixel, a whopping 1500 files for each 64K area. They are all necessary or useful for the next step, texture editing in Photoshop. This first editing step is crucial to adjust the general color, tone, saturation, contrast as well as blending the all the different textures better. World Machine programming can only take things this far, the final touch up requires a keen eye and a lot of patients.

The key for this phase is to try and make even the areas that lack ay significant features interesting and natural lookin.

Many billions of pixels spread out over more than a dozen layers are daunting, it is possible to create such a large file in Photoshop but not efficiently working on it. Instead I have decided to go with a "floating" progression, start with a single tile. Enlarge the image to cover the next tile and work on it to match the first area, then save the first area as a separate file, enlarge again and repeat.

This method means that I only need to work on 4 tiles at the most at any given time, which is manageable and still make sure all the tiles fit together.  Forest cover, roads and buildings can also be added during this step which makes it much more interesting. Worldbuilding when you have to place settlements, buildings, signs of agriculture, roads and all the other trappings of civilization that can be seen at this resolution is a lot of fun.