Designing Maps

How to make beautiful and compelling maps for your games

Designing Fantasy Battlemaps

Wherein I discuss the basics of creating Battlemaps.

Battlemaps are highly detailed, realistic, and small-scale maps meant to be used with miniatures or tokens. They are intended for printing. For serious: if you’re not going to print the map out for play, don’t bother making a battlemap. Make a blueprint instead; it will take less time.

Battlemaps require much more time to create than other types. This is because you’re working at a level were small object detail is viable or even important. This leads the mind towards wanting to make things as realistic as possible, which tends to take a lot of time.

In this article, I’m going to show you how to make a battlemap for a small, simple inn, such as might be found in any fantasy setting. This is a long post, but there’s a lot of information here.

It is possible to map out an entire dungeon as a battlemap. In fact, I have done so! It took a lot of time. I recommend against doing this. Instead, use a blueprint and a dry-erase battlemat. You can buy battlemaps in all sorts of shapes and sizes (I prefer ones that fold up) and that already have printed grids (usually squares on one side and hexes on the other). You can sketch out the walls and important areas of a room quickly and easily and then erase them when they’re done.

If you actually make full battlemaps for only parts of your dungeon, the players will know combat approaches when you pull out the battlemap and lay it on the table.


A Quick Note on Realism

I want to warn you: Do NOT fall into the “Realism is better” trap here. It is not. Maps are meant to convey information. While they can be beautiful, they are not works of art. If you want to make a painting, make a painting.

Battlemaps convey local, immediate information to players. It is highly likely that the players are going to be involved in combat in the area. This means that they will want to know exactly where other things are in relation to their characters: walls, doors, enemies, other player characters, cliff edges, fires, furniture, and difficult terrain are all things that they need to know at a glance. Playing on a battlemap helps people pick targets because they know how far away they are and helps spell-casters not blow up the entire party with a fireball.

When a battlemap looks too realistic, these important details (how far away is the door?) get lost. I’ve seen maps that are absolutely gorgeous, hyper-realistic, and completely useless. Of course it’s darker in the lowest deck of the ship; I still need to know where the ladder is. It will be tempting to blend the Player Grid (see below) to the point where it’s too subtle to notice and your players suffer eyestrain trying to determine the number of squares between X and Y.

For this purpose, you should feel free to ditch “realism” in many places and enhance the map with additional keys. For instance, wooden doors set into wooden walls may not be recognizable as doors without squinting. A solution: add a non-realistic and easy-to-read stroke inside the door itself to help distinguish that it is a functional object.

Printing and Sizing Strategies

Make sure you’ve read the “On File Resolutions and Dimensions” section in Fantasy Map Design Basics.

With most maps, altering the size and resolution can be done after the fact. You want to add more detail to your island? Up the scale, clean some edges, no problem. However, with battlemaps, it is important to start knowing the size of the map.

When starting a battlemap, know ahead of time how big you plan to print it and set your canvas size to that exactly. If you’re going to print at 11 inches by 14 inches, set the canvas size to 11 inches by 14 inches, with a display resolution of 300dpi.

Always use 300dpi, even if you don’t think you’re going to print it. It costs you nothing and you will regret it if you ever have to upscale.

Photoshop has some default canvas sizes you can pick from that may meet your needs but honestly just create a new document of any size and then resize it immediately.

Sometimes you will want to create a single map that is in chunks – like a dungeon, where you want to reveal a room at a time. This is a great strategy and I’ll go in more detail about that below, but if you plan to do so it’s good to pick a uniform size for each section. Further, you’ll want the size to be an even number (so 11×14 and not 11×8.5). The reason why is that when you apply the Scaling Grid you want the grids to match and when the size isn’t divisible by a whole inch, things get funky.

