The Cartographers’ Guild is a forum created by and for map makers and aficionados, a place where every aspect of cartography can be admired, examined, learned, and discussed. Our membership consists of professional designers and artists, hobbyists, and amateurs—all are welcome to join and participate in the quest for cartographic skill and knowledge.

Although we specialize in maps of fictional realms, as commonly used in both novels and games (both tabletop and role-playing), many Guild members are also proficient in historical and contemporary maps. Likewise, we specialize in computer-assisted cartography (such as with GIMP, Adobe apps, Campaign Cartographer, Dundjinni, etc.), although many members here also have interest in maps drafted by hand.

If this is your first visit, be sure to check out the FAQ. You will have to register before you can post or view full size images in the forums.

[Award Winner] Mosaic Tile Map in Photoshop (& GIMP)

In this tutorial I will demonstrate the basic steps for creating a realistic mosaic tile image in Photoshop. Specifically, of course, the image I am interested in creating is a map. (See this map as a reference.) GIMP users: scroll to the second page of this tutorial and you will find the adjustments needed to make such a map as well (posted by the incomparable RobA).

I consider this a medium difficulty task, and I therefore recommend a beginning PS user follows some basic tutorials on basic PS concepts/processes either before or while using my tutorial. Just do a web search--there are thousands of helps out there for the beginning Photoshopper! (Or check out this thread!)

I will in most cases give pull-down menu commands instead of shortcuts, mainly because they are easier to write! Go ahead and use shortcut keys and buttons if you know how! Oh, and I am currently using Photoshop CS3, but I believe this will work in any CS version--and possibly in older versions as well. I also am a PC user, so you Mac-ies out there will have to remember that when I say "ctrl" you need to "cmd"--or whatever it is you do!

(Also, in the interest of full disclosure, I must also admit I found some rudiments of the process described below in a recent little article in Photoshop Creative (issue 30)--although adapted and adjusted to my maniacal purposes, of course!)

If you have any questions or comments (or improvements!), feel free to chime in or add comments after the tutorial is complete! Here we go!

STEP ONE: CREATING TILES
Although Photoshop has a mosaic filter, the results are far too regular and stale for my tastes. So instead I will create a custom brush in order to "paint on" tiles. So first open a new PS document of the default size and resolution, then choose the Polygonal Lasso tool. Draw a 4 sided polygon slightly out of square. Fill this shape with black. [see image 1]

With the polygon still selected (the "ants marching") go Edit>Define Brush Preset. Give the brush a name, & click OK. You can then delete and to deselect (ctrl-D) the polygon.

Now open Window>Brushes, select your newly-defined brush (it will probably be the last shown), and set the following:

Now you can click the fly-out menu and select New Brush Preset to save that brush [see image 2]. (If you wish, you can also delete the original tile you saved)

Note that you should adjust the brush settings to your preference. Those that I list above will give a somewhat unrefined, ragged look to the map--which fits the archaic style I plan to emulate. If you are creating a refined, polished look, then definitely reduce the jitters and dynamics closer to 0% so your tiles lay perfectly straight!

And that's it! Now when you stroke with this brush you create tiles of slightly varying size and rotation that mix the foreground & background colors [in the second attached image you can see examples of the one I just made!]

Step Two: Map Setup

Okay, so laying out a map for a mosaic is just like planning any other cartography project. The only special need for my specific purpose here is that in the end of the planning phase I have the land selected. Here are two of about fifty or more options to achieve this result:

OPTION ONE: Scan In a Drawing.
The first image below is a hand sketch I scanned into my computer then opened into Photoshop. It is about 1000 pixels square, at 300 px/in resolution. (Remember, if your scan is not at this level when opened in PS you can go to Image>Image Size.). To get my selection, I used the Quick Selection Tool for the large areas and the Lasso Tool for everything else and to clean up the edges.

OPTION TWO: Draw PS Color Shapes
In the second image I created a blank PS page (File>New) about 1000 pixels square, at 300 px/in resolution. Then on a new layer above "background" I used a hard-edged brush in a random color to create my land masses. Then, simply ctrl-click the thumbnail of the color layer in the layers window (the little picture next to "Layer 1") and the land masses were selected.

Please note that whatever method you use, mosaic tile work by its nature is simplifying; thus unless you plan the image to be HUGE or the tiles themselves to by teeny-tiny, I do not recommend highly detailed coastline contours.

