A Walk in the Dark A look in to the mind of an RPG designer



Mapmaking for the Non-Artist, Part 1

This is the first in a series of tutorials on how to create digital maps. Hopefully it will help out those of you that are looking to pretty up their campaigns in some other way than just buying a new stack of tiles.

I'm not sure how many parts this is going to be, but I will link them all together when it's done.


First, some background... I am not an artist, or at least I don't consider myself one. Some people are actually surprised by that statement because I was programmer of a Adobe Photoshop/Illustrator competitor for five years: Deneba Software (now ACDSystems), creators of the Canvas imaging software (I worked on Canvas 5 thru 7; they're on Canvas 12 by now). "Hey, you wrote a Photoshop clone! What do you mean you can't draw? Isn't that a job requirement where you're at?" No, it wasn't.

So I have zero artistic talent. To be quite honest, this was the main reason I wasn't as successful as I wanted to be in video game design; sure, I've written close to a dozen gaming engines (3D renderers, isometric systems, side scrollers, interactive fiction engines, RTS systems, card games, etc...), and probably have several million lines of unused game code floating around my office, but a game isn't worth squat unless it looks good. The only game I was able to release, The Opera, was because I had a team of graphic artists doing that kind of work for me.

But what I have learned is how to use the tools at hand. Granted, I may not use them well or even in the way they are intended to be used, but that hardly matters if the end result is good. People somehow think I'm a Photoshop expert because of the maps I make; that can't be farther from the truth.


The following tutorials are all based on Adobe Fireworks CS5, which is the software package I know how to use. Most of you are more likely to use Firework's more mature brothers Adobe Photoshop or Adobe Illustrator, while others may try to use the equivalent of the family dog in GIMP or the like. Although I cannot speak for how what I describe will work in alternate applications, I hope the concepts are the same.

Also, to be quite honest, I admit I do have a little bit of a budget so I've actually paid for the products I mention. Some of you don't have that luxury, so in those cases I will do my best to provide a more economic alternative.

Finally, I've never written a tutorial like this before, so forgive me if I'm not good at it.

So here we go...


Tools of the trade

