Creating Impressive Dungeon Maps in Minutes

Example of resultI promise you, reading this tutorial takes longer than creating a nice map with it once you have figured out how it works. The first day I downloaded the scripts, I was able to make a very nice map in five minutes, and I do mean that clock minutes. The tutorial is simply meant to give you a step-by-step flow for your first try; after that you’ll find it right quick.

This tutorial uses GIMP 2.6, the GNU Image Manipulation Program, which comes in versions compatible with a plethora of OS versions for Mac, Windows and Linux. Figuring out how to install and configure it on your particular system goes beyond the reach of this article, but the official site offers a lot of of support, and there are a multitude of other help sites set up by the community of users.

Install the Scripts

First, you need to install a couple of useful scripts. Locate your script folder.

It’s generally best if you leave the original folder with all the base install scripts untouched, and create your own user script folder. GIMP allows you to have several different folders for scripts as well as brushes, gradients, palettes, and patterns (tutorials for another day, perhaps.) Check under Edit / Preferences / Folders that your folders are correctly selected.

Download and save the following scripts, both created by Rob Antonishen of Cartocopia:

  • Hex Grid (hexgrid.scm), downloaded from the GIMP Plugin Registry.

If you don’t intend to ever use anything but a square grid, then you don’t actually need this script, but many games use a hex grid so I recommend including it.

  • Dungeon Map Maker (dungeon_map_maker.scm), downloaded from the Cartographers’ Guild forum.

You have to unzip the files and put the scripts in the right folder. Note that the forum thread where the Dungeon Map Maker is available also contains lots of information on creating specific effects, but it can take a while to slog through.

When you restart GIMP, you will see the scripts under Filters / Render / Pattern / Hex Grid and Filter / Dungeon Map Maker (at the bottom), respectively.

You’re done with this part, you won’t have to worry about it again so now you can create maps quickly!

Create a Black and White Layout

The Dungeon Map Maker script works by taking a black and white floor plan and creating and transforming seven layers that give textures, a grid pattern (optional), and an impression of three-dimentsional relief using shadows. It automates the steps outlined in this long tutorial (first three posts by user Malygon.)

The most basic way to proceed is to create a new document with a white background and draw your dungeon as a black shape or collection of black shapes.

Again, a step-by-step tutorial of how to draw in GIMP goes beyond the scope of this mini-tutorial, but there is a lot of information available from the GIMP user community. I recommend getting familiar with the drawing tools, the selection tools, and the path tools, as well as getting used to using layers. The minimum you need to understand includes three ideas:

  1. Using layers allows you to move items and effects in front of one another and move or alter them separately. Get in the habit of checking that you’re working on the correct layer whenever you use a tool. Layers can be made visible or not (turned on and off) as needed. Layers can also be set to “blend” not only based on simple pixel transparency, but also using operations that will add, subtract, mix, or modify the layers underneath based on this layer’s content.
  2. Creating and saving paths lets you use effects, select areas, etc., along the same lines repeatedly, including on different layers.
  3. You can use paths, colours, and shape-based selection to create the areas on which you will use a tool without affecting other parts of the layer, for example by deleting, or filling with a colour, etc. Selection area edges can be feathered to create a gradual tapering off effect rather than a sharp cutoff.
Figure 1 - Base B&W dungeon layout

Figure 1

So for giggles, say we create a basic corridor and and cavern, like the crappy example in Figure 1. I mean, it doesn’t get much uglier than that, right? Now we’re ready to run the script and make this into a beautiful dungeon map.

Select Effects

Name your black-and-white floor plan layer something useful, like “Cavern,” “Houses,” “Manor,” or “Bunker,” whatever. Because once you get the hang of this, you’ll want to get ambitious and create muiltiple effects, and believe me, you’ll need to know which layer goes with what. The script will name all its generated layers to refer to your original layer name, things like “Cavern floor,” “Cavern walls”, and “Cavern shadows.”

Now, staying on the B&W layout layer (if you have created other layers already), click on Filters / Dungeon Map Maker. You will get a dialog box with a lot of initially bewildering options. Let’s take them one by one.

  • Grid Size and Grid Type are fairly self-explanatory. If you installed the Hex Grid script, you will have the choices of square, horizontal hex, vertical hex, or none; otherwise the choices ar square and none. To select the grid size, eyeball your dungeon area and figure how many pixels a grid cell should contain. For example, if you created a map that is 1,000 pixels wide and you think it should be about 20 squares (or hexes) wide, select a grid size of 50 (pixels.)
  • Template Colour lets you select which colour to apply the textures to. In our case, I drew the open areas (corridors and cavern) in black, and everything else is solid rock, so I select black as the template colour.

