> For the complete documentation index, see [llms.txt](https://wesyc.gitbook.io/voronoimapmaker/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://wesyc.gitbook.io/voronoimapmaker/tutorials/build-from-scratch.md).

# Building a Map from Scratch

![](https://3805039795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGZSrmXCQuRmtnN4PwZD2%2Fuploads%2Fgit-blob-ac0931f00c3b261c8aea50a66eb253851dad4638%2Fscratch-result-v1_0.png?alt=media)

In this tutorial, you'll start with a blank preset and build an island by tracing a reference image. Then you'll bake the island into your copy of the demo level.

At the end you will be able to:

* Draw a shape and fill it with land.
* Place mountains with stamps.
* Route roads between villages and fix any steep parts.
* Paint the vegetation.
* Bake the island onto a Landscape.

**Before You Begin**

* Check out the [quick start](/voronoimapmaker/tutorials/quick-start.md).
* Pick a picture to trace and import it as a texture. This tutorial uses a map of Iceland.

## 1. Creating a Map from the Blank Preset

1. In your project's **Content** folder, click **Add** and choose **Voronoi Map Maker** > **Voronoi Map**.

   ![](https://3805039795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGZSrmXCQuRmtnN4PwZD2%2Fuploads%2Fgit-blob-7312f4766d61163ac8ee574878c9566b6e547938%2Fscratch-new-map-dialog-v1_0.png?alt=media)
2. In the **New Voronoi Map** dialog, set **Preset** to **Blank 2 km**, and click **Create**. **Blank 4 km** can also be used, but we will use the smaller preset for this tutorial.
3. Name the asset `VM_MyIsland`.

## 2. Opening Paint Mode

On the toolbar, click **Paint**.

![Paint mode on the empty map: the Elevation (1), Vegetation (2), Road (3) and POI (4) groups, the Brush (5), Shapes (6) and Reference Images (7) sections, and on the map the brush ring (8) and the height under the cursor (9).](https://3805039795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGZSrmXCQuRmtnN4PwZD2%2Fuploads%2Fgit-blob-871cc124aabd799a0742aadaf7456a6c49d7c1ff%2Fscratch-paint-panel-v1_0.png?alt=media)

|   | Part             | What it does                                                                                                                                                                                                           |
| - | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 1 | Elevation        | **Raise**, **Lower**, **Smooth** and **Flatten** change the ground under the brush. **Fill** sets the height inside a shape.                                                                                           |
| 2 | Vegetation       | **Grassland**, **Steppe** and **Forest** paint vegetation under the brush. **Fill** paints one of them inside a shape.                                                                                                 |
| 3 | Road             | **Add** and **Remove** draw and erase road, **Route** finds a road between two cells, and **Grade** makes a road less steep. **Lock** keeps a road in place when the map updates, and **Unlock** lets it change again. |
| 4 | POI              | **Village** and **Outpost** paint cells into a village or an outpost, and **Remove** takes cells out. **Select** picks one so you can name it. **Lock** and **Unlock** work as they do for roads.                      |
| 5 | Brush            | **Brush size (cells)** sets how many cells the brush covers. Press `[` or `]` over the map to change it.                                                                                                               |
| 6 | Shapes           | The outlines you draw for **Fill**. **Add** starts a new one.                                                                                                                                                          |
| 7 | Reference Images | Pictures you place over the map to trace.                                                                                                                                                                              |
| 8 | Brush ring       | Shows the cells the brush covers.                                                                                                                                                                                      |
| 9 | Height           | Shows the height of the ground under the cursor, above sea level.                                                                                                                                                      |

## 3. Adding a Reference Image

Place your picture over the map so you can trace it. It's only a guide and won't change anything on the map.

1. Under **Reference Images**, click **Add** and pick your picture. It will appear in the middle of the map at half opacity.
2. Drag the centre to move the picture, a corner to resize it, and the handle above it to rotate it.

![A reference image in Paint mode: its name under Reference Images (1), its settings (2), and on the map a corner handle (3), the centre (4) and the rotation handle (5).](https://3805039795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGZSrmXCQuRmtnN4PwZD2%2Fuploads%2Fgit-blob-8bfb20c01bd50f7a8f26720d7f7e0d7822f861fe%2Fscratch-reference-image-v1_0.png?alt=media)

To hide the picture without removing it, clear the check box on its row.

## 4. Drawing the Coastline as a Shape

A shape is an outline on the map, and the **Fill** tools can fill it in.

1. Under **Shapes**, click **Add**.
2. Click your way round the coast. Trace the features of the reference image.
3. Click the first point again to close the shape. A double-click or Enter closes it too, Backspace removes the previous point, and Esc stops the process.

![](https://3805039795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGZSrmXCQuRmtnN4PwZD2%2Fuploads%2Fgit-blob-f361e141af55e0b376071e1d4d9273be31fec414%2Fscratch-shape-draw-v1_0.gif?alt=media)

## 5. Filling the Shape with Land

1. In the **Elevation** group, click **Fill**.
2. Set **Kind** to **Gradient**.
3. Click inside the shape.

![](https://3805039795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGZSrmXCQuRmtnN4PwZD2%2Fuploads%2Fgit-blob-51e7fa7bdc8889af1fce0afd56fbfbc4e1ac22dc%2Fscratch-fill-v1_0.gif?alt=media)

## 6. Placing Stamps

A stamp uses a heightmap to raise the height of cells under the brush, useful for making a mountain. Here, you'll use stamps to put mountains on your island.

On the toolbar, click **Map Settings**, then **Add** in the **Stamps** section, pick a stamp, and click the map. The **Add** list shows each stamp by its asset name.

![Stamps in Map Settings: Add (1), Massif 1 (2), its settings (3), and on the map a corner handle (4), the centre (5) and the rotation handle (6).](https://3805039795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGZSrmXCQuRmtnN4PwZD2%2Fuploads%2Fgit-blob-b09c221617ddbf08a205b18ea8a3bfcbc0f09901%2Fscratch-landforms-v1_0.png?alt=media)

|   | Part            | What it is for                                                                                           |
| - | --------------- | -------------------------------------------------------------------------------------------------------- |
| 1 | **Add**         | Pick a stamp here, then click the map where you want it.                                                 |
| 2 | Stamp name      | The check box turns the stamp on or off. Click its name to select it, and click **Delete** to remove it. |
| 3 | Stamp settings  | Which stamp it is, and its **Rotation (°)**, **Footprint (m)**, **Height (m)** and falloff.              |
| 4 | Footprint       | The area the selected stamp covers. Drag a corner to resize it.                                          |
| 5 | Centre          | Drag it to move the stamp.                                                                               |
| 6 | Rotation handle | Drag it to turn the stamp.                                                                               |

You can click **Elevation** on the toolbar to change the view mode.

## 7. Painting POIs

On **Blank 2 km** the **Villages** and **Outposts** rows stay at 0, so the map does not place towns or roads of its own.

* Back in **Paint** mode, paint a group of cells with **Village** or **Outpost**.
* To name it, click it with **Select** and type in **Name** under **Selected POI**.

![](https://3805039795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGZSrmXCQuRmtnN4PwZD2%2Fuploads%2Fgit-blob-818510da0a3006439fe9776cb1bf67cc04694d68%2Fscratch-towns-v1_0.png?alt=media)

## 8. Routing Roads

**Route** finds a road between two cells, limited by the steepness set by the class.

1. In the **Road** group, click **Route**, and leave **Class** at **Secondary**: the road is then limited by the slope set in the **Steepest secondary road** row.
2. Click a cell in the first POI, and move the mouse. The road to the cell under the cursor is previewed as a dashed line.
3. Click in the next POI. It automatically starts the next road. You can hit Esc to stop the process.

![](https://3805039795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGZSrmXCQuRmtnN4PwZD2%2Fuploads%2Fgit-blob-1764549f013c79e724936990337bb97e73e9d722%2Fscratch-route-v1_0.gif?alt=media)

You can also create a bridge with the **Add** tool. Drag from the start and across the water, and carry on to the far side. A dashed line shows the pending bridge is in preview. When you let go on land, the part of the road over the water becomes a bridge.

![](https://3805039795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGZSrmXCQuRmtnN4PwZD2%2Fuploads%2Fgit-blob-15bf5c4feb3afd81f24adb968c0f8efbc71219e7%2Fscratch-bridge-v1_0.gif?alt=media)

## 9. Fixing Steep Roads with Grade

A red number on a road shows how steep that part of the road is, in degrees. For example, a red 20 means it climbs at 20°. You'll only see one where the road is steeper than the **Steepest secondary road (°)** setting allows, in the **Roads** section of **Map Settings**.

![](https://3805039795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGZSrmXCQuRmtnN4PwZD2%2Fuploads%2Fgit-blob-35e211e0618b3d5fdfebc56148bb8358cd45ecd7%2Fscratch-steep-road-v1_0.png?alt=media)

To fix those steep parts, use **Grade**. It raises and lowers the ground under the road to keep the road within that limit.

1. In the **Road** group, click **Grade**.
2. Drag along the road over the red numbers. As you drag, Grade raises and lowers the ground along the whole stretch you've dragged over, so the road climbs a little at a time. The numbers disappear as it goes.

![](https://3805039795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGZSrmXCQuRmtnN4PwZD2%2Fuploads%2Fgit-blob-055a31df70e875a014b7e86549e662257a3f92bb%2Fscratch-grade-v1_0.gif?alt=media)

The cursor will say "Too steep to grade between the road on either side. Keep dragging along the road." if the road is still too steep to fix. You can keep dragging on, as a longer stretch has more room to climb. Note that if the road is still too steep, you should consider using the Elevation **Smooth** or **Flatten** tool instead.

## 10. Painting Vegetation

Click **Vegetation** on the toolbar. All the land you filled starts out as **Forest** because it was water cells before.

To change the vegetation over a large area quickly, draw a shape around it and fill it.

1. Under **Shapes**, click **Add** and draw a shape.
2. In the **Vegetation** group, click **Fill**, set **Kind** to **Steppe**, and click inside the shape. Every cell inside it turns to Steppe.
3. You can also paint with the individual brushes.

   ![](https://3805039795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGZSrmXCQuRmtnN4PwZD2%2Fuploads%2Fgit-blob-6b284c3db206a06afcea85758fce4c52e528a3a1%2Fscratch-vegetation-fill-v1_0.gif?alt=media)

## 11. Baking to the Landscape

In the map editor, click **Bake** on the toolbar, then **Bake to New Level** at the bottom of the left panel.

![](https://3805039795-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FGZSrmXCQuRmtnN4PwZD2%2Fuploads%2Fgit-blob-6802b72c2a0b2619aa01a254c0d7eb9dc02b9cea%2Fscratch-plan-and-bake-v1_0.png?alt=media)

## Troubleshooting

* **The map went back to sea.** Changing **Seed** in **Map Settings** builds a new map from the preset, and Blank 2 km is all sea. Press Ctrl+Z to get your island back.
* **Your villages and roads are gone.** Changing **Villages** or **Outposts** in **Map Settings** lays out new ones in place of yours. Press Ctrl+Z, then lock the ones you want to keep before you change it again.
* **Nothing happens when you click with Fill.** Make sure you click inside a shape.
* **The shape won't close.** It needs at least three points, and its lines can't cross each other.
* **"Too steep to grade between the road on either side."** Keep dragging along the road, because a longer stretch gives Grade more room. If the road is still too steep, even out the ground around it with **Smooth** or **Flatten** in the **Elevation** group.

## Next

* [Creating Stamps from Custom Heightmaps](/voronoimapmaker/how-to/make-a-stamp.md)
