Showing posts with label height maps. Show all posts
Showing posts with label height maps. Show all posts

Wednesday, 4 June 2014

Great Caldera Poster Map Finished

Close to a year of work on the Great Caldera's overview map came to a head last weekend, and the map is finally complete, and entering the pre-print stage.

Vicinity of Seahollow, capital city of the fellfolk nation of Belledor, Great Caldera, World of Calidar.  Topographical map.  Stereographic Projection.
The area around Belledor's capital.
Exciting times for me, as this will be the first map I've ever had printed.  

Meanwhile, Bruce has posted two articles previewing the maps.  Part one covers the southern realms of the Great Caldera, while part two deals with the northern half.   He mostly concentrates on giving some background to the labels he devised for each nation.  It's a great read, with some tantalising hints of what is to come, as well as some classic Heardian humour.

I'd like to add a few comments about the creation of the art featured on these maps.

First up is the Belledor fragment at the top right, which depicts the area around Belledor's capital, Seahollow, in the province of Seafolk.

Grimsvik is the capital city of Nordheim, and also regional capital of Steinfold, Nordheim's leading realm, in the Great Caldera, World of Calidar.  Topographical map.  Stereographic Projection.
Grimsvik, capital of Nordheim.
The map is composed of numerous layers, which all come together to produce the terrain you see here.  At the base of everything is the height map, which I have posted about extensively already.  Suffice it to say that this map took about six months to design and erode at full resolution.  It is a 3D model, with sculpted mountains and valleys, rolling hills, and rivers meandering through the plains.  On top of this is a gradient map, colouring the terrain based on elevation, so that the plains and lowlands are light green, the hills are tan, and the mountains are grey-brown.  There are actually five or six of these gradient maps, allowing the painting of other terrain types such as grasslands, desert, swamp, and taiga on top of the plains.

What this means is that you can tell the elevation of any particular spot just by looking at the colours, and on the height model I can measure the exact height of any point on the map if necessary.  Mountains named on the larger scale maps (such as the hex map) refer to actual peaks visible on this map.

Central area of wizarding realm Caldwen, including its capital, Arcanial, in the Great Caldera, World of Calidar.  Topographical map.  Stereographic Projection.
Central Caldwen.
Next come the sea and lake masks, and the rivers.  The sea is a simple mask derived from the base height map, coloured blue.  The rivers are also generated from the height map.  We decided on the general locations during the design process, and then let erosion create the exact shapes in a natural way.  For some areas — Alfdaín comes to mind — this took multiple attempts, and was a bit of a headache, but I'm very pleased with the final results.  Lakes were added to the height map after erosion; Bruce designed logical shapes that fit in with the river systems, and I dug them into the height map.

At this point, we haven't done any work on lake or sea beds.  That may come at some point in the future, but for now it's all just flat surfaces.

With the land and sea all done, the last three layer groups add lighting, texture, and overlays.  Lighting consists of a 3D render of the height model, which with transparency effects gives shape to the underlying terrain.  Texture is predominantly visible in the sea areas, and to a lesser extent on the land.  It is a parchment texture, designed to bring consistency to the map.  I chose not to also incorporate the colour of the parchment this time.

Mythuín, in the Matriarchy of Andolien, is the capital of the elven realm of Alfdaín, Great Caldera, World of Calidar.  Topographical map.  Stereographic Projection.
Alfdaín's capital, Mythuín.
Finally overlays refers to the graticule (the grid of latitude and longitude lines over the map), borders, roads, icons, scale, legend, and of course all the labels.  This layer sits on top of everything else.

I will post more about all of these things after the release.

For now, I am now putting all my efforts into the second poster map, the hex map of Meryath, which is also mostly done.  The finishing touches should be done by the end of the week.  After that, it's back to the internal maps.  These, too, are at an advanced stage of design.  Everything should come together within the next few weeks.  It will not be long now before you can hold the book and the maps in your hands.

A full view of the dwarven realm of Araldûr, Great Caldera, World of Calidar.  Topographical map.  Stereographic Projection.
Araldûr, home of the dwarves on Calidar.  This image shows almost exactly what the final map will look like.

Sunday, 23 February 2014

World-building: Building Base Height Fields


There are two stages to building a height map of your world: first you make the base height field, then you put it through the erosion process.  This article covers the first of these stages.  A separate article on erosion is also in the works.


Thorf's World-building Techniques: The Making of the World of Calidar
This is the fourth in a series of articles.
Click here for the series index.
Software
How you go about making your base height field depends largely on what software you have available.  I use Adobe Photoshop, but my techniques should also be possible in GIMP, which is a free alternative to Photoshop.

You can find lots of tutorials for Photoshop (as well as GIMP) over at the Cartographer's Guild.  I have consulted a large number of tutorials at the Guild in the course of this project, for which I am very thankful, and the Guild members are a very helpful and friendly group.  I highly recommend joining and posting there when you are in need of help or advice.

My method uses image editing software rather than height map editing software, but it's also possible to generate various kinds of random height maps using a fractal or height map editing program.  Fractal Terrains and Wilbur, both by Joe Slayton, are among the best of these.  Fractal Terrains is available from ProFantasy, while Wilbur is free.  We will return to both of these programs for other uses later in this series.  Other options include Leveller, World Machine, and Bryce.

The problem with all of these programs is a certain lack of control: the random element can get in the way, preventing you from generating terrain the way you want it to look.  Having said that, it's obviously a lot easier and faster to go with random terrain, so if it suits your purposes, go for it.

For this series of tutorials, we are starting this stage with pre-designed continental outlines, so Photoshop is our tool of choice.