So I lied to you for simplicity’s sake: you can in fact use more than black and white for your floor plan, but we don’t want your first map to be complicated. You can use this later to create objects or effects that will not be affected by the script, but in truth it’s usually a much better idea to just put these on a separate layer that will not be processed along with the floor plan.

  • Colour Selection Threshold lets you decide how specific you want to be about this colour, for example if you had several different tones of green, how close does that green have to be to your template colour to be included in the selection. By default it’s set at 10, and if you stick to B&W drawing you won’t have any need to mess with it.
  • Template Colour Identifies lets you pick whether the black (or other template selection colour) represent walls or floor. Here, they are the open areas so I select “Floor”.
  • Now come a series of options for advanced users (Distort Amount, Distortion Mask, and Lighting Azimuth.) Ignore them for now, and maybe even forever. They let you control the roughness/irregularity of the edges, the texture effects and the lighting angle on the shadows.
  • Fill Floor With lets you select whether to use “Rendered Noise”, which will give a sort of rough gray stone effect, or “Pattern”, with a Floor Pattern and Browse button immediately below to let you pick a specific pattern of your choice if you want, say, tiling or wood, etc.
  • Add Noise Overlay has a checkbox; when checked, it gives an impression of uneven lighting through the area. If you’re fancy, you could uncheck it and create a layer later for your own lighting effects, but I like to let it do its random magic.
  • Grid Colour lets you select whether to have a dark grid (if most of your floor textures will end up pale) or a pale grid (if your floor textures will be mostly dark). Most of the time I leave it black or dark gray.

Wall areas will not be showing the grid pattern (whether hex or square), only floor areas will show the grid.

  • Fill Walls With and Wall Pattern are similar to the floor pattern options: you can go with the generated dark stone texture or a pattern of your choice.
  • All the other options are advanced options that give you control over the effects, but you can just ignore them for now. Wall Style (Bevel or Stroked) lets you decide whether the walls will look like they give a 3D effect or are outlined by a contour line, and all the stroke parameter options let you control that contour line.
Figure 2 - Simple dungeon after running the script

Figure 2

Run the filter, sit back, and drink your coffee as you watch the script create and alter layers to create textures and shadows. The script dialog box will remain visible but greyed out while it’s running, then you will see it shut down and behold your map result.

If you don’t like it, say if you want to change your choices, just undo your last action and run it again with new settings. But you can see in Figure 2 how much even a pathetic map is improved!

Getting Fancy: Using an Existing Plan

If you’re not very happy with your drawing skill or you found a nice existing floor plan you’d like to use, you can actually create something even nicer and faster, but there are a few additional tips.

So we search Google Images for “castle floor plan” and we find this nice big layout of Warworth Castle in England.

We snag it to use, but now we have a few details to take care of.

  • First, open it and “Save As” a file with an .xcf extension, GIMP’s own format in which all useful information will be kept.
  • Next, let’s go to Image / Mode and make sure that “RGB” is selected. This is what allows us to work in full colours.
  • Third, go to Layers / Transparency and if the option is available , select “Add Alpha Channel.” This is what allows transparency in layers.
  • Fourth, if there are any picture elements that are not going to be part of the floor and wall textures (e.g., title, wind rose, north arrow, labels, direction arrows, etc.) then they must be deleted or moved to another layer. In our case, we see numbers indicating locations, which we want to get rid of. Be sure to fill or paint those deleted areas with the right colour, white in our case, or it won’t receive the right texture when you run the script.
  • Finally, zoom in and check your areas for “cleanliness.” Any stray pixels will be magnified by the textures and shadows, so you need to start with a very clean B&W layout.
Figure 3 - After running the script on a ready-made layout

Figure 3

OK, now we’re ready to run the script! I select a hex grid size of 20 pixels, too small to use with miniatures but it looks good for the size of my castle floor plan. This time, black indicates solid walls rather than open areas, so I’ll select Template Colour Identifies Walls. I also pick a dark gray for the grid colour. To be daring, I’ll select a couple of my own stone patterns for my walls and floors rather than use Rendered Noise.

