In order to draw a hexagonal map, you need to be able to change the shape of
the rooms from square to hexagons. But you also need to adjust various
spacing parameters. On a Hex map, the horizontal spacing from one room
center to another is different than the vertical spacing from one room to
another. For those math wizards out there, the vertical spacing is
sqrt(3)/2 times the horizontal spacing.
||Fortunately, zMapper allows you to change this
spacing. In the Edit/Options, you can set the X and Y spacing for
the map. In our example, we choose 120 for the X spacing (a nice
divisible number), which results in a Y spacing of 120*sqrt(3)/2 = 104.
Next, zMapper allows you to change the offsets for the various
directions. In the case of a Hex map, we want the East and West directions
to move normally right and left. But moving NorthEast should only take us
50% of the spacing in the X direction, and the full 100% spacing in the Y
direction. Hex maps don't have North and South, so we won't worry about
changing those directions.
The Direction spacing is used when creating new rooms on the map, either by
movement within zMUD, or within zMapper itself when using the keypad.
A Hexagonal Grid
Next, we need to define the shape of our hexagonal rooms. So, we select
a new room definition, name it "HexRoom" and open the Shape editor and
draw a hexagon:
Drawing the top and bottom of the hexagon outside the normal room square
allows the hexagons to match up properly on the map.
OK, now we are ready to draw! We select the new "HexRoom"
definition in our Room palette, then use the Add Room tool to drop the first
room on the map. Then, with the Keyboard Creation turned on, we start
pressing the '9' and '3' keys on the keypad to move NE, then SE, drawing 2 rows
of hexagons. As we are creating the rooms, zMapper is creating the proper
links between the rooms as we'll soon see. After drawing the two rows, we
then use the '4' key to move west on the row connecting the rooms with their E/W
links. We keep doing this until we have a nice grid of hexagons on the
screen, like shown below:
Just to show that these rooms really are connected with links, we go and drag
a couple of rooms away from each other in the lower-left part of the grid:
The link lines are a bit ugly, but they basically show how each room is
connected to each other. Since these rooms are properly connected, we'll
be able to load this map into zMUD and use Speedwalking to find a shortest path
from one room to another.
Multiple Room Types
OK, now it's time to add some details to our map. First, let's define a
new room type to represent "Water" hexes. We right-click on the
Room Palette and select New:
We'll name this room "Water". The Shape Editor will then
open. We go and double-click on our HexRoom room definition so that we can
copy and paste the hexagon into the Water shape to save time. You can have
as many Shape and Bitmap editor windows open as you want and can freely copy and
paste objects between then. After pasting the hexagon, we then select the
Fill Color and change it from "None" to a nice blue color. Then
we close the Shape Editor to accept the changes.
To apply the new room definition to our map, we select a line of rooms that
we want to represent our water. When all of the rooms we want are selected
(you can Shift-click to select multiple rooms on the map), then we right-click
on the Water definition in the Room Palette and select the Apply to Selected
command to apply the new room definition to our selected rooms. Here is
how the map looks now:
Adding Bitmap Images
OK, now, let's add a little castle picture to one of our hexes. We
right-click on a room and select Edit Bitmap. Each room can have both a
bitmap and a Shape, along with the bitmap and shape that are part of the room's
When the Bitmap Editor opens, it defaults to a small 16x16 pixel image.
We'll leave that at the default and draw a little castle. The pixel in the
lower-right corner is used to set the transparent color for the bitmap (that's a
"Windows thing"). Notice the small preview image of the bitmap
in the upper right part of the bitmap editor.
We close the Bitmap Editor to save the image (or we could just click the
Apply button in the editor), and here is the bitmap on our Hex map:
Notice that bitmaps are *always* draw the same size based upon the pixel size
of the image. If you zoom the map image, it looks like this:
Notice that the castle is still the same size...it doesn't scale as your zoom
in and out on the map. Because of this, bitmap images are not always the
correct choice. Sometimes you'll want to use the Shape Editor instead to
create a scaleable image.
More Tile Shapes
To see how shapes can scale, let's create another terrain type for our little
map. We'll right-click on the Room Palette and create a new definition
called "Mountains". This will open the shape editor. Once
again, we'll copy/paste our hexagon and then color it brown and draw some lines
on it to make it look like some hills or mountains (ok, so I'm NO artist!) :
Back on our map, we'll select some hexes near our castle and then use the
Apply to Selected command to change the room type to our new Mountain type:
The lines on the mountains will properly scale as the map zooms in and
out. Also notice that when a room is selected, all of the lines in the
room are colored red.
More Room Shapes
Instead of creating a custom room type, lets just change the shape of one of
our existing rooms. We right-click on a room and select the Edit Shape
command. The Shape Editor opens. Let's draw a line to represent a
Click the Apply button and here is what it looks like on the map:
The room with the river still has the normal room definition of "HexRoom".
But in addition to the room shape from the definition (the hexagon), we've been
able to add our own additional shape to this one room.
Let's continue by adding an additional bitmap to our "river"
room. Right-click the same room and select Edit Bitmap, just like we did
for the castle. This time we will draw a little tower:
The pink color is just representing the transparent color. We click
Apply and see the result on our map:
That's all there is to it. We could continue adding more Room
Definitions, then add more icons, titles, etc until we had a complete game
map. Because of the flexibility in zMapper, you can create almost any map
you want using these tools. It is one of the only map creation programs
that allows you to easily change the spacing and directions used for the map,
allowing easy hexagonal map creation.
And remember, this isn't just some pretty picture like you might create in a
Paint program...this is a fully functional zMUD map. You can load this map
into zMUD and speedwalk between locations, script various actions, export the
map into your area-builder tools, etc. No other program provides this kind
of power and flexibility with a simple user interface.