What is a Height Field?
height field, height map, Torvan, Bruce Heard, World of Calidar, Thorfinn Tait
A greyscale PNG height field built using this tutorial,
showing the island of Torvan, southwest of the Great Caldera.
A height field is a specialised map of an area, modelling altitude/elevations.  They are also known as height maps, bump maps, or more formally Digital Elevation Models (DEMs).  Like regular image files, height fields are made up of point-based data, and in fact many height fields use the pixels of regular image formats such as PNG and TIFF to store and display their data, usually in greyscale.  Each pixel on the map represents the elevation at that point; as such, the resolution of the map directly determines the accuracy.

DEMs come in a variety of formats, but for our purposes the most useful are the most easily accessible and editable regular image formats.  I use PNGs for all my height fields.  (Note that Photoshop needs a third party plugin such as SuperPNG for full compatibility with PNG files over 30,000 pixels square.)

White is high, black is low
height field, height map, Torvan, Bruce Heard, World of Calidar, Thorfinn Tait
Do you see the black as the land?  Don't
worry, you'll quickly get used to seeing
white as the high ground, although it
may well seem counterintuitive at first.
In height fields, the highest points are represented in white, with darker and darker shades of grey standing for lower and lower elevations, until the lowest points are shown in black.  For this reason, height fields often show white land on black sea.  If the sea floor is not shown, pure black is sea level, and everything else is land.  It's also possible to show both the sea floor and the land, in which case a certain level of darker grey will represent the point where the sea meets the land at sea level.

Advantages of Height Maps
But what exactly is a height map for?  Why are they useful?  What do they allow us to do?

Well, since they show elevation data, they can be displayed as 3D models.  Because of this, they are often used for terrain in 3D computer games.  In terms of fantasy mapping, height fields potentially allow us to walk around and fly over the worlds we create.

Wilbur's 3D preview of the height field above, using a custom shader.
The dark pillar is the height marker, showing the relative height of
Calidar's highest mountain, at 8,925 m.
But there's an even greater function for cartographers: they facilitate the creation of shaded relief — topographic shading showing the shape and contours of the land.  This can be done using various kinds of shaders in Wilbur, or by rendering the scene in a fully-fledged 3D rendering engine such as Blender.

Finally, the elevation data can be cross-referenced with other data to produce other kinds of shading.  The most accessible form of this is the climate shading of Fractal Terrains, which applies textures to the land based on altitude, temperature and precipitation.

All of these functions will be covered in future articles in this series.  For now, let's get back to the topic of creating out height field form scratch.

Making a Base Height Field in Photoshop
height field, height map, Feorad, Bruce Heard, World of Calidar, Thorfinn Tait, Equirectangular Projection
Feorad cropped from the Equirectangular Projection Calidar world map.  You may want to consider reprojecting each continent or region and working on it separately. There is no one perfect projection, but conformal (shape-preserving) projections are desirable for working on height maps and erosion.  At a bare minimum, the poles will need to be done separately from the rest of the world.
Setting Up
Open your finished continental outlines file in Photoshop.  If it needs cropping, reprojecting, or scaling, do that now.  (See my previous articles on Continental Outlines and Map Projections and Scale for more on these topics.)  If it's not already white land on black sea, you'll need to make that change now too.  After changing the colours to black and white, run Image / Adjustments / Threshold / 128 to make sure that the edges are sharp — anti-aliasing can cause problems during erosion, so it's best to work with sharp edges for now.

height field, height map, Feorad, Bruce Heard, World of Calidar, Thorfinn Tait, Lambert Conformal Conic Projection
Feorad reprojected onto a conformal projection, Lambert Conformal Conic.  The point at the top is the north pole.  This is revision 4j.  Early on I decided to use a number plus letter versioning notation for Calidar's maps, starting with 1a.  Major changes incur a number increment, while minor changes advance the letter.  The resulting version codes are easier to remember and therefore more meaningful.  As of February 2014, Calidar's latest revision is 4j.  Other worlds have their own codes, so Soltan is on version 2c, and Ghüle is on 2a.  These codes allow me to see what maps and data are concurrent with each map.
Since this is an image map, we don't need any colour: Image / Mode / Greyscale.  You can work in either 8 or 16-bit.  These settings are also in the Image / Mode menu.  8-bit provides 256 shades, while 16-bit ups that to 65,536 shades.  If you're going to be doing erosion anyway, it's not actually all that important, because erosion will smooth over imperfections in the height map anyway.  Using 16-bit files will also take more memory, and entails longer loading and saving times.  Personally, I usually work with 16-bit PNG files despite these disadvantages.

Name the coastline layer with the world/region name and version, and set Opacity: Multiply.  This layer will be one of the top layers of your file.  Multiply means that black will mask out everything below it, while white becomes completely transparent, allowing everything below it to show through.  So you can think of this layer as a sea mask.

Let's create some layer folders to keep things organised.  Do this now for the coastlines layer by selecting the layer and pressing Control/Command G (or choosing Layer / Group Layers in the menu).  Rename the group to Coastlines.

height field, height map, Thorfinn Tait, Adobe PhotoshopGroups may seem unnecessary now, but as you accumulate more adjustment layers they will be a big help.  They also allow you to easily toggle the visibility of each group of layers.

Next we'll set up a shadow around the coast.  These layers will make land fall away more gradually to the sea.  Without them, your land masses will likely be surrounded by tall cliffs.  Hit W to select the Magic Wand Tool, set Tolerance: 0, Anti-alias off, Contiguous off.  Select the coastlines layer and click on the black sea area to select it.  Press Control/Command J to do a Layer Via Copy, then Control/Command G to make a new group for it.  Name it Coastal Shadow, and move it out of the Coastlines folder, to the bottom of the layers panel.  Rename the layer itself Coastal Shadow 1.