What I get is something like Figure 3, which is not a bad start. But I’d like to show greenery outside, to represent a landscaped area.

  • There are many ways to do this, but the fastest and easiest is to create a new layer (I’ll call it “Landscaping” and place it between the “Castle floor” and “Castle floor noise” layers created by the Dungeon Map Maker script.
  • Next, I select my original “Castle” layer, the one that had the B&W layout. You may have noticed that the script turns off visibility on the layer, but leaves it unaltered. Using the “magic wand” selection tool (Fuzzy Select Tool), I will click outside the castle walls and select all that white area around the castle.
  • I now return to my new “Landscaping” layer, keeping the area selected. I’m ready to fill this with greenery, say with a Pattern Fill using green leaves. I may have to try a few different effects and layer blend modes until I’m happy with the result; in the case of my example, I used a simple leaf pattern, set the layer blend mode to “Multiply”, and the layer opacity to about 60%.
Figure 4 - After manually adding a landscaping layer

Figure 4

I play with the various layers’ transparency and blend modes, dropping both the “Castle grid” and the “Castle grid bump” layers back down to about 60% transparency, so they won’t overpower my map because I selected a pretty tight grid pattern.

At this point, I’m quite happy to put this on the table for a game (Figure 4), and the length of this tutorial notwithstanding, the actual work in GIMP once I’ve opened my B&W layout is actually 5 minutes. Really.

Super-Fancy: Labelling and Layer Effects

OK, I’m willing to spend a few more minutes to get some fancy-schmancy labels.

  • First, this is a bonus section, so I’m going to go get a bonus script: get the Layer Effects script from the GIMP Plugin Registry. If you can, get the Python version rather than just saving the .scm script like our two previous scripts. The Python one has more functionalities, especially the ability to preview your results.
  • When you restart GIMP, you should be able to find this effect under Layer / Layer Effects (at the bottom of the pull-down menu) and see several layer options.
  • Now I need to create a new layer for my labels, way at the top above all the other layers. In my case I saved the numbering key that was on the original image I downloaded, but I can also use the Text tool to create my labels (and in fact I will, to add a title and a legend.)

I can combine all of these into one layer, or I can repeat the operation for separate layers for, say, the players’ info, the GM’s info, etc.

  • Now, making sure my new “Labels” layer is selected, I click Layer / Layer Effects / Outer Glow.
  • I get a new options menu that lets me select either a specific colour or a gradient for my glow, and select parameters like the layer blend mode, the opacity, the spread of the glow, the size (width) of the glow effect, the contour mode, and whether to add noise. You can pretty much ignore all but the colour (I chose a very pale yellow here to offer good contrast) and the size (I chose about 5 pixels).
  • The three checkboxes at the bottom of the menu, however, are very useful. Layer knocks out Outer Glow means that if you check it, your glow will not show through or over your lettering. Preview lets you, duh, preview the result so you can make a better parameter selection; and Merge with layer means the effect will not be created on a separate layer but applied directly to this one. If you have a lot of labels or are going to keep working on this layer, it’s best not to merge until you’re finished.
Figure 5 - After adding labels and layer effects

Figure 5

And the result is shown in Figure 5: now I have a pretty nice map with legible labels!  I wouldn’t be ashamed to put that in front of my players.

Note: If you’d like to see the original GIMP (.xcf) files, leave a comment here and I’ll get them to you.

7 Responses

  1. Fantastic! I’m going to get a lot of use out of this script. Thanks for putting this up here.

  2. […] created a tutorial for complete beginners to using Rob Antonishen (of Cartocopia)’s Dungeon Map Maker script for GIMP and creating […]

  3. […] created a tutorial for complete beginners to using Rob Antonishen (of Cartocopia)’s Dungeon Map Maker script for GIMP and creating […]

  4. It took me way too long to figure out where to put the .scm files on a Mac, but holy cow! Once it works, it works! I made a hand drawn test map not much better than the one you used for your demonstration, and I’m really impressed. Thanks so much for covering this!

  5. I’m so glad it worked for you, skaught!

  6. Very cool! Nice tutorial.

  7. I’m almost 8 years late to the party here, but I wanted to say that this method still works GREAT! I’m really impressed with how quickly you can create great looking maps!

    If you’re looking for the plugins mentioned above, they’re still around but have been moved to this address :
    https://github.com/pixlsus/registry.gimp.org_static/tree/master/registry.gimp.org/files

    Thanks again – I’m having a blast with this!

Leave a comment