As I mentioned above, the primary tool I use is Adobe Fireworks CS5. It has some significant benefits when doing this sort of thing:

  • It's not a cheap product, but when you consider that it is less than 1/4th the cost of standalone Adobe Photoshop CS5 (Fireworks costs $150 compared to Photoshop's $700 price tag), it's one hell of a deal.
  • It supports both raster (images) and true vector formats, and it allows for precise positioning and sizing of vector objects (which will be important).
  • It retains all objects as objects, allowing you to manipulate each one individually or to group them.
  • It uses PNG as its native file format, which means you can open the files in pretty much any application out there, while maintaining object and layer integrity (it doesn't "flatten" the whole image).

But it does have two potential drawbacks, depending on your intentions:

  • Since it's primarily designed for low end graphic work it does not handle big images very well. For example, the Wayside Inn map I created is a staggering 5600 x 5200 pixels (final PNG file is 118Mb); Fireworks complained about it like you wouldn't believe once I started to add more and more elements to it, and several times the application said "Ack! I'm sorry, I can't take this any more!" and did reallu bad things (corrupted the image, couldn't render, couldn't save, etc...). So if you're going to make huge high end maps like that you might want to consider investing in Photoshop or Illustrator.
  • Since it's designed for web work (it was formerly a Macromedia project, to be used in conjunction with Dreamweaver) it only supports the RGB color space. When you're going to be printing physical, production-quality maps it's best that your map be in CMYK (Cyan, Magenta, Yellow and... er... blacK), which is the native format of almost every color printer on the planet. Reason? There are certain colors in the RGB spectrum that are "out of gamut" and cannot be accurately reproduced in CMYK; for example, bright red doesn't exist in CMYK, so don't be surprised if it doesn't look bright red when you go and print it.

If you do want to give Fireworks a try, you can download a 30 day trial from the Adobe site.

Clip Art is Your Friend

I'll be the first one to tell you that I don't draw every little element on my maps.

A long time ago, for reasons that do not have anything to do with D&D, I purchased the complete suite of Profantasy Software's products, specifically Campaign Cartographer 3. The whole package is over $600, but I believe you can get the core products for $150 or so.

I tried to use CC3 itself to create the maps, really I did, but the software package was rather counter-intuitive to me. So I looked in the folder where the program is installed and, lo and behold, there was all the clip art. There is some of it that was in their native format, but the majority was in ready to use PNG format. It even comes in multiple resolutions, from "LO" (50 DPI) to "VH" ("very high", or OMG it's huge!). Since I bought CC3 and all its add-ons, I have 1.7 gigs of clip art which include everything from furniture to wall fixtures to terrain, and even some monsters.

Some things I have in excess, like the 40 different altars or six different types of beds, but I admit it doesn't have everything. The one thing I have gotten the most out of is the extensive collection of terrain: grass, dirt, stone, flagstone, lava, ornate marble, sand, snow, forest, water, hard wood floors, even tile roofs and Persian glass... 1,200+ textures that pretty much cover any terrain you will ever need.

Now some of you might not have $600+ to drop on CC3, so before you go creating huge maps you might want to consider what elements you will need in it. If it is something that you may use often, like the bed in the Wayside Inn, you might want to consider creating that element separately as its own standalone file so that you can reuse it. Eventually you may have your own library of clip art you created yourself.

If you're creating these maps for personal use and not for distribution, you can also consider taking images from the web using Google Image Search or even cutting out the images from existing maps. You may not get a high quality result without doing some manipulation yourself, but it might get the job done.

If you are looking to make high resolution maps for public consumption, it may be worth it to invest in this product.

Creating a New Image

Resolution comparison (click for more detail)

First thing you need to decide what resolution you are going to create your maps, because once you decide on a DPI (or "dots per inch") you're pretty much stuck with it.

50 DPI is standard for digital use, like importing in to third party applications. But if you're going to be creating something for print, you might want to consider making it 150-200 DPI if not more.

The higher the resolution the better quality you get, but the plysical file size increases dramatically; expect a 200 DPI file to be between four and six times larger (if not more) than a 50 DPI file. The Wayside Inn is 118Mb at 200 DPI but only about 25Mb at 50 DPI.

When you create a new file within Fireworks or Photoshop, be sure to specify the resolution (DPI) based on the above, and then specify the dimensions in inches. Having nice round numbers makes the math considerably easier when it comes to placing and sizing things on the map (we'll get to that in a future post).

One thing to keep in mind: when you save an image in a resolution lower than it was created in, you still get quality output. If I take the Wayside Inn map and save it as a 50 DPI image it still looks pretty damn good even though it's now only 1400 x 1300 pixels. But if you go in the opposite direction and try to upscale an image from 50 DPI to 200 DPI, you're going to get something like what it shown above; it will either look blurry or blocky depending on what scaling you use (bi-cubic interpolation makes it blurry, and "nearest neighbor" makes it blocky). So if you ever want to create production maps for physical distribution, make them at 150-200 DPI.

Also, when you are creating the new file, make sure the background is white. I don't recommend making it transparent or any other color; if you need a base background color other than white, create a rectangle of that color and make it your background.


For every map I create, I have at least six layers. They are, in order from top to bottom:

  1. Creatures: In most of my maps, and in several of the maps released by Wizards of the Coast, the creatures always appear on top of the grid. The white background to the markers is made slightly transparent so that the ground and the grid below are slightly visible, which is noticeable in creatures Large or larger. Making them their own layer also makes it easy to turn off their visibility so you can print player maps.
  2. Labels: For maps that are going inside of the module and not meant for players, I want the labels and textual markers to appear above all else.
  3. Obstacles: I like that big obstacles and blocking terrain - mountains, thick walls, doors, etc... - appear on top of the grid.
  4. Grid: Evenly spaced horizontal and vertical lines, matching the file's DPI. We'll cover that in the next installment.
  5. Scenery: This is everything in your map that isn't walls or ground. Furniture, chests, decorative items, etc...
  6. Ground: The tiled floor.

Whiteforge Interior example

So if you look at the example to the right, which is a part of the Whiteforge interior map in my adventure The Endless Winter, here's what each layer consists of:

  1. Creatures:The monster's circle is given 85% transparency so the grid and ground below can be seen.
  2. Labels: The number 7 is given a white glow so it stands out, and is clearly visible above the grid.
  3. Obstacles: The walls and the outer stone (which is a mountain) are on top of the grid, ensuring that it's clear they are blocking terrain. The door is also on top of the grid; it's so thin that sometimes it gets lost when the grid cuts through it.
  4. Grid: Lines are spaced every 50 pixels, set as dotted lines of solid black with a 90% transparency.
  5. Scenery: The workbench, the dresser and the forge are all objects, appearing below the grid and the walls. They are still affected by the wall's shadow.
  6. Ground: A repeating 100 x 100 pixel tile pattern. We'll get to that in the next installment.

When working on the map, try to have all of the layers locked except for the one you're actively working on. Especially the grid... it's easy to accidentally click on it and end up doing very bad things. Also, any new object that you drag/drop in to the map gets added to the current layer, so if you're not careful of what layer you're currently in you're going to start wondering in what layer certain things went and it's a hassle to move them around.


The most painstakingly redundant work in a map is creating the grid, but at least it's something you really only need to do once.

Vertical line properties

In Fireworks it's fairly straight forward: while you are in the "Grid" layer, draw a line that goes vertically from the top to the bottom of the image, using the Shift key to ensure that it remains straight. Once you've drawn the basic line, adjust the dimensions of it by manually typing the coordinates in the Properties at the bottom of the screen. The first line must have very specific characteristics: the X must be equal to the DPI you chose for your image (50 DPI, in this example), the Y must be zero (the top of the image), the W must be 1 (indicative of a vertical line) and the H must equal the vertical size of your image.

Once you draw one line, copy/paste it repeatedly while moving each line across the document while ensuring that each line is the equivalent of your DPI value apart from the previous (for example, in a 50 DPI image your lines will be at 50, 100, 150, 200, etc...). Copy the first line to your clipboard and paste it, then move it right using Shift-Right Arrow (which moves the object 10 spaces) until it is at the next position. Then copy that line and repeat the process until you reach the rightmost edge of the document. If you feel particularly daring you can select multiple lines and use the same copy/paste method, ensuring that the lines don't end up on top of each other and you maintain the spacing based on the DPI.

NOTE: do not include a line on the right or bottom edges of the map. If you end up making the lines thicker than 1 pixel, they will be visible at the map edge.

Once you're done with the vertical lines, do the same thing with horizontal lines and just reverse the values: the X must be zero, the Y must be equal to the DPI you chose for your image, the W must be the width of your image and the H must be 1 (indicative of a horizontal line).

Once you have all the lines down, select them all and group them.

Now you have to decide the characteristics of these lines. In 50 DPI images it's best to just keep them solid black lines but that could be too small to see on higher resolution images. The Wayside Inn map had lines that are 3 pixels wide, dotted and have a 100% feathered edge so that they appear smooth.

Depending on your terrain, you may decide to make these lines thicker or even slightly lighter (like dark gray) so that they're more visible. I got complaints that the grid got lost amongst the hardwood floor of the inn, so I chose to make the lines slightly thicker.

Once you're done drawing your grid lock the layer. The grid will end up being the guide to everything you do, so try not to accidentally move it.


Next time we'll actually start "drawing" stuff!

Comments () Trackbacks (0)
  1. Good stuff! I’m looking forward to the rest of this series.

    Out of curiosity, since the grid is its own layer, could you save just that layer over a transparent background as an image in its own right, which you could then import for future maps? Or more to the point, could you share that grid image on your blog for others to work from?

    • Well actually, yes… Even though I do that myself, hadn’t thought of mentioning it.

      I have two files called, literally, “BlankGrid.png” (20×15 grid) and “BlankGrid_Huge.png” (MUCH bigger) that are only the grids, which I copy/paste on to new documents as needed.

      I’ll include them in my next post. Thanks for mentioning it!