Right click on Coastal Shadow 1 and choose Blending Options, then Stroke.  Dial in the following settings: Size: 50, Position: Outside, Blend Mode: MultiplyOpacity: 100%, Fill Type: Gradient, Gradient: Black, White, Reverse: Yes, Style: Shape Burst.

Depending on your map, you may need to tweak this shadow.  You can do this by adjusting the size, and if necessary the opacity.  Come back and experiment with this later, when your height field is almost complete.

For now, click on the eye to Hide the Coastal Shadow folder.  Processing this layer can be processor intensive, and you may find that the file is much more responsive with it off.  Don't forget to turn it on again later, though.

Set up one more folder for future use: click on the folder icon at the bottom of the Layers panel to create a new group.  Rename it Altitude Scaling, and move it to the top, above Coastlines.  We'll come back to Altitude Scaling later.

Terrain Layers
height field, height map, Thorfinn Tait, Adobe PhotoshopNow it's time to start on the terrain itself.  Make three new layers at the bottom of the file, underneath Altitude Scaling.  Name them Mountains, Hills, and Base Terrain, and place them in that order top to bottom.  Create layer groups for each of these layers (Control/Command G), and name them Mountains, Hills and Base Terrain too.

Hit D to reset palette colours to black and white, then Filter / Render / Clouds in all three layers.  For the mountains layer, optionally hold Alt/Option while clicking in the menu to render clouds; this will give higher contrast clouds.

Optionally, you can render the clouds at half size and scale them up, or at double size and scale them down.  Each white cloud will become a peak in your final map, so in this way you can control how big or small the mountains will be.  Your choice will depend on the scale of your image.  For Calidar, I rendered clouds in a separate file that was double the dimensions of the main map, then scaled them down and copy-pasted the layer in.

For all three layers, Filter / Render / Difference Clouds, and repeat until you get a random texture to your liking.  I'm partial to the valley-like channels you get with either one or three renders of difference clouds, so I tend to do just one step of difference clouds for hills and mountains, and either one or three for base terrain.  Experiment and find something you like.  Remember that at any stage you can also invert the clouds to get a different effect.

Add a levels adjustment layer (Layer / New Adjustment Layer / Levels, or click the icon in the Adjustments panel) above each of the three terrain layers.  Right click on each level layer and select Create Clipping Mask (or Alt/Option click the layer) so that the levels only affect the layer immediately below.  Then dial in the following settings:
  • Mountains: 0/1.40/188Output Levels: 175/255
  • Hills: 0/1.80/195Output Levels: 87/191
  • Base Terrain: 0/1.00/240Output Levels: 1/104
Your file is now ready to go.  Time to start shaping the terrain.
height field, height map, Thorfinn Tait, Adobe Photoshop, render clouds height field, height map, Thorfinn Tait, Adobe Photoshop, render clouds height field, height map, Thorfinn Tait, Adobe Photoshop, render clouds height field, height map, Thorfinn Tait, Adobe Photoshop, render clouds
Difference clouds applied once
High contrast, full resolution
Mountain base layer
Difference clouds applied once
Normal contrast, full resolution
Hills/Base terrain base layer
Difference clouds applied once
High contrast, double resolution
Mountain base layer
Difference clouds applied once
Normal contrast, double resolution
Hills/Base terrain base layer
Sculpting Hills and Mountains
Add layer masks to the Hills and Mountains terrain layers (click on the Add Layer Mask button at the bottom of the Layers panel).  Invert each mask by selecting it and pressing Control/Command I. Your Base Terrain layer will now be the only layer visible.