For the inn, I’m not going to go big. I want to be able to print this at home cheaply, so I’m going to set the canvas size to 8.5 inches by 11 inches at 300dpi (it’s going to be a single page, so I’m not worried about the player grids matching up). Set the color of the background layer (the dirt) to a brown color (#603913) by double-clicking it to make it editable and then filling it using the Paint Bucket tool.

Scaling Grid

Inn with Background and Grid
Inn with Background and Grid

A hallmark of battlemaps is the Scaling Grid. This is an overlay of squares or hexes that represent a single “space” on the map. In many games, a single “space” on the battlemap represents a 5 foot square area.

The choice to use a square or a hexagon player grid depends on the game. Most character-based role-playing games will use squares, while most tactical war games will use hexagons. Either way, you should always use a “1 inch” grid pattern (measured in inches, not pixels). Battlemaps do not typically have sub-grids.

When it comes time to finalize the map, you’ll end up doing a lot more with this grid. I’ll discuss that later, but for now you have something you can work with.

Design Steps

The steps to to creating a battlemap are:

  1. Draw the Base
  2. Add Walls, Doors, and Other Objects
  3. Add Basic Style
  4. Dollhousing
  5. Add Ground Detail
  6. Finalization

Draw the Base

Ideally you have a vague idea of how the map is going to be laid out. Sketching on paper ahead of time can save some headaches, but don’t import that paper. I will often create a layer called “sketch” and draw on that using a tablet. Either way, you’re going to have to start laying down elements.

Inn with Base Layer
Inn with Base Layer

Start with the floor. Make a shape (color #dddddd) that will cover the entire floor. Don’t worry about walls just yet. I like to use the various Shape tools to draw in large areas, one layer per room, and then merge them all together (remember to “Merge Shape Components” if you do this!). When I’ve done that, I’ll then futz with the anchor points on the edges to size it how I like, or to make angles, or whatever.

Whatever you end up with, call this layer “Base” (or whatever you like, but I’ll be using the term Base).

Feel free to modify this as you go. Add, remove, reshape, whatever. That’s the point of using vectors here.

The inn isn’t going to be that big: a large room for a bar, a kitchen/storage area, a large common room for sleeping, and a small room for the owners to sleep in. All the walls will be made out of stone and the floors out of wood.

Once you have a floor, you may want to move on to the walls.

Add Walls, Doors, and Other Objects

Inn with Outer Walls
Inn with Outer Walls

When it comes time to add walls to a set of rooms, you may think to yourself, “Self, I’ll just copy the Base layer, re-size it by 20 pixels on each side, call it Walls, and then subtract a copy of the Base from that! Simple-dimple!” You’d be right! This is a great starting place. Do just that, and make sure your Walls layer has a color of #222222.

Resizing a layer is easy: hit <command>t to activate the resize controls. Holding down <shift> while resizing constrains the aspect ratio, and you can see how many pixels your increasing the layer by. If you want 20 pixels on a side, increase it by 40. When you’re done, hit <enter>t and then re-center the layer.

Alternatively, duplicate the Base layer and then using the Direct Selection tool select the outer anchors for each wall and nudge them outwards by however large you want (30 pixels is good). Remember: holding down <shift> while doing so moves things by 10 pixels at a time.

Inn with Interior Walls
Inn with Interior Walls

But that’s simply going to give you a box around the floor, with no internal walls. How do you make those easily? The Pen tool. Create a new layer called “Internal Walls”. Hell, you can create a lot of these layers. Maybe use a different color for these (the colors will merge later). Draw your walls with the Pen tool. You may want to make sure that they overlap your main Walls layer where they intersect it (you’ll fix this later).

Go back over your interior wall anchor points. Make sure they line up with your exterior walls (either perfectly on the grid or overlapping). Nudge areas around to make sure they’re the right width. At 300dpi resolution, if one “inch” (the size of the grid) stands for 5 feet, then a single foot is 60 pixels. Doorways are often around 3 feet wide, sometimes less, sometimes more. Exterior walls for small structures tend to be a half-foot thick (30 pixels) while interior walls are smaller (20 pixels). Exterior walls for castles and larger building will be even thicker.

When you’ve got them laid out and futzed with them enough, merge all your interior wall shapes with your main Walls layer. Don’t forget to Merge Shape Components. Now you have your walls as a single layer.

Note that if you have different kinds of walls (some stone, some wood, say), that you’ll want to have each of them be their own shapes because you’ll want to apply different patterns to them.

Got some doors? Make shapes for them, too. Place them and rotate them into where you want them. You should keep your doors that run left-to-right on a different layer than the ones that run top-to-bottom because when you apply patterns to them you want them to run the right direction (an alternative – and frankly, better – solution is to create a single door as a template, get your patterns right, rasterize it, and then place them, but you’ll figure that out when you get there).

You may find that you need to make some holes in the walls for your doors. Do that now. You may find that you need to resize the widths of your doorways or increase the size of your Base layer. This is why you use shapes.

Inn with Doors and Walkway
Inn with Doors and Walkway

Got a stairwell? Just make a shape to block it in for now (there’s a separate set of instructions for them – see Technique: Making Stairs).

Add a Walkway to the inn’s door (maybe use the Freeform Pen tool!).

You’ll want to develop a consistent color scheme for your objects. What colors you use probably won’t matter (unless you apply patterns in modes that bleed the color through), but you want them to be distinct (so that you can work on the map with Layer Styles turned off). I use these colors:

  • Background: #603913 (brown)
  • Base: #dddddd (super-light grey)
  • Walls: #222222 (super-dark grey)
  • Doors: #c7a13b (yellow ochre)
  • Water: #00aeef (blue)
  • Vegetation: #008740 (green)
  • Roads/Paths: #c69c6d (tan)

Add Basic Style

Right now your map probably just looks like some shapes and not very different from a blueprint map. Now you can start applying layer effects – especially pattern overlays – to the elements.

Inn with Initial Patterns
Inn with Initial Patterns

Is the map in a cave? Find a good stone texture and use that as the overlay for the Base layer. Are you walls made of wood or stone? Apply the right pattern. Patterns can be found lots of places; I recommend signing up or joining a site like Sketchup Texture Club to find them. Any pattern will do; seamless patterns are the best, however.

Add and remove layer effects as you see fit. Give your walls a subtle outer glow (Blend mode: Multiply, Opacity: 75%; Color: #222222; Technique: Softer; Spread: 0; Size: 20) to simulate depth, or add slight strokes to emphasize things if needed.

You may want to call out interactive objects differently. I like to put a 2 pixel yellowish stroke on the inside of doors to distinguish them, for instance. Purely realistic battlemaps aren’t overly useful: Maps are meant to convey information at a glance.

For the inn, I’ll set the floors to a light wood, the walls to a stone pattern, and the doors to a darker wood pattern. The Walkway gets a flagstone paving treatment and I’ll just apply a simple “dirt” pattern to the outside for now (I’ll revisit this later). Add a layer for the kitchen floor and give it a stone treatment (kitchens were made on stone floors to help prevent fires).

Here are some of my favorite patterns for floors and walls:

Paving Flagstones - Seamless
Paving Flagstones – Seamless
Paver Stones - Seamless
Paver Stones – Seamless
Flagstones - Seamless
Flagstones – Seamless
Cobblestone - Seamless
Cobblestone – Seamless
Black Marble Tile - Seamless
Black Marble Tile – Seamless
Dark Wood - Seamless
Dark Wood – Seamless
Light Wood - Seamless
Light Wood – Seamless
Old Boards - Seamless
Old Boards – Seamless


An example of Dollhousing
An example of Dollhousing

Dollhousing is the term I use to describe the process of filling the battlemap with objects and dressing to give it “life”. Tables, chairs, desks, beds, and other furniture are required to fill out a battlemap. Desks need papers and books, kitchens need barrels and onions and chickens and ham hocks.

Fill your battlemap with these things as need be, either by using pre-made assets images or by creating your own objects. I prefer to make my own assets, but that’s me. I find the process soothing. I recommend making a separate file that contains a library of battlemap assets.

You can search the internet for “Battlemap Assets” or something similar to find packages of pre-made objects like chairs and tables. Be warned, though: these assets may not be set to the scale you’re using, and resizing them (especially enlarging them) will dilute their fidelity.

The section on Making Battlemap Assets goes into greater detail about this process. I highly recommend you work in a separate library for “common” items (chairs, tables, beds, etc.) and pull those into your map from there.

Inn with Dressing
Inn with Dressing

However, it is nearly always true that specialized assets will need to be constructed for individual maps. In the case of the inn, I’ll have to create a specialized Bar.

Create a new layer group called “Items”. This is where you’re going to put all the layers for the dollhouse items. I like to create sub-groups for each room as well (“Kitchen”, “Storage”, “Main Room”, “Common Room”, etc.). This way you can turn on or off all the items at the same time.

Placing an asset is very simple.

How to Place an Asset
  1. Open the asset or asset library in Photoshop (you’ll have a new tab) and switch to it.
  2. If the file contains a single asset:
    1. Type <command>a to select all of it
    2. Type <command>c to copy all of the pixels
    3. Switch back to your map
    4. Type <command>c to paste the pixels (this will create a new layer)
    5. Move it into position
  3. If the file contains multiple assets:
    1. Select the asset’s layer (or group, if you haven’t merged it)
    2. Hold and drag the layer up to Photoshop’s tab bar and move the cursor over your battlemap. Photoshop should switch documents automatically (but the layer panel will remain unchanged).
    3. Drag the layer down into the canvas (not the layers panel) and release
    4. The asset will appear and you can change its position.

You’ll want to give subtle shadows to your assets. Do this with an Outer Glow layer effect: Blend Mode: Multiply; Opacity: 75%; Color: #222222; Spread: 20 pixels; Size: 20 pixels. Objects that are “taller” (have a top surface higher from the ground) may want a larger sized glow, while smaller objects (especially tools set on tables and the like) will want smaller glows.

Much of the time, creating an asset is straightforward. A table is a shape made with the Rounded Rectangle tool, a pattern of wood or boards, and a dark grey shadow or outer glow to indicate depth. Maybe a stroke or two. You’ll probably want to rasterize it if you do rotation so that the pattern doesn’t rotate with it.

Other times, you’ll have to create an object out of multiple layers, each one with its own function and style. A simple bed, for instance, may require several layers: a base, one for the cover, one for the cover’s “tuck down”, one for each pillow. When you create a complex object, make sure to do so within a containing layer group so the object can be manipulated as a whole.

If you have a pen tablet and know how to use it, add layers for shadows or details that you can add with brushes. I like to keep a layer for “Lights” (set to Screen) and a layer for “Darks” (set to Multiply).

Start populating the inn with things. The kitchen needs a stove and a fire pit as well as some sacks and chickens and cutting boards. The store-room needs barrels and crates. The sleeping rooms need beds and chests. Add whatever details you feel are necessary. Do some research about what kinds of things would be there.

Creating the Bar

Inns serve food and drink. That means that they have bars. You need to put a bar in the inn. The bar is going to serve both as a place to order drinks and as a gateway to the kitchen. Since barrels and crates will have to be moved through it, it will need a lifting door. The bar area itself will need casks and barrels (obviously) but for now just concentrate on making the bar itself.

Make the Shape for the Bar
Make the Shape for the Bar
Add a Layer Style to the Bar
Add a Layer Style to the Bar
Add a Hinge Base Layer
Add a Hinge Base Layer
The Finished Bar
The Finished Bar

Start by creating the shape of the bar itself.

How to Create a Basic Bar
  1. Create a new layer group and call it “Bar (Working).”
  2. Using the Rectangular Shape tool, draw the shape of the bar in a new layer called “Bar Base.” You want it to be roughly two feet across, so 120 pixels in width. Give it a nice brown color (#8c6239)
  3. Double click the Bar Base layer to edit its layer style. Add a wood pattern to it (I used a walnut burl texture and applied it in Soft Light at 50% scale) and give it an outer glow (Multiply, #222222, 75% opacity, 0 pixel spread, 20 pixel size)

So far so good, but it doesn’t quite feel realistic yet. Add some hinges to the bar for the lifting door.

How to Add Hinges to a Bar
  1. Create a new layer above Bar Base called “Hinge Base”.
  2. Using the Rectangle Shape tool, make a thin rectangle that reaches from one edge of the bar to the other and is roughly 5 pixels, located around 3 feet from the edge.
  3. If you have a nice brass pattern you like, apply that. Otherwise, make sure the color is something yellowish, like #e2bb78.
How to Make Hinge Shadows
How to Make Hinge Shadows

You should now have a rectangle where the hinges are supposed to go. Next, you’re going to add some details using the Brush tool. Don’t worry! You won’t have to know how to draw at all, just how to click on the canvas. You’re only using two colors.

How to Create Hinge Mark Layers
Create three new layers above Hinge Base, thus:
  • “Highlights”, with a blend mode set to “Screen”
  • “Shadows”, with a blend mode set to “Multiply”
  • “Hinge Marks”, with a blend mode set to “Darken”

Now add a subtle shadow to the hinge using the Brush tool.

How to Add Shadow to the Hinges
  1. Select the Shadows layer.
  2. <command><click> on the Hinge Base layer to make a selection of its size. This prevents you from drawing outside of the hinge.
  3. Set your paint color to #222222.
  4. Select the Brush tool.
  5. From the top menu, choose your brush type: Hard Round, 1 pixel in size.
  6. Set brush opacity to 100%
  7. Turn on your grid (<command>’) and zoom in to where you can see individual pixels but the entire object is visible.
  8. Click on the bottom left pixel that is outside of the hinge object.
  9. While holding down the <shift> key, click on the bottom right pixel that is outside of the hinge object.
  10. A darker line (probably appearing about 2 pixels) will appear on the screen.
How to Make Hinge Highlights
How to Make Hinge Highlights

Next, add a subtle highlight in the same manner, except using the Highlights layer and the color #dddddd:

How to Add highlights to the Hinges
  1. Select the Hightlights layer.
  2. <command><click> on the Hinge Base layer to make a selection of its size. This prevents you from drawing outside of the hinge.
  3. Set your paint color to #dddddd.
  4. Select the Brush tool.
  5. From the top menu, choose your brush type: Hard Round, 1 pixel in size.
  6. Set brush opacity to 100%
  7. Turn on your grid (<command>’) and zoom in to where you can see individual pixels but the entire object is visible.
  8. Click on the top left pixel that is outside of the hinge object.
  9. While holding down the <shift> key, click on the top right pixel that is outside of the hinge object.
  10. A lighter line (probably appearing about 2 pixels) will appear on the screen.

You’ll notice that if you don’t click exactly in the center that the lines will be larger than 1 pixel. That’s fine. Trust the layer modes.

Now add in the hinge marks. For this, use the Pencil tool as it draws perfect lines. The process is similar but you’ll be doing this multiple times.

How to Add Hinge Marks to the Hinges
  1. Select the Hinge Marks layer.
  2. <command><click> on the Hinge Base layer to make a selection of its size. This prevents you from drawing outside of the hinge.
  3. Set your paint color to #222222.
  4. Switch to the Pencil tool.
  5. From the top menu, choose your brush type: Hard Round, 1 pixel in size.
  6. Set brush opacity to 100%
  7. Turn on your grid (<command>’) and zoom in to where you can see individual pixels but the entire object is visible.
  8. About every 10 pixels, click on the top pixel that is outside of the hinge object.
  9. While holding down the <shift> key, click on the pixel that is directly below but outside of the hinge object.
  10. A dark, nearly black line will appear on the screen.
  11. Repeat this process until the lines are present across the hinge.
  12. You can then slide the Hinge Marks layer around to get it more centered.

Play around with the opacity of these layers. The Hinge Marks layer may want to be at 75% opacity, for instance. Use your best judgement.

How to Make Hinge Marks
How to Make Hinge Marks

At this point, you should have a fairly decent bar shape! You can add more details as you desire (spills, cups, etc.) but the heavy lifting has been done. Now you may want to rasterize it so that it doesn’t eat up a lot of CPU power simply being drawn (see “Tip: Temporary Rasterizing” in the Photoshop Layer Styles and Effects article for details).

Throw a couple of barrels underneath it. Bars need barrels. Add some chairs underneath it as well.

Add Ground Detail

You’ll notice that the outside looks kind of… plain. Time to spruce it up. You do this with a technique that is simple but uses the brushes. You’re going to paint texture over the ground in a several places.

First, you need to import some textures. For this tutorial, I’m going to be super simple here and use a single grass texture and a gravel texture.

Gravel - Seamless
Gravel – Seamless
Green Grass - Seamless
Green Grass – Seamless

Add some grass.

How to Add Grass
  1. Create a new layer right above the background/dirt layer and call it “Grass”.
  2. Set your paint color to a green (#008740). You’ll never see it unless you turn off layer effects, but green is good.
  3. Double click the Grass layer and set a pattern overlay using your grass texture. There’s nothing to see here yet, though! That’s fine.
  4. Switch to the Brush tool. Set your brush to Hard Round, and large (300 pixels or more), with a low opacity (20% at the highest).
  5. Start drawing in the layer. You’ll begin seeing grass appear.
  6. Go over a lot of the area once and continue to do in patches to thicken it. You’ll have to lift the cursor up a lot. Paint in so that it’s not even overall and your grass has different thicknesses. You can be really sloppy here: just trust the math of the pattern and opacity.
Inn with Ground Detail
Inn with Ground Detail

You will use this painting technique a lot. If you have a pen tablet with pressure sensitivity, use a brush with pressure sensitivity set to opacity.

Add some gravel around the path to the inn’s door.

How to Add Gravel
  1. Create a new layer right above the Grass layer and call it “Gravel”
  2. Set your paint color to a greyish color (say, #cccccc). Again, you’ll never see this unless you turn off layer styles.
  3. Double click the Gravel layer and set a pattern overlay using your gravel texture.
  4. Switch to the Brush tool. Set your brush to Hard Round, and large (300 pixels or more), with a low opacity (20% at the highest).
  5. Draw around the edges of the pathway to the inn’s door. Add opacity as needed.

That doesn’t look quite right, though. The path is difficult to discern since it’s similar in color to the gravel. So change the color of the gravel.

How to Change the Gravel’s Color
  1. Open the layer styles dialog for the Walkway layer, which already has a pattern.
  2. Add an Outer Glow, thus: Blend Mode: Overlay; Opacity: 50%; Color: #c69c6d, Spread: 0; Size: 220 pixels
  3. Add a Stroke: Size: 2 pixels; Position: Outside; Blend Mode: Multiply; Opacity: 50%; check “Overprint”.

The edges of the walkway should now look much better!

You’re mostly done with the basics now. It’s missing a lot of things that should be accounted for, though. The place is probably pretty dreary without windows, for instance, and there don’t have any assets for cups and crockery – but this is good for this tutorial.


Finalization of a battlemap has a few extra steps beyond the normal finalization routines.

Cleaning Some Effects

Sometimes you’ll find that there are shadows or glows cast by some objects that are creeping into places they don’t belong. The shadow of a table crossing through a wall, for instance. In these cases, rasterizing the objects makes their shadows “solid”, so you can then remove or trim them using any standard tool (select and delete, or an eraser, or whatever). I usually have to do this with doors that are casting shadows into their containing walls, for instance.

Cleaning the Scaling Grid

By default, your Scaling Grid will be covering the entire map. That may not be necessary or desirable. As such, you may want to reduce the grid’s coverage to only the “playable” areas on the map. You’re going to delete sections from your grid layer to do this.

How to Clean Your Scaling Grid
  1. Duplicate the Master Grid layer and call it “Working Grid” Make sure this layer – and only this layer – is selected.
  2. Delete every part of the Working Grid that you don’t want to be showing. There are several ways to do this.
    • Use the Rectangular Marquee Tool tool or the Polygonal Lasso Tool to select areas and then hit the <delete> key
    • Select an entire layer at once (say, your “Walls” shape layer) by holding down the <command> key and clicking the layer in question, and hitting the <delete> key.
    • Selecting the inverse of a layer (as above, but go Select -> Inverse) and deleting what’s not there.

I typically delete along these lines:

  • The inverse of my floor or base layer (so immediately only the playable area)
  • My various “wall” layers (so that the grid lines don’t show up in the walls)
  • My various “door” layers (so the lines aren’t inside doors)

Scaling Grid Finalization

Inn with Final Grid
Inn with Final Grid

The display mode you select for a battlemap’s Scaling Grid is different from other maps. With battlemaps, the Scaling Grid imparts essential information so it shouldn’t take much effort to pick out.

Pick a blend mode for the grid. Overlay usually works very well, but you should play around with it. You may want to experiment with applying a color overlay, rasterizing that, and then selecting a different blend mode, even. With the inn, I’ve set the Scaling Grid to Color Dodge with a 50% opacity.

Place the grid layer in the stack where it works best: Below any legends, markers, and labels (game information), but above any room contents or details (location information). If you’ve “cleaned” it, you may not need to move it at all.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.