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


Mapmaking for the Non-Artist, Part 2

This is a continuation of Mapmaking for the Non-Artist, Part 1.

Been so busy that I didn't realize how much time had passed since the last installment. So here ya go with part two!


Before I continue, a few of you suggested the obvious thing I should have mentioned in the first post: you can create a grid once and simply use that file as a basis for every other file you make.

Well, I do just that so I figure I'll share mine: here are the two base files I use for all my maps, a large 50 DPI grid and a small 50 DPI grid. Hope these are useful!

Download Links:

Large (50in x 50in @ 50 DPI) grid

Small (20in x 15in @ 50 DPI) grid


In this installment we are going to start to make the physical aspects of the room: walls, floor and doors. We'll deal with all the cosmetic stuff in the third installment.

Defining Your Goals

Before you start drawing, you need to have an idea of what your objective is. It does not have to be that specific; honestly, most of my better maps were thought of during the process. For example, I had no idea what Whiteforge was going to look like on the inside but I knew the rooms I wanted.

Throughout this tutorial I thought it would be best to have a specific goal in mind. So, in honor of his return to Wizards of the Coast, our goal is to create a map for use in Monte J. Cook's very own "The World's Shortest (Yet Technically Complete) Adventure: The Orc's Pie Room".

In order to make this room, we need the following:

  1. A 10' x 10' room. For argument's sake, let's make the walls stone and the floor brick.
  2. One door (currently closed) leading in to the room.
  3. Let's assume that the room is inside a dungeon, so the other side of the wall is solid rock.
  4. A table on which to put the pie and, clip art permitting, an actual pie.
  5. A medium-sized orc.

So let's get started!

Fireworks Workspace

The Fireworks workspace. DISCLAIMER: My screen isn't this small.

The Workspace

If we give the map a 1 square cushion on all sides that makes the map 4" x 4". Let's keep it at 50 DPI for simplicity's sake (and so the images fit in this post), so we're talking about a 200 x 200 pixel image. Using either the guidelines mentioned in Part One or by cropping one of the files listed above you should be all set with a blank 4 x 4 grid.

The Floor

Here we turn to Profantasy's clip art. Searching through the "Terrain" folder we find a file called "Brick Grey H_LO.png", which is a 100 x 100 pixel image of a brick floor. Perfect!

Ensure that the "Floor" layer is active and all the other layers are locked. Drag/drop the terrain on to your active document and there it is! Now depending on how you drag/drop it, it might not be in the exact position you want; the best way to adjust that is using the arrow keys and looking at the "X" and "Y" values in the left side of the "Symbol Properties" area. They should be 50 and 50, which means the tile will span the 2 x 2 grid in the center.

Here is where I point out that the leftmost "Symbol Properties" is going to be your best friend FOREVER! You may be able to eyeball positions, but there are certain cases where if you're off by so much as a pixel everything goes wrong. The "Symbol Properties" allow you to look at and explicitly set the width, height, X and Y values of the object in question. Let's show you how to use that...

We need to create a hallway for the door entering the room, so we take the tile we've already dropped (that's at position 50/50) and copy/paste it. Now, with that new object selected change the "X" value to 150 and make sure the "Y" value is 50; the result would be that the tile moves to the right side adjacent to the original tile.

But the tile's too big! Right-click on the tile and choose "Edit" -> "Crop Selected Bitmap". A black marquee will appear around it. Now you can either move the top edge down 50 pixels by hand or do it the easy way: manually change the numbers in the properties (see image) and hit Enter. Done! You now have a 5' wide hallway in the Southeast corner heading East.

Over time you may get the hang of doing this cropping with the mouse (once you get enough pieces in a map, Fireworks automatically snaps to existing X/Y boundaries of other objects), but in the beginning  (personally, pretty much all the time) I manually enter the values for positioning and cropping. The math's not all that difficult; it's always multiples of the DPI.

Also do remember one thing: now that you have this one piece cropped and sized, you can copy/paste it as many times as needed to extend the hallway.

The Walls

First, remember to lock the "Floor" and unlock the "Obstacles" layer. Now comes fun part #1: making a complex path for the walls.

As in real life, the walls are a collection of rectangles that are simply welded together, or "joined" if you want to use Fireworks terminology.

For a 50 DPI image, I go with 10 pixels as the wall width; that equates to about a foot, so it works out. For a 200 DPI image that would be four times the size, or 40 pixels. But, since the walls are supposed to be right on the grid lines, they take up space equal to the grid line +/- half the wall thickness.

Five rectangles, before union