Next, draw in hills and mountains by painting white onto the layer masks of the Hills and Mountains layers.  The layer mask determines where and how much of each layer shows through.  There are a number of different ways to do this:
  • Using a soft, large brush, draw the broad strokes of your mountain ranges and hills in the adjustment layers.  Don't worry about making them random at this point — bold strokes with high opacity and large brushes are fine.
  • Use hard brushes (or an to make more decisive strokes, then select them and use expand selection and feather selection, followed by fill white to soften them up.  Again, don't worry too much about making them random.
  • Use a tablet to sketch your mountain shapes.  Set pressure-sensitivity to opacity, and it should be easy to create convincing ridges and chains.
  • Click on the mask while holding Alt/Option to see the mask, and edit it directly.  The main advantage of doing this is that you can paste directly into the mask, so it's possible to copy and paste other images to create your mask.
  • Use filters to create or edit your shapes.
Regardless of how you create your mask, the last option is a good way of finishing it off.  I use a jiggle filter to roughen and randomise my mountain and hill masks.  Alien Skin's Eye Candy 7 Photoshop plug-in has a "shower door" setting which can do the job, especially with extreme settings.  Try experimenting with other filters to mess up your design.
height field, height map, Thorfinn Tait, Adobe Photoshop, layer mask height field, height map, Thorfinn Tait, Adobe Photoshop, layer mask height field, height map, Thorfinn Tait, Adobe Photoshop, layer mask height field, height map, Thorfinn Tait, Adobe Photoshop, layer mask
Hills mask drawn with soft, low opacity white brush The same hills mask with "shower door" filter applied Mountain mask drawn with soft, low opacity white brush The same mountain mask with "shower door" filter applied
Tweaking
When you are satisfied with your hills and mountains, zoom out and have a look around your map.  Zoom in and look at the details.  Tweak the layer masks here and there where necessary.

If you want to flatten out the base terrain in places, use the eyedropper to pick up a very dark grey (not black!), then paint on a new layer (call it Adjustments) directly above the Base Terrain layer using soft, low opacity brushes.  The same technique can be used to make plateaus on the Hills and Mountains layers: create an Adjustments layer, then pick up a median colour from the area and paint in your flat area, building it up slowly using soft, low opacity brushes.

Be aware that your base height map will more directly affect the final look of your map than any other factor.  In particular, erosion will sculpt your mountains nicely, and it will smooth out minor artefacts and graphical glitches.  But it won't solve major problems that were inherent in the height map to start with.  It's worth taking the time to tweak things at this stage, at both micro and macro levels.  The erosion process takes time, and such tweaks become much harder to do after erosion.

With that said, there have been many times that I didn't discover something was a problem until I finished the erosion process.  As a result, most of Calidar's maps have actually gone through multiple passes of height field building and erosion, with each pass returning to the drawing board to fix various problems with the design before going through erosion once again.

Outputting your Height Map
Save your file, then Layer / Flatten Image and save as a PNG.  I have had problems using "save as copy" files in Wilbur, so although it's a more convenient option, it seems to be more reliable to flatten and then save as a PNG.  Another option is copying merged: Select All with Control/Command A, then Shift Control/Command C to Copy Merged.  Control/Command N to create a new image just right for the clipboard data, and Control/Command V to paste.  Save that image as a PNG file.

Now it's off to Wilbur, for erosion!

Well, actually no — probably not yet.  We will load up Wilbur, but before starting erosion, it's well worth going through one last round of tweaking.

Basin Tweaking
Load your PNG into Wilbur.  Have a look around — Zoom In with Control +, Zoom Out with Control -.  Seeing things shaded using Wilbur's shaders should give you a new perspective on your map.

Now let's see what happens when we use Wilbur's Fill Basins command.  Filling basins is an important part of the erosion process, without which the incise flow command does not function.  Any basins without drainage will be filled up to the level of the lowest drainage point in the surrounding rim.  Unfortunately this means that it is not possible to include basins without drainage in your design.  This includes lakes, which will need to be re-dug after erosion has been completed.  If you want to include lakes or other such depressions completely surrounded by higher terrain, create a channel out of the area to lower terrain, and fill it in again much later after erosion processing.

Select / From Terrain / Height Range: 1 - 999,999 to select only the land.  Filter / Fill / Fill Basins or just hit Control B.  (Note that Wilbur's fill basins command is limited to images of 10,000 pixels square or less.)  Then compare the results with your map in Photoshop.  If it helps, save a copy out and import it in to your height map Photoshop file: File / Save As / PNG Surface (the default — click yes for 16-bit).  This will allow you to more easily see which areas need tweaking.

The areas filled in will be completely flat, which may be undesirable.  Small areas can be ignored, as erosion will take care of them, but with larger areas it may well be worth tweaking the height map design to prevent them from being filled in.  This is done by darkening the edge of the basin to create a channel to a lower area.

Wilbur has a number of different shaders to choose from, available in the Texture menu.  Greyscale Bump Shader is the black and white raw data view which corresponds to the height map design in Photoshop.  But this is not the most human-readable shader.  I find that it's easier to understand what I'm looking at using the Wilbur Shader, which is freely customisable.  Although it's configurable to other settings, it's usually altitude-based.  This kind of shading is known as hypsometric tinting.  It's easy to conflate climate information with this shading, which would be a mistake.  It assigns colours based on altitude alone.  For this reason, many cartographers avoid using a realistic-looking palette.  As long as you bear in mind what the colours mean, there shouldn't be a problem – but bear this issue in mind especially when showing other people your map.

You can save any of Wilbur's shaders as PNG files — just choose PNG Texture in the Save As dialog window.  Note that should you wish to import these into your Photoshop height map design file, you may need to first set your image to colour: Image / Mode / RGB Colour.  Otherwise the imported images will just show up as greyscale.

Altitude Scaling
There's one last thing to do before our height field is finished: scale the relative altitudes on the map.  There are two reasons to do this:
  • To keep all of your maps in scale with each other, and
  • To add some variation to the height of mountain peaks across your map.
For Calidar, Bruce decided on the height of the highest point, and I added a white marker to all of the height fields showing that height.  Altitudes across the map are then lowered using a levels adjustment layer.  This is necessary because any height field loaded into Wilbur is automatically scaled across the maximum range of greyscale values.

The other issue is that my height map design can easily result in a map where the highest peaks are the same throughout a mountain range, or indeed throughout the map.  This just looks wrong.  The solution is in the same levels adjustment layer.

Here's how it works: make a new layer in the Altitude Scaling folder, and name it Absolute Height Value.  Somewhere in the sea, draw a large white dot with a large, hard brush.  This white dot represents the highest altitude on your world.  Next, create a new levels adjustment layer below the Absolute Height Value.  Set the Output Levels at whatever level you want the average highest altitude to be.

You can calculate what number you need to enter by the following formulas:
Absolute Height Value / 255 = altitude per shade 
Average Highest Altitude / altitude per shade = Output Level (highlight)
For example, on Calidar the absolute height is 8925 m.  I would like to set the average highest altitude at around 2500 m.
8925 / 255 = 35
2500 / 35 = 71.4
The Output Level only accepts integers, so we have to round to 71 or 72, but regardless this will be about right.

Now comes the interesting bit: add a Layer Mask to the levels adjustment layer.  Painting black with a soft, low opacity brush on this mask will gradually disable its effects.  The affected areas will have their maximum possible altitude raised.  This is a very powerful effect: you can use it to define the overall vertical shape of mountain ranges, and even to mark out certain peaks as being of certain heights.

Hypsometric Tints in Photoshop
Here's one last tip for working with height maps in Photoshop: you can use a Gradient Map to shade your terrain in exactly the same way as Wilbur's custom shader.  This is invaluable, because it allows you to see a more human-readable version of your map as you edit it.

To set it up, all you have to do is place an Image / Adjustments / Gradient Map beneath your coastlines file.  Note that if you are working in greyscale you will need to change to RGB Colour mode in order to see things in colour.  If this is unfeasible (for example if the image file is rather large, and in 16-bit greyscale), another option in Photoshop CC is to make a new file with the gradient map and use File / Place Linked to insert a linked copy of your height map below it.  The disadvantage is that you won't be able to see corrections as you make them.

You can customise your gradient map however you like; for Calidar I have recreated my custom Wilbur shader in Photoshop, so that I can use the same colours in both programs.

Gradient maps in Photoshop will be covered much more thoroughly in a later article, so I'll leave it at that for now.

Erosion
Once you've finished all this tweaking and are satisfied with your design, save your file one last time, then follow the instructions above under Outputting your Height Map to save your finished height field as a PNG for use in Wilbur.

That's all for this tutorial.  Erosion will appear soon in its own article.

Wednesday, 18 December 2013

A Study in Scale: Meryath

My article on scale was perhaps lacking in clear examples, so I have prepared some more images to show visually what I described in that article.

To recap, I have been developing the +World of Calidar on three different scales:

• World Map, 2 km/pixel
• Continental, 0.5 km/pixel
• Local, 0.125 km/pixel

The step down between each scale is a quadrupling of the previous one.  So a single 100 x 100 pixel area of the world map would become a 400 x 400 pixel continental map, or a 1,600 x 1,600 pixel local map.  It's important to understand that these scales all show the same area.

Kingdom of Meryath, Calidar, Eroded Height Map Scale Comparison, Albers Equal Area, Stereographic Projections
Kingdom of Meryath Scale Comparison
Here's what this looks like for Meryath.  Note that the full resolution local map is far too big to display at full size here, so I have scaled all the maps down to fit.  They are still in scale with each other, regardless of what size they are viewed at.

The point to take away from this is perhaps rather obvious, but its implications are not.  Clearly, higher resolutions show more detail.  Moreover, erosion produces more realistic results at higher resolutions/larger scales.  What's perhaps not so clear, but crucially important for cartography, is that the smaller scales are not meant to show things in great detail.

What this means is that even though the local scale map is much more detailed, it doesn't mean that it's better than the other maps.  Although it could be used to make the other two maps more detailed, you have to ask yourself if that's necessary – or even desirable.  Will it actually show more detail when reduced down so drastically?  There's a real possibility that it will in fact do the opposite, obscuring the important details with a mess of barely visible tiny details.

This is the crux, which I forgot to state clearly in my article on scale: world maps need only show world level detail.  Continental maps need only show continental detail.  Local maps are where you can go all-out on fine detail, but even then, if you feel like you're crowding things in, perhaps it's time to move down to another, larger scale still.

Finally, here are the three images in the scale comparison all scaled to the same size.  The local map has been shrunk down to less than a quarter its full size; the continental map is just a little smaller than full size; and the world map has been almost quadrupled from its native (rather tiny) size.  Bearing in mind the purpose of each scale, it's interesting to compare the difference in detail shown on each map.

Kingdom of Meryath, Calidar, Eroded Height Map Local Scale, Albers Equal Area Projection Kingdom of Meryath, Calidar, Eroded Height Map Continental Scale, Stereographic Projection Kingdom of Meryath, Calidar, Eroded Height Map World Map Scale, Stereographic Projection
Local Scale Continental Scale World Map Scale

World-building: Scale

Thorf's World-building Techniques: The Making of the World of Calidar
This is the second article in a series.
Click here for the series index.
For any kind of graphic, the size of your image or art board in pixels is an important consideration.  If you are ever going to print your image, you must also consider DPI (dots per inch).  If you are working with raster images, a good general rule is that reducing the size of your image is not a problem, but enlarging it is almost never a good option.  The reason for this is that it's easy to maintain sharpness when reducing, but enlarging invariably makes raster images look grainy and pixelated.

This rule applies to maps as well as other kinds of images.  Try to think of how you want to use your image, and choose your image size accordingly.  If you want to print it out, think about what size it will be printed at.  Print resolution standard is usually around 300 DPI.  If it's to be a wall poster, you'll likely need a rather large image.  If it's only going to be a small inset on a page, you can make it much smaller.

If, like me, you want to make an image that could cover all of these possibilities, the simple answer is to start big.  How big depends on the biggest usage you can imagine, plus one other factor: how big can your computer handle?

Before we delve into the topic of scale as it relates to digital maps, there's one more thing to consider: it may be tempting to try to work with a single, massive world map which can be zoomed in and cropped to provide continental maps.  I can't recommend this approach, firstly because it will cause you problems thinking about what size to make labels, and indeed what levels of labels to include.  Bear in mind that a world map is a world map, and unless it's designed to be printed out as a poster, it needn't display low level detail.  To put it another way, if you have to zoom in to see something clearly, it probably belongs on a continental or local map.

The second reason is that choice of map projections is severely limited for the world map, since by its very nature it shows the whole world at once.  Better to make separate, more detailed continental/regional maps, with increased levels of detail, as well as more appropriate map projections.

Now let's start talking numbers.

Scale
It seems to me that the most practical way to measure scale in digital raster maps is in kilometres per pixel, which I notate as km/pixel, or kmpp.  Raster images are made up of pixels as their smallest units, and most users are used to dealing with pixel sizes to at least some degree.

For an earth-like world, we have a great example of this in NASA's Blue Marble: Next Generation.  This wonderful (and beautiful) resource provides composited satellite imagery of the earth in Equirectangular Projection at three scales: 5,400 x 2,700, 21,600 x 10,800, and 86,400 x 43,200.  The last resolution is the full resolution, and NASA writes: "Blue Marble: Next Generation offers a years worth of monthly composites at a spatial resolution of 500 meters [per pixel]."

Let's think about those numbers.  Remember that Equirectangular maps are accurate at the equator, with increased east-west distortions as you move north or south.  This means that east-west measurements should be made at the equator.  500m per pixel means 0.5 km/pixel.  Multiply by 86,400 and we see that this model has the earth's circumference as 43,200 km.  Actual earth equatorial circumference is 40,075.017 km (according to Wikipedia), so the true resolution is likely around 0.46 km/pixel.

You can make the same calculations using north-south distances, because Equirectangular maps do not distort north-south distances.  The result is the same.

Calidar's circumference is in fact precisely 43,200 km, meaning that an 86,400 x 43,200 map is precisely 0.5 km/pixel for Calidar.  But this size is far too unwieldy for today's computers to work with, so I chose to go with a 21,600 x 10,800 base world map.  Do the maths and you'll see that this is equivalent to 2 km/pixel.  I will likely downscale this to 5,400 x 2,700, or 8 km/pixel, for printing at smaller sizes.

For my purposes, 21,600 x 10,800 seems like a good size of world map to be working with.  It's not insanely huge in terms of working in Photoshop and other programs using my current computers, and it provides a level of detail that can be printed extremely large (72" x 36" at 300 DPI), or reduced to be printed smaller.

World of Calidar Eroded Height Map Draft, Climate Shading Test, Equirectangular Projection
My first attempt at a height map for the +World of Calidar.  Note how
the mountains are huge – they dominate the continents as if they were
mere islands.  The colouring is climate-based shading done in Fractal
Terrains.  While this was the very first full world height map, this test
remains the only full climate shaded version of the world map to date.
As such, it was used to create the 3D render of Calidar seen in the logo
for this series and throughout Calidar's online presence.  It will
eventually be replaced with the finished map, once all of the continents
have been eroded. This was a very small test, at 3,000 x 1,500 pixels.
Height Maps and Scale
There is another reason for my choice of such a big image size, which is that the relative scale of terrain when you build a height map depends on image resolution.  More specifically, if you work with erosion, the results of the erosion filters approximate a certain real world scale.  This is why I have chosen to develop Calidar at such high resolution.

To recount my thought process here, I first created a height map of Calidar at 3,000 x 1,500 as a trial, but it quickly became obvious that the terrain was off-scale – individual mountains were hundreds of miles across.  In an attempt to solve this problem, I moved up to 21,600 x 10,800, but the results still did not satisfy me.

My solution has been to work in three separate scales: 2 km/pixel for the world map, 0.5 km/pixel for continental maps, and 0.125 km/pixel for local maps.  The size of the world at these scales is 21,600 x 10,800, 86,400 x 43,200, and 345,600 x 172,800 respectively – but note that the last of these will likely never be fully developed, nor is there any need to do so.

World of Calidar Eroded Height Map Draft, Altitude Shading, Equirectangular Projection
The first full 21,600 x 10,800 height map of Calidar.  In my notation, D
refers to the world map version: this is the fourth version of the fourth
(and final) draft of the continental outlines.  I advance the letter whenever
significant tweaks are made to the outlines, or when I start a new draft of
the height map.  This map was changed to version E partway through.
Note how the mountains are much finer than on the D test version, and
yet still far too big for the mountains of an approximately earth-sized
world.  This is the last time I played with coastal shelves and the sea
floor – after this map, I decided to leave them until after the land is all
finalised.
What this three stage system does is provide a nice level of terrain detail without going overboard with realism.

Wilbur's Erosion and Scale
My primary tool of choice for erosion is Joe Slayton's Wilbur, the sister program of Fractal Terrains.  Joe Slayton is a regular member of the Cartographer's Guild, and he is very gracious about answering questions and giving information about his software.  He has stated that Wilbur's erosion model approximates realism at a resolution of between 1 and 50 m/pixel, or 0.001 and 0.05 km/pixel.

World of Calidar Eroded Height Map Draft, Altitude Shading, Equirectangular Projection
I wasn't happy with the DE height map, so I started again with another
pass at the height map in Photoshop.  This is the eroded result.  You can
see the current design beginning to take shape, but the scale is still off.
A world built at 0.05 km/pixel would measure a whopping 1,080,000 x 540,000 pixels.  Clearly it is beyond the realms of possibility to develop the whole world at that level.  However, small local areas could certainly be done at this resolution.

For Calidar, this would mean one last quadrupling of the scale, from my "local" 0.125 km/pixel to a super-local 0.03125 km/pixel, or 31.25 m/pixel.  It's not beyond the realms of possibility that the need for such a map may arise in the future – for example, a detailed map of the area around a settlement.

Town maps may go further than this, of course, but by that point, terrain is hardly an issue, so it's really a moot point as far as height maps go.

World of Calidar Uneroded Height Map Draft, Altitude Shading, Equirectangular Projection
Map F marked the final design for the world map's height map, and I
never ran it through the erosion process – instead I split the world up
into continents at quadruple the resolution, with each continent
reprojected to a more suitable projection.  From there, each continent
has undergone its own development and refinement, and only when
they are all finished will the world map be reassembled again.
At that point the world map will be 86,400 x 43,200, but I will
likely shrink it back down to 21,600 x 10,800 to make it more
 manageable, leaving the fine detail for continental and local maps.
To sum up: the ideal resolution for Wilbur erosion is 0.05 km/pixel, but such realism is probably only necessary for local maps of small areas.  In terms of developing the world as a whole, much lower resolutions should give acceptable results, although the lower you go, the more blocky and oversized your terrain will begin to feel.

Traditional Scale
Those of you who are familiar with real world paper maps may have seen scales quoted as ratios: 1:500,000 scale, or 1:10,000 scale, and so on.  Depending on your background, you may or may not be familiar with what these numbers mean.

I find it useful for the sake of comparison to know what the equivalent scale in km/pixel is for each of these scales, so I researched the issue and came up with the following table.

Hex Scaleskm/pixelScale 1:?km width/1000 pixelsScaleWilbur
100200,000,000100,000Small Scale
50100,000,00050,000
2550,000,00025,000
1020,000,00010,000
7.214,400,0007,200
510,000,0005,000
24,000,0002,000
30 miles per hex1.53,000,0001,500
12,000,0001,000
10 miles per hex0.51,000,000500
0.33660,000330
0.25500,000250
5 miles per hex0.2400,000200
0.15300,000150
0.125250,000125
2.5 miles per hex0.1200,000100Medium Scale
0.05100,00050Ideal scale for Wilbur erosion
1 mile per hex0.0480,00040
0.02550,00025Large Scale
0.00510,0005
0.00255,0003
0.0012,0001
0.00051,0000.5

Note that the meanings of the phrases "small scale" and "large scale" are routinely mixed up in vernacular usage.  It's a natural mistake, because s
mall scale refers to progressively larger areas, while large scale refers to smaller areas.

A trick for remembering the correct meanings is that small scale refers to a view of everything from very high above, or very far away, making everything appear small.  Large scale conversely means looking at things from much closer, so that everything appears large.  Small scale will have generalised features, while large scale can include very precise detail.

Note also that the ranges for small, medium, and large scale presented here are not universal.  There is apparently no standard.  Wikipedia's article on map scale provides a different set of ranges, for example.

In terms of fantasy maps, the split could be considered as follows:

• Small scale: world maps, continental maps, many local maps
• Medium scale: some local maps, some city maps
• Large scale: some city maps, town & village maps, adventure location maps, floor plans

Hex Maps and Scale
Kingdom of Meryath, Great Caldera, Calidar, Eroded Height Map Hex Guide, Albers Equal Area Projection
This is the local scale version of Meryath, 0.125 km/pixel at full
scale, or sixteen times the resolution of the world map.  The hexes
here are 10 miles per hex (16 km per hex).  The precise
measurements mean that no scaling is necessary to use this as a
guide in Hexographer or Adobe Illustrator.
You may have noticed that I included hex scales in the table above.  We can calculate the km/pixel scale for a hex map quite easily, simply by dividing the height of a hex in pixels by its scale in miles or km.  How meaningful this may be is another matter, but it can be useful to know for the sake of comparison, and especially if you are working from a guide to create a hex map.

Calidar's hexes are 39 pixels tall, with the standard hex size being 10 miles per hex.  We may also be making 30 mile per hex regional maps, but not any smaller scales.  Larger scale 5 or 2.5 mile per hex local maps are also a distinct possibility.


I have done all the measurements in this article so far in km, so here are the scales in km/pixel for each scale of hex:

30 miles per hex – 1.23 km/pixel
10 miles per hex – 0.41 km/pixel
5 miles per hex – 0.21 km/pixel
2.5 miles per hex – 0.10 km/pixel

The nature of hex art of course means that in real terms hex maps don't include anything like this level of detail, but it's interesting to have the numbers for the sake of comparison nonetheless.

Conclusion
This has been a rather technical and probably boring article for many people.  Thank you if you read this far!  I hope it will prove useful for cartographers, at least.

Next in the pipeline is an article on creating base height maps in Photoshop.

Thursday, 5 December 2013

Maps of the Day 10-13: Eerien

To the west of the Great Caldera lies the vast continent of Eerien.
Eerien, Calidar, Equirectangular and Lambert Conformal Conic Projections
Eerien, Equirectangular and Lambert Conformal Conic Projections
The top map is an extract from the world map, showing a little more than a quarter of the map, from the Great Caldera in the east to the Isle of Obb in the west, and from Feorad Island in the north, down to Omfall straddling the equator.  From north to south this area is 10,800 km (6,750 miles), and along the equator it's a little over 25,800 km (16,125 miles).  The top line of the map is of course a single point, being the north pole.

Points of interest include a warped view of Feorad Island (compare it with the Lambert Conformal Conic views in the Feorad article to see what a huge difference the projection makes); the positioning of the Great Caldera in regard to the surrounding terrain; the northern part of Omfall, another huge continent which stretches down to the Antarctic Circle; the Aesean Duct, a narrow sea passage bisecting the two great continents; and of course Eerien herself.

Eerien is home to Calidar's tallest mountains, its highest peak reaching a towering 8,925 m (29,281 feet).  As such, the mountain design is of great importance.

The bottom image shows the true shape of Eerien, projected onto a shape-preserving Lambert Conformal Conic Projection.

The next images show the progression of Eerien's pre-erosion height map design.  This is currently the most developed area outside of the Great Caldera, although other parts of the world are slowly catching up.
Eerien height maps and 3D views, Calidar, Lambert Conformal Conic Projections
Eerien, Lambert Conformal Conic Projection
The top and bottom images are 3D views of Eerien, looking north from a point high above Omfall.  Although they are 3D views, the curvature of the world is not shown, though 3D view of Eerien on the surface of the globe is in the works for a later date.

The top image is a preview of the design, straight from Photoshop.  If you look closely, you should be able to make out that the mountains are all roughly the same height throughout the map - legions of white peaks everywhere.  Eerien is supposed to be extremely mountainous, but we wanted to introduce some variation to the heights.  Considering the sheer size of the base map – a staggering 22,737 × 14,049 pixels – it's not that easy a thing to fix.

However, I came up with an idea, which you can see in the middle image.  It's an adjustment mask which I applied to the base map.  There is a single pure white spot, which remains at full height.  All the rest are increasingly darker shades of grey, which pushed down the height of the mountain peaks under them.  This was all painted manually, and finally blurred before being applied to the height map.

The bottom image shows the result.  At first glance you may be wondering what the big deal is, but look closely and you should be able to see quite a lot of variation has been introduced into the mountain ranges.

One last point: did you notice all the pillars scattered across the bottom image?  These are there for a specific purpose, and of course are only there as temporary markers.  Would you like to hazard a guess as to what they are marking?  Hint: there are lots of them due to the sheer size of the map.

The answer is that they are scale markers, to help keep all the altitudes in sync.  There are lots of them because the map is split up into smaller parts for erosion, and each part must have a marker on it.  The height of the markers is 8,925 m, and on the height map they are pure white, marking the top of the world.

Without these markers, the programs which handle the height maps would make the highest height on each map white, and scale the rest accordingly.  That would mean mountains of 8,925 m all over the world!

he next image shows two renditions of the same height map.  I'm sure you'll agree that the colour version is much easier to read, but unfortunately when I need to make manual changes to the map, I generally have to work on the black and white version.  It's tricky, to say the least.

Eerien, Calidar, height maps, Lambert Conformal Conic Projection
Eerien Eroded Height Map, Lambert Conformal Conic Projection
This is the second draft of Eerien.  In order to perform erosion on this massive continent, I had to split it up into six different sections, each up to 9,999 x 9,999 pixels.  Of course the sections had to overlap, or putting them together would have been very difficult, since rivers would run in completely different courses.

Eerien's erosion has resulted in some very interesting terrain.  My favourite part is the plateau, which has gained a Grand Canyon-like ravine.  Immediately north of the plateau are the highest mountains in the world, so it's a fascinating area all round.
Eerien, Calidar, 3D views of eroded terrain, Lambert Conformal Conic Projection
3D Views of Eerien, Lambert Conformal Conic Projection
In this last image, we present five different 3D views of Eerien's terrain.


At the top you can see the continent in its entirety.




The middle row shows two different perspectives on Calidar's version of the Himalaya Mountains and the Tibetan Plateau.  These are the highest mountains in the world, although it may be difficult to see that at these distances.

The plateau itself is not entirely flat, with its most predominant feature being the massive ravine which snakes its way through.  Presumably all the runoff from the mountains to the north has carved this huge scar into the plateau over many aeons.

Finally there is a closer look at the lowlands to the north of the great mountains, and then a look at the imposing mountains themselves from nearby.

That's it for Eerien for now.  As the Kickstarter start date approaches, we will continue to reveal the World of Calidar.



Wednesday, 4 December 2013

Map of the Day 15: Omfall

Calidar's western hemisphere is home to two great continents.  Last week we explored Eerien.  Today our world tour brings us to Omfall.

Stretching from 22ºN all the way down to 67ºS, Omfall is a massive continent encompassing a large variety of terrain types.  Omfall pushes right up against Eerien to the north, with but a narrow channel running between them.  This channel is known as the Aesean Duct.  The tropical Mareas Island is in the northeast of this map, between separating Omfall from the Great Caldera.  Below that is the Taslan Peninsula.  From both Mareas and Taslan run strings of islands which connect up with the Arm of Ule, separating the Calderan Sea from the great Penggelan Ocean along Omfall's eastern coast.

Omfall, Calidar, Stereographic Projection

In the far south, the Cape of the Last Howls points south towards Mormoroth, touching the Antarctic Circle.

I am currently working to finalise Omfall's height map for the erosion process.  In Omfall's case, because it's so huge, erosion will likely take about a week.  It's important to get the terrain right before starting erosion, because fixing problems is much harder after erosion.  If we need to revise the map, it generally means going back to the pre-erosion map, then running it through erosion once again, which takes up a lot of time.

Omfall mountain design, Calidar, Stereographic Projection
Omfall Mountain Design
Stereographic Projection
As with previous maps, Omfall's height map was built from +Bruce's mountain design.  The thick brown lines represent major mountain ranges, while the thinner red lines are more minor ranges.









Take a look at how the design evolves.  The first draft quite faithfully follows the mountain design.

Omfall uneroded height map, Calidar, Stereographic Projection
First Draft
The mountain ranges are too regular, don't you think?  They needed messing up a bit.  This was done in the second draft.

Omfall uneroded height map, Calidar, Stereographic Projection
Second Draft
You can also see some notes from Bruce marked up in the second draft.  These were areas to lower.  The third draft incorporates these changes.

Omfall uneroded height map, Calidar, Stereographic Projection
Third Draft
The fourth draft, which I am working on now, includes the all-important altitude scaling of the mountains which I mentioned previously for Eerien.  Without this scaling, all of the mountains throughout the continent will end up being roughly the same height.

There are two more islands to look at to round out the western hemisphere.  Come back again tomorrow for a look at the first of these.