-
-
Notifications
You must be signed in to change notification settings - Fork 999
Quick Start Tutorial
The tutorial describes the current UI; exact labels and screenshots may change.

Also watch the video tutorial.
Fantasy Map Generator is a tool that creates highly customizable fantasy worlds for you. It runs in a browser and does not require any software installation; a desktop app for Windows, macOS and Linux is also available. It’s free and you can use created maps for any purposes including commercial.
The tool generates a new fantasy map on opening. The map is auto-generated, but it doesn’t mean that you cannot control the generation. To open the controls click on the arrow button at the top left corner of the screen or press Tab. You can either change the generation parameters and generate a new map, or edit the current map. You can also create a new map from scratch using paint brushes.
The map is generated fully zoomed out. Double click on the map to zoom into the clicked area. Double click again to zoom in even more. The maximum zoom level is 20x, but it can be increased in the options. To zoom out hold Shift and double click. Click and drag to move around the enlarged area.
The same operations can be performed using keyboard. Press + to zoom in, - to zoom out. Use 1-9 number keys to set an exact zoom level. Press 0 to reset zoom to default. Use arrows keys to move around.
By default the map shows the world’s political situation, but it’s not the only available preset. Open the first tab of the menu – Layers – to change the preset. Preset is a set of layers to be toggled on. The default presets are Political map, Cultural map, Religions map, Provinces map, Biomes map, Heightmap, Physical map, Places of interest, Goods map, Trade animation, Military map, Emblems and Pure landmass. You can either select one of the presets or use buttons below to display or hide a particular layer.

To make it simple each layer has a shortcut assigned. Hover the mouse over the layer button to see a tooltip showing what the button does and which key is assigned to it. Check out the Hotkeys wiki-page to get a full list of shortcuts. Click on the plus button next to the presets list to save the current layers as a custom preset. On Generator reload the map preset will be defaulted to the the previously selected one.
Some layers may not be visible if an upper (top) layer is toggled on. You can drag the layer button to change the layer's order.
There are cases when you may want to see several full map-covering layers simultaneously. The only way you can do it is to make the upper layer partially transparent. Open the Style and choose the required layer from the Select element drop-down list and change the opacity slider. Note that this may not work if clipping is enabled.
The same approach is used for styling all map elements. For example if you want to change the color of state borders, select Borders element, then border group (type) and click on the color box to set a new color. Here you can also change border stroke width, its style and apply a visual filter. Different map elements have different styling controls. To restore the default style to all elements click on the counter-clockwise arrow next to the elements list.

The Toggle global filters section below allows to apply a color filter to the whole map.
Some users report performance issues on map dragging and zooming. These are number of tips that will allow you to avoid problems with performance.
- Toggle off layers you are not working on. Especially take care of the Relief Icons layer – it’s the most resource-demanding one.
- If you have a wide screen, open the Generator in a separate browser window, make it much smaller (about 900 x 560 pixels) and re-generate the map. Then zoom in to see the map in detail. It will reduce the rending area and drastically improve the performance.
- Generate maps with Points number = 10K. Points (cells) number highly affects performance.
- Toggle off map and element filters.
- Close all irrelevant browser tabs and applications.
- Use the top-edge browser. As for now the best performance is observed in Chrome. Firefox is also pretty fast, but there are some minor UI issues specific to this browser. Other browsers may not be supported.
If you like the current map you probably want to Save it for a later use. There are 3 saving options:
-
Save to machine. Download
.mapfile that stores all the map data including your manual changes to your machine. The file then can be directly loaded into the Generator. It's highly recommend to save the map you are working on at least every 30 minutes. -
Save to dropbox. Log into your Dropbox account and save the
.mapfile there. -
Save to browser. Save the
.mapfile to the browser storage. Then it can be loaded as a fully-functional map. Press F6 for a quick save and F9 for a quick load. Please use it only for a quick safe, browser storage can be purged from time to time and you can lose your progress. Always keep.mapfile saved on your machine.
The only reliable method is to have a .map file saved on your machine, preferably with multiple copies on Cloud or other machines in case of your machine collapse. FMG doesn't store any of your data and cannot restore the map if you lost the file!

There are also a few ways how you can get the map image or map data. Click on Export and use one of the options there. Please note that image (png, svg, or jpeg) is not a fully-functional .map file and cannot be loaded back to the tool. Consider it as a screenshot.
Let’s move to the settings overview. Open the Menu and click on the Options tab. There are multiple options split into 2 categories. Map settings require a new map to be applied. Interface settings are getting applied immediately on change.