You can also see that I left a wide border around the edge of the document; this is because I plan to have a fancy-schmancy border around the final map. You can, if you choose, take your map all the way to the edge.

STEP THREE: Land Tiles

Now we'll lay tiles that will make up the land, so roll your sleeves up, mix up some virtual thinset and we'll get a-laying.

1. After my last step I still have the ants marching around my land masses. Now I activate the Marquee Tool and right-click inside the selection, then choose "Make Work Path." In the "tolerance" window that pops up, I choose 0.5 pixel (the lowest possible tolerance), and click "ok."

2. Create a new layer on top, labeled "Land".

3. Click the Brush Tool & select the tile brush I created earlier.

4. Select a foreground and background color that meld nicely (perhaps even use a color scheme generator, such as Color Jack or this one).

5. Now I click the Paths tab in the layers window [see Image 1]; you should find only the work path you just created. In the bottom right of the Paths window is a button called "Stroke Path With Brush"--I click it and my land is outlined in tiles. Neato! [Again, see Image 1] (And if anything goes wrong, don't forget Edit>Undo is your friend!)

6. Now I'll fill my land. First, I drag the work path to the "Create New Path" button to save that original path (just in case). Then with this copied path selected, I...

Click the "Load Path As Selection" button, so the ants march once again around the land.

Then I Select>Modify>Contract that selection by just over 2/3 the width of the tiles I'm using. I'm stroking with 15 px tiles, so I contract by 11.

Now I follow the same process as above: click the Marquee Tool, right click inside the selection & choose "Make Work Path", then select my tile brush, and finally click the "Stroke Path With Brush". A second row of tiles shows up inside the first. [See Image 2]

7. I'll keep doing this same process over and over again until my entire land area is filled with tiles.
Now, this repetition could (as I'm sure you can tell) get very tedious, so I created an Action to do this exact function. If you've never used Actions, they are basically ways of "recording" your steps so you can "play them back" as many times as you wish, repeating a long series of steps in a single click. So using my tiling Action about a dozen times took about 15 seconds and filled in all the land. Look at the third image I've attached and you can see the action window: I recorded the process of tiling, selecting, contracting, making a path...so with the push of a button it was all done for me! Very handy. (Plus, now that I've saved it I can repeat this process on any map at any time in the future!)

8. My final step is to fill in the larger gaps left by my automated process. I simply "dab" the tiles in where needed--sometimes even adjusting the size to a smaller px to fit with as little overlap as possible. Oh, and a useful trick I recently learned: click in one place then hold down Shift and click somewhere else and PS will draw a straight line between the two; very useful for longer rows of straight-line tile fill!

STEP THREE: The Sea

The tile-laying process I described in step two easily works for all other aspects of the map. The sea could be created by simply creating a rectangular selection with the Marquee Tool, then running that same process (i.e., Action) with blue tiles. But my vision for the map is for the water tiles to be circular, which is basically the same thing, but with circles.

So first I create a new layer on top of all others, entitled "Sea". Then, I'll use the Elliptical Marquee tool to select a small circle (hold down Shift for a perfect circle) in the approximate center of the image. I then select a foreground and background blue/blue-green.

Now I must adjust two parts of my Action: 1) since I'm starting small and growing out--the opposite of how I tile filled my landforms--instead of contracting the selections I must Select>Modify>Expand them. 2) I plan to use a slightly larger tile for the sea than I used for the land (20 px. vs. 15 px), so that Expand command is at 15 px. rather than 11 px.

Now I'm ready. Then I run the Action over and over again, and ascending circles of blue tiles appear. I'll keep doing this until the entire screen is filled with blue tiles. [See image 1]

The only hitch I have found with the circles is this: as the circles keep expanding in size, they grow less and less circular, so if I continue using the Action over and over, by the end my circles are oblong or even squared. This imperfection really doesn't matter overly for an image that is intended to resemble tiles laid by the fallible human hand (in fact, I rather like it), but still I have stopped twice and re-Marqueed a perfect circle to "reset" the shape. (If anyone out there in cyberspace knows how to prevent this degeneration, please let me know!!)

Next I move the Sea layer below the land layer, click Layer>Layer Mask>Hide All so the entire sea tile layer is hidden.

Then, in the Paths window, I click on that original land path that I saved, click "Load Path as Selection", then Select>Modify>Expand it by 8 pixels (so the selection is actually surrounding the outermost land tiles).

Finally I Select>Inverse and filled in the sea with white. (I also save this land- surrounding path as a new work path, in case I ever need that again too!)[see Image 2].

