The Cartographers’ Guild is a forum created by and for map makers and aficionados, a place where every aspect of cartography can be admired, examined, learned, and discussed. Our membership consists of professional designers and artists, hobbyists, and amateurs—all are welcome to join and participate in the quest for cartographic skill and knowledge.

Although we specialize in maps of fictional realms, as commonly used in both novels and games (both tabletop and role-playing), many Guild members are also proficient in historical and contemporary maps. Likewise, we specialize in computer-assisted cartography (such as with GIMP, Adobe apps, Campaign Cartographer, Dundjinni, etc.), although many members here also have interest in maps drafted by hand.

If this is your first visit, be sure to check out the FAQ. You will have to register before you can post or view full size images in the forums.

[Award Winner ] Creating an old-school map in Gimp.

This short tutorial will use only basic Gimp skills and give you a map of the form of those classic TSR maps of the 80s such as The Palace of the Silver Princess, that can be found for free here. I will try to keep it as simple and straightforward as possible. If there are any steps - however small - that are unclear please say and I will amend the text.

Throughout this I will be using gimp version 2.4 - go to www.gimp.org to get hold of the latest stable (2.4.x) release.

In this post we'll go through the following steps:
1. Open a new canvas of the right size
2. Set up Gimps grid to be the right scale for the map
3. Import a new pattern (only ever needs to be done once)
4. Use the new pattern to lay a grid over the canvas to make our graph paper background.

So there are very few steps and they should be pretty straightforward. If you want to see the result of this section of the tutorial, skip to the bottom of the post.

Before we start we need to decide what size the canvas is going to be. This depends on two things - how large the map is in numbers of squares and how many pixels each of those squares will take up. Here I use 50px squares and a canvas of 1000px by 1000px. This means that there are 1000/50=20 squares to a side so its a pretty small map. I've chosen 50px because it's a good resolution for virtual tabletop programmes which are the area I play D&D in.

To get a larger map you can go to a larger overall canvas - ie a 2000px by 2000px map will hold 40 50px squares to a side which should hold a decent sized dungeon. The alternative is to go to smaller squares. If I had chosen a 25px square then I'd get 40 to a side on my 1000 by 1000px canvas. This second option has the advantage of keeping the filesize down. On the other hand, all the resources I'll post here will be sized to 50px

So that's enough talk about this. You should now have decided on the size of your canvas. I take 1000px by 1000px. Create a new canvas (File->New). In the following dialogue, make sure the measurements are in pixels that your width and height are both set to the value you have chosen.

You now have a blank white square!

Gimp has a grid built in. It's invisible at the moment so go to View->Show Grid. Note the View menu is in the window with the canvas on it, rather than the window with the tool palette on it. We'll be using the canvas menus for everything except for opening a new file (and that's already done).

Now with the grid showing you should have a load of cross-hairs across your white canvas. These will probably be at the default Gimp spacing of 32 pixels - which you don't want.

To change this go to Image->Configure Grid... and set the grid spacing to your chosen value. Here I set it to 50px. You should now have something that looks like this:

This grid just works as a guide for the Gimp tools - it won't show up in the final version. However that's no good for us as we will be needing a grid to form the basis of our map. We need to draw in a grid, but don't worry, you won't need to draw out every line by hand. We'll use a pattern fill.

This next step is a little tricky but you only have to do it once. I've got a couple of pattern (.pat) files that allow me to create a grid of any size with great ease. They are included in this zip file:gridPatterns.zip

Download this zip file and unzip it in the following directory:
C:\Documents and Settings\<userName>\.gimp-2.4\patterns\

Now make sure that you have the patterns dialogue open somewhere (by default Gimp will open this in the combined layers and patterns dialogue). If you can't see it, go to Dialogs->Patterns or use ctrl-shift-P. That will bring it up, or highlight it if it is already open. Now at the bottom of the palettes dialogue is a pair of circling arrows. This allows you to refresh the seelction of patterns. The button is here:

Hit this and the palette will be updated with the new patterns you have just added. Your palette should now look like this:

The new patterns are there and ready to use. You will never have to do this again - those patterns will always be there (unless you delete the files from the directory at a later date). One will give a black grid and the other will give a TSR blue grid. I'll use blue throughout for that added nostalgia factor. Click on the pattern you want.

Now, click on the window with your canvas in it. Go to Select->All or hit ctrl-A to select the whole canvas. Now go to Edit->Fill with pattern, or hit ctrl-;. You will now have a lovely blue grid that fits beautifully over the Gimp grid we set up! This will form the basis for the map. It should look something like this:

Right, best to save it here. Save it in Gimp's native format - .xcf - as this maintains all of the information. So call it something like classicDungeon.xcf and you are good to go.

In this post we'll do the following:
1. Add a new layer
2. Set up a brush of the right colour and size
3. Turn on snap to grid
4. Lay down the walls with the brush tool.

Right, now that we have out pretty graph paper, either made using my natty pattern files or through Rob's much easier method above (there's always a quicker way to do it ), we need to start laying down walls. I'm going to do a dungeon, so we are underground - this is a classic mapping tutorial after all, we should start with a dungeon.