So now we create a bunch of rectangles. The way I tend to do it is to just draw them freehand in a reasonably close position to where they're supposed to go, then manually adjust the values in the Symbol Properties. In our example, we need a total of five rectangles. The rectangle that makes the Northernmost wall will be 110 pixels wide (100 pixels for the base size, plus half the wall thickness at the ends), 10 pixels high and positioned at 45/45 (offset by half the width). The image on the right shows the rectangles with a slight transparency just so you can see their position relative to the floor below.

NOTE: For any wall that extends off the map, ensure that you make the rectangle larger so that it does go off the map. If you leave it at the map's edge, when you give the rectangle a border it will be visible.

Once you draw all the rectangles, select them all and choose the menu option "Modify" -> "Combine Path" -> "Union". This will create one contiguous polygon.

End result

Now at this point they don't quite look like walls. Might as well pretty them up now! The "Properties" window at the bottom of Fireworks is divided in to five sections. Here are the settings for three of them:

Section 2 (from left): Fireworks comes with a collection of fill patterns, one of which looks pretty good for walls. While the polygon is selected, choose "Pattern" -> "Moon" for the fill category. It will apply it to the texture, but in its native format is rather big for our taste, so with the mouse grab one of the black squares that should now be visible and - while holding the Shift key - drag it so that the "L" becomes smaller. Also, in order to make it appear less repetitive, you can choose to rotate the pattern by clicking and dragging the line between the "L"'s endpoint and the center dot.

Section 3: As for the stroke (the border), I always choose Black, 2-3 pixel width, "Basic" -> "Soft Rounded" as the stroke category and 100% as the edge softness. If you want to give it a slightly rough look, you can set the texture to "Grain" and the amount of texture to 50%.

Section 4: Click on the "+" sign and choose "Shadow and Glow" -> "Drop Shadow". The default values are fine at 50 DPI, but you can mess with them at your discretion.

For reference, here are the values I normally use:

"Properties" for the walls

The Exterior

Now fun part #2... creating the solid stone that fills the space on the other side of the wall. What we want to create is a polygon that encompasses that area, using a similar style as above.

There are a variety of ways this could be done, depending on the complexity of the map area that the players could actually navigate. One method is to simply create a bunch of rectangles and join them together (which is the method I will use below), while another is to create one massive rectangle and "punch" pieces out of it.

Before we continue, ensure you are in the "Obstacles" layer and turn all the other layers off.

Because of the effect we intend to use later we want the rectangles to be larger than the map's physical canvas, so I'm using our DPI (50) as a cushion and start drawing rectangles; if you don't do this, the inner glow we will apply later will be visible along the edge of the map. I draw the rectangles fairly roughly and close to their positions at first, then edit the numeric values in the Symbol Properties like I did above to make sure they line up perfectly.

Then select all the rectangles you created and choose "Modify" ->"Combine Paths" -> "Union". This will join all the rectangles in to one contiguous object (see image to right). There is the possibility that some of the points will appear redundant, such as the ones along the edges, but that may not matter. You can usually leave them there at first, but as the map gets larger you may want to selectively delete some of these points (using the Subselection tool) in order to decrease the complexity of the polygon.

At this point ensure that the object is at the bottom of the layer, which you can ensure by selecting the object and choosing "Modify" -> "Arrange" -> "Send to Back".

Now it's time to texture it... I use the either "mountain light_hi.jpg" or "mountain light_lo.jpg" from the ProFantasy collection, which you can choose by selecting the new polygon and going to "Pattern" -> "Other..." in the Fill options and choosing your texture through the file browser. In order to make the texture repetition less obvious, I like to rotate the texture slightly after it is applied (see image to the right).

Finally, it's time to give it a little bit of effect and show why you created the polygon larger than the map's area in the first place. In the "Filters" section on the bottom, choose "Shadow and Glow" -> "Inner Glow". For the "Width" and "Softness" values, I've found that setting them both to half the DPI (25, in our case) works fairly well.

The result is what you see: an outer area that looks like solid stone.


And there ya go... The orc has his room!

If you wish to see the Fireworks PNG with all the components, you can download it HERE.

Over time you'll begin to realize that this style of mapmaking feels more like mathematics and geometry than actual artistry. I find myself calculating coordinates and dimensions with a calculator and manually entering the values in to the Symbpl Properties more often than not; I hardly ever freehand draw anything, unless I want it to be badly drawn (like natural cave walls).

In the next installment we're going to put a little more decoration: doors, furniture and an actual orc.

Filed under: Design, Maps, RPG, Tutorials 1 Comment

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!

Filed under: Design, Maps, RPG, Tutorials 2 Comments