(I should note that this "non-destructive" technique of masking tiles was chosen in order to allow me to easily adjust my land tiles later in the process if I so desire. Late in the building/planning stages, for before final rendering when all is set and I am satisfied with my layout, I will rasterize the mask so the tile layer effects work out correctly.)

STEP FOUR: Map Border

Now I'll tile the border for my map. First I hide all the sea tiles that would overlap the border. I click the layer mask thumbnail in the "Sea" layer, then Marquee a rectangle around the edges of the land, followed by Select>Inverse. I fill this area with black, thus hiding the blue tiles. (Do not Deselect yet, though.)

Now I create a new layer on top of my stack entitled "Border". Of course, the possibilities for patterns and effects in the border are limitless. I'll start with a simple frame by (you guessed it) following the same tile fill procedure I've used for both land and sea. I first Select>Inverse so the land area is the selected area again. Then Select>Modify>Expand by just over half my tile size (I'm going to use big 30 px tiles for the border, so I expand by 17 px). Then I choose new tile colors and follow the procedure (Action) from before, expanding until my edges are filled.

As you can see from Image 1, I alternated colors for variety. You will also notice that the corners contain angled tiles; this is a result of the stroking process, and I like the effect for my ancient map. If you would like to avoid this, either erase the corner tiles by hand, or bypass the entire stroking of work paths system altogether by drawing the lines of tiles in by hand (click one end, then Shift-click the other is easiest.)

Now, you can stop there if you like or do any number of fancy-schmancy border patters. In Image 2 you can see I added some simple, triangular flourishes to my border. I did this by placing a layer mask revealing all over the Border later, then selecting a square marquee, Select>Transform Selection to rotate it 45%, placing it in the center of each side of the border and filling it with black to hide that triangle of border. Finally, I hand brushed in the new tiles in a newly-created layer called "Border Decor" & erased excess tiles. Pretty simple. The corner lines I created completely by hand, masking out the overlapping Border tiles as well.

STEP FIVE: Borderlines & Inserts

I want to now finish up tiling the map. This could take either much time or be rather brief, depending upon how intricate I want my final image to appear. I think I will only insert borderlines and one mini picture on this map, but on your map you could go into great detail, inserting mountains, rivers, multiple images, etc. using the exact same methods.

First I use the Paint Bucket Tool to change the Background layer's white to a tan/taupe color to simulate grout. This will help make my white tiles stand out.

Then, I put a layer mask (revealing all) over my Land layer. I'll use this in a minute to hide overlaps.

Now I create a new layer on top called Borderlines, then switch to the Paths menu where I create a new work path. Using the Freeform Pen Tool I draw in my borderlines. Then I choose my tile brush and click contrasting foreground/background colors. I click "Stroke path with brush" and my borderlines are now tiled.

But I need to get rid of overlapping tiles. So I switch back to the layers window & ctl-click the thumb in my Borderlines layer, thereby selecting the tiles I just created. Now Select>Modify>Expand by 2 or so pixels. Finally, in the Land layer mask I fill the selection with black in the layer mask, thus hiding the land tiles and giving a grout line beside my borderlines. [see image 1]

I'll follow a similar process (simplified) for an inserted mosaic picture. I found a picture of a Roman ship from a simple web search, so I copy-pasted that into my PS document, but you could also draw free hand. In a new layer on top of all other layers I draw the ship with my tile brush, using various color combos and tile sizes. Then I delete the pattern pic, and in the layer mask for the sea I simply paint with a hard edged brush in black to blot out the overlapping tiles. It's as simple as that. [see Image 2]

STEP SIX: Labels

Labeling a mosaic map may be completed in numerous manners. My method is straightforward and easy, but certainly not the only method.

So first I select foreground & background color (I chose light--almost whites), then I place all your text on top of all other layers using the Type Tool. (I used a font called Satyr--a free download here at Dafont.com.)

Make sure the text is spelled the way you wish, because after the next few clicks they will not be editable as type! Next, I ctrl-click all my text layers in the layers palette, click Layer>Rasterize>Type, and then Layer>Merge Layers. All text is now on one layer, which I rename "Text".

Now I ctrl-click the thumbnail in this Text layer, so each letter of text is surrounded by the marching ants. I hide Text, then create a new layer on top of the stack entitled "Text Tiles". Then with my tile brush set to tiles just barely wider than my text width, I draw in all text. [see Image 1]

Note that you don't need to be neat or careful here, since the selection will not allow tiles to stray outside the ant line. As you do this, remember three things:

Because our brush settings tile are set to paint in the direction of the painting strokes, paint in the direction of your text lines, in smooth strokes.

Ragged edges add to the authentic feel of the tiling we're creating, so don't worry about these

If you do stray too far out of range, remember that ctrl-alt-Z (or Edit>Undo) is your friend!

Next I Select>Modify>Expand by a few pixels, and in my land &/or sea tiles layer masks I use the Paint Bucket Tool with black. This eliminates overlap of tiles. [see Image 2]

You can delete your old Text layer, but I usually keep it--no reason, but why not, just in case.

STEP SEVEN: Tile Effects

Okay, so now we're done laying the basic tiles. Set up is over, and the fun of taking this from 2D to 3D begins. First I save under a different name and work in that new PS file, for I'm now moving to using a destructive technique--meaning in a moment there's no easy going back and tweak. (Or, alternatively, press Alt+Ctrl+Shift+E. This makes a new layer out of the merged image, leaving others in tact.)

I Ctrl-click every layer that contains tiles (including those with layer masks, such as Land and Sea), then Layer>Merge Layers, thus combining all tiles into one layer that I rename "Tiles." So I now have only two visible layers: Tiles and the grout background color.

With the Tile layer selected I open the layer style box (Layer>Layer Style) and entered the settings as listed in Image 1 (or something akin). (I actually have this saved as a layer style, so for me it was only the press of a button to get these settings. Ahhh, technology...)

Next, to add a little color depth I add a Layer>New Fill Layer>Pattern on top of my layers stack, using the Molecular pattern dropped to 40% scale. In the layers palette, I set the blending mode to Soft Light and drop the opacity to 40%.

Finally, those cracks of exposed grout are a little flat, so let's add a Layer Style of texture, set to the Wrinkles pattern, with a scale of 20% and a depth of +60%.

STEP EIGHT: Final Details

Okay, so now my anal-retentive side comes out, as I tweak ad nauseum to get this map up to snuff.

First in the Tiles layer I select the Eraser Tool and a medium sized (10 px), hard-edged brush, set to 10% flow, then trace around any hard, overly-crisp edges or other places I think could use some wear and tear. I then do this same with a larger brush and 20% fill, even tearing out a few spots to simulate ruin.

For some large scale erosion, I choose a fuzzy brush, a charcoal brush, or a splatter brush, and draw around with the Eraser Tool set to 10-20%. I usually do this is "sweeps" of light erasing, scraping away at the tiles, constantly zooming in and out to check both views so I don't get carried away in any one spot. [see Image 1]

Now when all the wear and tear is exactly how I like it, I save again under a different name, then Layer>Merge Visible. I then copy the layer with map twice by dragging it to the Create New Layer button at the bottom of the layers palette.

The middle map layer I switch to Multiply layer blending mode, play around with the Gaussian blur (about 2 px), then lower the opacity to taste (40% or so).

On the top map layer I run Filter>Render>Lighting Effects, and put wide, soft a spotlight on the upper left corner, playing with the settings as fits my eye. This layer I set to Soft Light blending mode.

Final tweaks are adding any Layer>New Adjustment Layers (such as color balance, brightness/contrast, and Hue/Saturation). I am a persistent fiddler, so this takes some time, and I won't tell you my settings because I have never been consistent at this point, choosing to leave things be only when the overall effect strikes my eye as correct. In general I can say I drop saturation and lightness down, since this seems more believable, and I do anything I can to kill neon colors.

I also added a few very light strokes of dark & light browns with various art brushes. Just for.

Image 2 contains my end result. I hope you found this tutorial was useful, interesting, or both. If you have any questions or refinements please go ahead and post them in this thread. Oh, and be sure to post your own mosaic maps here in the Guild so we can all admire your technique, too!

Really awesome. I was convinced there would be a rendering stage as the tiles in the original had the nice shadows and an overall lighting hint from top left to bottom right. So if PS can do this without bump map info then that is quite impressive.

Its also worth noting that its your fiddling with it that converts it from interesting to almost real looking. I am sure that a lot of maps here look really good but with a little extra could take them that stage higher and its often difficult to know what to do to get them to that point.

I don't have PS but my lil ole program can drop icons on a path at random rotations following the mouse track but it does not color tint them, though I could make a color tint layer manually. If I get some time I will have to try and see and post something in the other thread.