Now it will be useful to make use of layers at this stage. The graph paper will be our background but we don't want to erase the graph if we make a mistake. Therefore we will do our drawing on a separate layer. To do this, make sure the layers dialogue is up - either by going to Dialogs->Layers, or ctrl-L. Now you'll see a thumbnail of your pretty graph paper called background. To create a new layer, hit the new layer button:

This brings up a New Layer dialogue. In here, give the layer a name (I'll call mine Walls) and select the fill type to be transparency. This means we can draw on this layer, but be able to see everything that has been drawn on layers further down the stack.

Right, with this layer selected, we want to draw some walls. First we want to have the walls in the same lovely blue as the rest. In the toolbox there are two blocks of colour, one is the foreground colour and the other is the background colour. You want to change the foreground colour as this is the one that all the tools use to draw with:

If you double click on the foreground colour box, you can change this. In this case I am using a blue with the code: 18769d If you enter this into the text field, you will have this colour too!

Now we want the tools to snap to the grid we set up. Go to View->Snap to Grid and make sure it is checked. Now select the paintbrush tool and pick a brush size of 3px circle:

Now pick a place to start drawing a wall and click once on a grid intersection. Now this will just make a single small circle appear. Now press shift and move the mouse to where you want the wall to go. You'll see a line connecting your current mouse position to that first dot. This is the line along which the 3px line will be painted. Move the mouse to the grid point where you want this section of wall to end and click again. A nic straight wall should appear. If you keep holding shift down and move the mouse again you can extend the wall further. This way it is very quick to lay down an outline of a dungeon that will look something like this:

Okay, let's finish the walls and colour the rock around before we start putting in some furniture.

Finish laying down the lines for the wall outline as above so that your walls are a closed loop of lines, or until the lines reach the edge of the page. This will be important in a minute. You should have something that looks something like this:

Now it's quite hard to tell where the wall is and where the corridors are (okay, not too hard on this map, but on a larger map this would be tricky). We need to flood fill the wall areas to make this clearer. To do this pick the fuzzy select tool:

Make sure that sample merged is off. Now click within an area you want to fill. You should get a large area highlighted with a line of black and white 'marching ants' that should encompass the area you want to fill. If instead you get one square selected, then you've got the background layer selected rather than the Walls layer. Go to the layers dialogue and click the wals layer and try again. Now as we used the brush tool, our walls have a slightly soft edge to them. This means that the fuzzy select region doesn't quite go up to the wall lines. If we fill at this point then we'll get a thin line of white between the wall and the fill. So go to Select>Grow... and pick 2 pixels. This expands the selection to the middle of the wall lines.

Now go to Edit->Fill with foreground colour, or ctrl-, This should give you something like this:

This is starting to look a little better. Finish filling the walls in the same way.

Now we want to lay some internal walls that don't take up full 5' squares. Do this by switching back to the paintbrush tool and using the click, press-shift-and-drag, click method above to lay down internal walls. Don't worry about doors, we'll do that next.

Right, I promised doors, and doors you shall have. In the original TSR maps the doors were squares. Here's an example door that I have knocked up for you:

Note that this is a 50px by 50px image so it fits the grid size I am using. You can get this for yourself by right-clicking the image->Save Image As... Place it somewhere you can find it easily.

Now when we start placing doors we'd best create a new layer. So go back to the new layer button again. Name the layer Doors and make sure it is selected.

Now go to File->Open... and find where you saved that door image that I posted above. Open this. Select all using Select->All or ctrl-A and copy using Edit->Copy or ctrl-C. Close the door image and click Don't Save when prompted - you haven't changed it anyway.

Now return to your map. Click the map window so that it has focus, and go to Edit->Paste or ctrl-V. Now you'll have a door image in the middle of your canvas. It will almost certainly be in the wring place. To move it, pick the selection tool from the toolbox:

Now if you hover the mouse over your pasted door, you'll get a little cross-hair with a little four-directional arrow on the bottom right. When you hover the mouse away from it you'll get an anchor on the bottom right. Make sure you don't have the anchor and click and drag the door image to the position you want. The grid will help to an extent, but you may need slightly finer control. If so, place it roughly, then move it into its final position using the arrow keys on your keyboard. Once it is in the right place, move the mouse until you get the anchor symbol and click to place it. You can also place it by clicking the Anchor layer button in the Layers dialogue.

Now the big square doors are all well and good, but they're not very realistic and they don't show which way the doors should open. Here's a different door that conveys that extra information. I know that's not really cricket, but it was requested in another thread, so here it is:

You can place this in just the same way as the other doors, though you will need to use the arrow keys to get the placement right.

Using these it is straightforward to do all the doors you need to place:

Note that you can rotate the images you want to lay down using the rotate tool from the toolbox. Just select the rotate tool and click the object before you anchor it. Equally you can use the Flip Tool to flip an image horizontally or vertically. I did this to get the double doors at the top of the map. Once you have manipulated the object into the orientation, go back to the selection tool to move it and anchor it.

You can add other items to the map in exactly the same way. Now I'm not going to draw a load of mapping icons for everyone here, but it is quite possible to find a large number of them on the dunjinni site here:
[urlhttp://www.dundjinni.com/forums/forum_posts.asp?TID=572&KW=old+style[/url]

I couldn't find the basic Dungeoncrafter tiles anywhere, but if someone has a link, I'm sure they can post it here.

Now the dunjinni tiles are a bit large (sized for a 200px grid) so it's best to resize them. When you want to use one of those do the following. When you open it for the first time, go to Image->Scale Image. Change the units to percent and the magnitude to 25 on each axis:

This will scale the image down by 25%, from a 200px/grid size to a 50px/grid size. Now as before, select-all, copy and paste on to your map. Remember that it is probably worth setting up a new layer for each new set of furnishings.

This time when you close the image of your object, you do want to save. Go to File->Save As... before you close the file and save it as <objectName>Small.png or similar. That way you will quickly build up a library of objects that you can use that are at the right scale for your maps.

Equally, you can draw your own. This isn't too hard, but if/when you get stuck trying this, please ask around and people will be able to help you out.

Finally, you'll want to label your maps. Choose the trext tool (the large A) and start typing. If the label is in the wrong place, don't worry. Use the movement tool with the following settings:

If you click and drag on your text now you will be able to move it to wherever you like.

With these last tips you should end up with map something like this in no time:

If you want, you can add a scale in as well or you can leave those like toff guessing.

Save the .xcf version of your map again (ctrl-S), and then Save As... (ctrl-shift-S) OldSchool.jpg (or name of your choice of course), click okay on the two dialogues that come up and you have yourself a finished map!

And here is the same map imported into maptool, given dynamic lighting and being explored by an adventurer who found a statue with ruby eyes and decided it would be a good idea to prise one out. The statue shudders to life, an infernal glow in those ruby eyes and the hapless adventurer wishes he'd had a bit more respect for those annals of D&D history.....

Now obviously the labels shouldn't be visible to the players. That's why we kept them on another layer, so that by switching off the visibility of the layer (the little eye symbol beside the layer icon) we can hide them all. If we then save the map we get just the player view without any of the traps or secret doors visible:

Now obviously this was a light hearted tutorial harking back to a more innocent time of D&D, but the basic principles you've seen here are the same basic principles that go into making far prettier maps. The core of this is getting a good selection and finding a nice way to fill it. Clearly instead of using blue for your flood fill, you could use one of Gimp's built in textures - such as the granite texture. Suddenly you have a very different type of map. Something in fact that looks a little more like this:

But something like that is really something for another tutorial - and one by someone else as I need to get some dinner. Please feel free to ask any questions, or make comments - I will endeavour to answer them as best I can, or someone else here who is better qualified will be able to. I notice a couple of people have already chipped in with some very pertinent hints further up the thread. Thanks guys!

Oh, one final thing. Please star rate this thread with an honest rating for how useful this was. This will help other users see which threads are useful and which are not.