- Map size: the coordinate extent of the map in pixels. There is no way to change the map size after the map generation and it's always advised to use the default value. The button on the left resets the size back to the default (the browser window size). It is not the same as the Viewport size below, which only sets how much of the map you see at once.
- Map seed: a number defining random values generation. If options and map size are the same, two maps generated with the same seed will be exactly the same. The seed cannot store user’s changes, so please don’t use it as a save function. The small button on the left allows to browse through generated seeds and restore previous maps if map options where not locked.
- Points number: the number of generated points and cells. The more points are generated, the more detailed the map. Points number highly affects performance, so 10K is the recommended value.
- Heightmap: template to be applied on heightmap generation. Basically a type of the landmass: high island, continents, archipelago etc. You can create your own template or change the existing in the Template Editor (part of the Heightmap Editor tools).
- Cultures number: the number of cultures to be generated. Cultures can be edited via the Cultures Editor.
- Cultures set: a set of cultures to be used for map generation. Can be a list of real-world-like or fantasy cultures.
- States number: the number of countries (states) to be generated. States can be edited via the States Editor.
- Provinces ratio: the percentage of burgs that will have their own province. Provinces are sub-units of states and can be edited via the Provinces Editor.
- Size variety: defines how much states area should be different. The lower value, the more uniform state areas are.
- Growth rate: defines how far states and cultures will expand into neutral lands on generation. The lower value you have, the more lands will stay politically neutral.
-
Burgs number: the number of burgs (settlements) to be generated. If there is not enough suitable space for the requested number, the Generator will place fewer. Set it to
autoto let the Generator decide. - Religions number: the number of religions to be generated. Controls only the number of organized religions and cults. Religions can be edited via the Religions Editor.
Interface settings:
- Interface size: size of the control panes. If the GUI size is too small, please also check out browser's zoom level (Ctrl +, Ctrl -).
- Tooltip size: size of the tooltips displayed at the bottom of the screen.
- Theme color: main color of the control panes.
- Transparency: opacity of the control panes.
-
Autosave interval: number of minutes the map should be auto-saved to browser memory. Set to
0to disable the autosave. - On load: define what should be done when Generator is opened: a new map generated or a previously saved map auto-opened.
- Azgaar assistant: show or hide the help bubble in the bottom right corner, which answers questions about using the Generator.
- Speaker voice: select the voice used to speak burg and other names. Voice synthesis is provided by the browser.
- Emblem shape: defines shield shape used during emblems generation.
- Viewport size: the size of the map window on screen in pixels. The button on the left fits it back to the browser window.
- Zoom extent: minimal and maximal zoom levels. Click on the button on the right to restore the default values.
- Performance: a rendering preset trading visual quality for speed. Pick Speed if the map feels slow. The cog button opens the detailed settings: shape rendering, state halos and redraw on zoom, each set on its own.
- Language: load Google Translate and select a language to translate the interface. Automatic translation can break some functionality — use the reset icon or refresh the page if it does.
Below the tables there are three buttons. Configure World opens the climate and globe position dialog (see the next section). Set Lore opens the Lore Editor, where you name the map, set the current year and era (used to date state history and battle reports) and write a description of the world. Reset Options cancels all user changes and refreshes the page.
Click on Configure World to set up map position on a globe and climate. Toggle biomes, precipitation or temperature layers on to see how configuration changes affect the map.

The Globe on the right shows relative position of the map as a brighter area. The map position is calculated based on two inputs: Map size and Latitudes. The North is always on the top, the West is on the left and so on. Map size defines a relative size of the map to the whole world. With 100% size the generated map will cover all the world; with 50% - half of the world and so on. If the size is not 100%, the map can be shifted towards North or South. The shift is controlled by the Latitudes input. With Latitudes equal to 0 the map North edge will be at the North pole, with 100 - South edge will be on the South pole, with 50 - the world equator will lie through the center of the map.
The map latitudes affects the temperature gradient and winds applied to the map. You can change the temperature on Equator and Poles and it will be re-calculated based on map position on a globe. To change winds use the arrows on the right. Please note that wind is also latitude-dependent.
The precipitation value defines how much vapor clouds can bring and spread across the map. The bigger the precipitation value, the greater number of rivers and fewer deserts you get. With zero precipitation the entire world will be an unlivable desert.
If you don’t like the heightmap generated automatically, you may edit it or even create a new one from the scratch. Open the Tools tab in the menu and click on Heightmap. Now you need to select an edit mode. All secondary data (rivers, burgs, states, markers and so on) depend on the heightmap, so changing the height manually will break the default generation logic. The best practice here is to use the Erase mode, create the heightmap you want and let the system to re-generate the secondary data. It will remove all the changes made for burgs rivers and so on, but it will guarantee the smooth generation.

If you want to perform just a minor change, select the Keep mode. You won’t be able to change the coastline, but all the data, including manually placed relief icons and rivers, will be kept as it is. So it’s more like a visual change without changing the underlying data.
If you have done some changes and still need to amend the coastline, you may use the Risk mode. As the title says, it’s not safe and can cause some issues. So please use this mode only if you really need to.
Heightmap editing process has multiple build-in tools. These tools won’t be covered in this tutorial, just note that they allow you to use brushes to "paint" the map, to edit and apply heightmap template and to convert any image into a heightmap.

The Heightmap Editor tools are not the only ones available. The Tools tab is split into five sections:
- Edit — the editors and overviews: Biomes, Burgs, Cultures, Diplomacy, Emblems, Goods, Heightmap, Markers, Markets, Measurers, Labels, Military, Namesbase, Notes, Provinces, Religions, Rivers, Routes, States, Trade animation, Units and Zones. Most of them have a keyboard shortcut shown in the tooltip.
- Regenerate — re-runs a single generation step. If, for example, you have added and moved some burgs, they will not be connected by routes anymore; regenerating routes reconnects them. You can also regenerate cultures, emblems, goods, ice, state labels, markers, markets, military, population, production, provinces, relief icons, religions, rivers, states and zones.
- Add — click a tool and then click on the map to place a feature, burg, label, marker, river or route. Hold Shift and click multiple times to add several objects.
- Show — the Cells details view, the Data charts and the Minimap.
- Create — the Submap and Transform tools, which rebuild the map from a fragment of the current one or reproject it.
Individual map elements such as rivers, routes, relief icons, labels, markers, burgs and labels can be edited on mouse click. The editor screen that is opened is different for each element and it’s also out of this tutorial's coverage.

That was a brief overview of the main Generator elements and approaches. It’s not full by any meaning and just serves as a starting point. You can always find more details and help on our supportive Discord server and Reddit community.
Main Page | Quick Start Tutorial | Q&A | Shortcuts | URL parameters | Changelog | Report a bug or suggest an idea | Policy
These pages are maintained in the main repository and synced automatically. Edits made here will be overwritten — please open a pull request instead.