Update!! I've reviewed another map generator, this one for generating Medieval Cities!
- Eu4 Random Map Generator Roblox
- Eu4 Interactive Map
- Eu4 State Map
- Eu4 Random Map Generator Dnd
- Eu4 World Map
- Eu4 Random Map Generator
- Eu4 Map Maker
No series about world-building is complete without a discussion of map-making. Open just about any fantasy novel and you’ll find a map, large or small, illustrating the book’s setting in loving detail. Similarly, maps form a key part of the Game Master’s repertoire of tools and props for lovers of homebrew table-top fantasy games.
Eu4 Random Map Generator Roblox
Not being an artist, there’s not a lot I can add to this subject, at least not in the traditional sense of writing a tutorial on how to create a map. No, there are many talented people much better qualified who’ve done this already for free on YouTube or via sites like the Cartographer’s Guide or Fantastic Maps.
What I can do, however, is give my thoughts and opinions on three unique open-source projects I’ve stumbled across that can generate a map for you — no artistic ability or Photoshop skills needed!
At least that’s the hope…
R/eu4: A place to share content, ask questions and/or talk about the grand strategy game Europa Universalis IV by Paradox Development Studio. They should make a dlc where not only America gets randomized but the whole world and probably give an option where people can chooce what kind of world they want. Pangea, continents, archipelago, etc.
Fantasy Map Generator by Azgaar
The first project is the slickest and most user friendly, but it’s very much a work-in-progress and still under active development.
What’s especially cool about this project is its created with HTML5 and Javascript, meaning it runs in a web browser. A fully functionally demo version is available on GitHub.
On the map itself, you can easily change the country and city labels by clicking on them. You can change the text and the appearance, including changes to font and colour.
The menu is divided into a number of tabs that configure the Layout, Style, Options and so on.
The Layout menu allows you change map-presets (Political, Cultural, Heightmap and Pure landmass) which are pre-defined views that toggle various map layers.
The Style menu gives you control over the appearance of your map elements. You can select everything from the Ocean to Rulers using the drop-down menu and then change colour, opacity and even add a basic filter, such as blur or a shadow.
The Style menu also allows you to apply a global filter, with a choice between Greyscale, Sepia (shown above), Dingy and Tint.
The Options menu allows you to set parameters for new maps. You can set the size, heightmap template along with number of settlements (Burgs) and states the generator will produce. You can also define environmental parameters such as precipitation and swampiness.
The Options menu also lets you set the the generator’s output settings for zoom level and PNG resolution.
The Customize1 menu allows you to edit the currently generated map. You can tweak the heightmap (used to model the terrain) — but I only gave it a cursory look.
The real beauty is the Countries editor, which lets you change the name (and the capital’s name), the number of Burgs, the area and the population.
The app allows you to control your scale using the scale editor (shown below). Scale is an important but often overlooked aspect of world-building and fantasy map-making. When I design a world, not only do I need to understand distances (for example, travel times) but also area (for designing realistic economies).
Saving, loading and exporting maps
Just because this app runs in a browser doesn’t mean you can’t get data in and out of it. The menu gives you the option to Save and Load your map. You can save to the app’s internal file format (.map, which is basically SVG), SVG and PNG. Saving as a .map file allows you to load the file back into the app at a later time.
PNG export is good for dumping you map to a file format you can easily share or import into another program such as Scrivener, Word or Photoshop.
However, SVG has much great potential, allowing to edit the map as a Vector file in a program such as Adobe Illustrator or Inkscape. In this way, there’s no limit to what you can do with your map to customise it.
Performance and closing thoughts
On Safari, the performance wasn’t great, especially after using the app for a while. Operations such as scaling and moving would often become sluggish with noticeable delay.
Performance was a little better on Chrome, but I still found it a little too laggy for comfort. I wasn’t sure if that was due to my laptop (i5 with 8GB of Ram) or if it’s because web apps, well, let’s be honest… universally terrible!
In all though, I was very impressed with the application. It’s got a lot of spit ’n’ polish and it’s under active development. The maps it produces are pleasing to look at and SVG export opens it to considerable customisation in a Vector graphics editor.
Nortantis
The next project, with the rather cool name of Nortantis, is a java app that began life as the developer’s academic project. It uses tectonic plate simulation to generate continents giving them a nice, organic look. It also adds map elements like rivers, trees and so on, and even generates names based on reference files (books) you give it.
As a java app, it takes a little more effort to run than the web app above. You have to have Java 8 installed — which isn’t default on macOS, Windows or Linux. I didn’t have it installed, so off I went to Oracle to grab the macOS binary.
Once Java was installed (and I jumped through Apple’s security hoops), I was able to launch Nortantis right from Finder.
Using Nortantis
Nortantis provides a simple configuration window to set the generator’s parameters
Press Preview without touching the settings and you’ll get something like this.
When you want to make changes, you step through the pages like a Wizard of yesteryear.
The Terrain page allows you to set the Seed (a big number to kick of the random process), World Size and land postition probability values (i.e. centred in the map or near the edge).
In the Background Tab, you can customise the look of the generated map.
You can generate the background from Fractal noise2, a texture file or you can supply your own file for the land and ocean.
If you choose Fractal noise, you have the option to overlay different colours over the background for the ocean and/or the land.
The Regions menu allows you to specify if you want to draw political regions. If you do, you can further customise the colour by fiddling with the Hue, Saturation and Brightness.
The Effects page lets you customise the appearance of various elements. You can blur land and do the same to the ocean, or add a wave effect.
You can also colour elements such as your coastlines, rivers and so on.
The Borders page allows you to configure how borders are drawn or you can disable them.
The Text page allows to custom how text (for labels) is displayed in terms of the Font, colour (text and background), weight and size.
It also allows you to specify the dictionary file from which the random names are created — you can add your own text files too by dropping them in the app’s assets/books directory, which is a nice feature.
Speaking of nice feature, you can replace a lot of the textures and icons used in the assets folder with your own — the defaults aren’t as aesthetic as say, the brush sets you can find on Deviant Art or the Cartographer’s Guide website I mentioned above.
If you don’t want text labels then you can choose not to draw them. You’ll want to do this if you plan on using your own names are you prefer to control the look of typography in ways that’s not possible in the app.
The resulting file came out at 4140x 2348 (I’ve reduced the one below), which is the default size. It generated in a few seconds on my laptop. The result aren’t bad at all.
With the map above I didn’t change the default settings. There’s a lot of scope in its suite of options and the ability to change textures and icons, is something I’m very keen to explore.
One reason why I like this program is it creates a style of map commonly employed with Photoshop technique that take quite a bit of time and skill to create manually.
The app’s weakness is that you can’t change the layout but it’s easy to keep creating a random preview (by changing the seed number in the Terrain tab) until you like the layout and then render it as required with the setting to match your particular needs and tastes.
Fantasy Map Generator by Ryan Guy
Eu4 Interactive Map
Finally, the last project is the easily the nerdiest and least user friendly. It’s not so much a product, as an exercise to develop a C++ implementation of the map-making methods first described by Martin O’Leary.
Guy’s implementation requires that you build the app from source, and once you do, it works from the command line — I did say it was the least user friendly.
I first tried it on Linux, where it was trivial to compile and install. For the purpose of this review however, I’m going to see how easy it is to install on macOS High Sierra (10.13.4), which is my daily driver3.
Installation
Firstly I need to clone the repository from GitHub into a temporary directory.
Reading the installation instructions, shows I need to install some dependencies that aren’t installed by default on macOS, namely cmake and the cairo graphics library along with cairo’s Python bindings. For this I’ll use the wonderful Homebrew package manager.
Lets start with cmake.
Next I I installed cairo and its Python bindings. The app uses Cairo (via Python) to do the actual drawing of the map, while I assume the raw data crunching is done in C++ for speed.
The command tells brew to compile and install cairo using Apple’s clang compiler. I then tried to install the Python cairo library using brew (brew install py2cario
) but things started to go pear shaped. The system Python installation that ships with macOS wouldn’t register the module. To fix it, I installed a Python virtual environment and added an appropriate symlink to the location where Homebrew installed the library.
Finally, with my dependencies installed (and my Python virtual environment active) I was able compile the project as per the instructions.
After all that, I get a newly created program, map_generation in my build directory.
Let’s see if it’s worth it!
Eu4 State Map
Usage
The GitHub page provides the full instructions for creating a map and I won’t repeat them here. First thing I tried was to run it without any options and this is what it produced.
It’s not bad! Quite attractive in an old-school fantasy paperback kind of way (which is a stated goal of Martin O’Leary’s original project). The options allow you to tweak the output using command line arguments.
You can, for example, show or hide borders, rivers, slopes, contours, cities, tows etc. You can also set the number of towns and cities and adjust the map’s size and level of detail.
Eu4 Random Map Generator Dnd
In the above example, I changed the output to 2000x2000 pixels and removed labels. By removing labels, you can easily import the map into your image editor of choice and add your place names, or even colour the map.
Lastly a word on performance. It’s very fast, as you’d expect from an app compiled from C++ — even if it is using Python to do the actual drawing. At 1920x1080 and 2000x2000 it generated the map in a matter of seconds.
So, let’s go wild and build something bigger!
I decided to build a map at 12,000 x 6,000 pixels, which it generated in 12 seconds on my MacBook Air with its Broadwell i5 powered CPU. The resulting file was 6mb, which I won’t bother uploading to save your bandwidth and mine.
So, is it worth it? The compilation process on macOS is a pain in the rear but once installed, it does what it sets out to do quite well.
With it is was able to generate a credible looking map, complete with terrain very quickly. I customised its output, by hiding/showing what you want and you can easily make further modifications yourself in an image editor like Photoshop.
Still, it’s quite limited and is only suited to creating regional maps. What it produces has a certain aesthetic that I like, but really I would need something you can customise much more.
Conclusion
Let’s face it, not all of us are artists — and that’s okay, we don’t have to be. Still, if you’re a writer (of books, games etc) and you need to build worlds, you’re going to need a map.
Generators can get you part, or maybe all of the way if your needs are modest. Would I use any of these programs to create a published map in a book? No, I wouldn’t. But to quickly create a working/reference map for world-building I absolutely would. I’d also have no issue turning over a generated map to artist and have them produce something.
If you enjoy articles like this one, support me by becoming a Scriptorium member. Members get access to all content and more.
OVERVIEW
CK2 Generator is not affiliated with Paradox Interactive in any way, it is a third-party tool created by a fan of the game to add to the experience of Crusader Kings 2.
IMPORTANT: The tool is still in beta – you can expect bugs, potential crashes or weird generation issues that may impact your game. Please make sure you keep your autosaves frequent and report any issues so I can get them resolved.
Basically the tool will generate, from scratch, a completely new history of humanity from its first exodus from Africa as a new mod to be playable in CK2 (and now optionally an entirely random map!). A random culture and pagan religion is formed (as in completely random, using all the parameters available for religions and cultures in CK2, as well as forming a unique language used to name characters, provinces, kingdoms, gods, religions. These cultures will then spread throughout europe, mutating and changing as they spread, words and language, religions, ethnicity, cultural ideals, laws, looting, river sailing, incest, religious heads, holy sites, wives, concubines and everything, all morphing, mutating and branching off as humans spread through time and land, and form a completely unique world with absolutely none of the vanilla cultures, religions, provinces, de-jure duchies or anything found in the base game.
Then it starts generating the history in much greater detail, a simpler simulation than CK2, nevertheless it processes births, deaths, marriages, inheritances, wars and conquests to create full dynasty family trees, title histories, dejure kingdoms and empires, conquered lands, to create a starting point for the player to drop into and start creating their own histories in-game.
Absolutely everything about the history of the world except the map data itself is unique.
It also works on modded maps (though I can’t guarantee it’ll work on all modded maps, and it won’t use the mod’s mechanics and flavour, just the map itself)
In addition, the latest build adds completely random map generation, so you can play on a completely randomized map with completely randomized cultures, kingdoms, religions and empires!
HISTORY GENERATOR INSTRUCTIONS
Note it is not a mod so don’t extract to your mod directory, but an external tool you use to CREATE mods to play, so unzip to any location and run the tool.
Eu4 World Map
- Select the CK2 install directory in the Configuration tab.
- Click ‘Load Map’ to load the vanilla map. (If you want to use a modded map or a generated map, select the mod or map directory with the ‘Alternate Map Mod’ directory first)
- Set generation options in the Generation Option tab
- Click Start in the Generate tab. It will start with pre-history where pre-society humans will spread throughout the land, and after all areas are colonized, it will begin generating the detailed history of your world. At this point you can stop the generation at any time, or leave it to run to an alternate 1066 (the maximum date, though it’ll report 1070 in the editor since it needs to generate a few years ahead).
- Click export. It will export the history as a new mod in your CK2 mod folder.
- If you want to play on an earlier date within the same history, you can input the same seed and re-generate, and stop generation at an earlier date (the seed is stored in the outputted mod’s root directory). At this time multiple start date bookmarks are not possible.
MAP GENERATOR INSTRUCTIONS
- Load tool.
- Click ‘Map Generator’ button.
- Click ‘Generate Landmass’ until you find a landmass you want to use.
- Click ‘Generate Full’
- Select a directory to put the map into (this is a seperate process to creating the history generation mod itself, so the map can be reused for numerous generations, or used separately to generate maps for use in development of fantasy mods etc)
- Wait 10-15 minutes (sorry, will try speed it up but its difficult, it’s doing a LOT) it may seem like it’s hung, may even say ‘Not Responding’ in the title bar, but it’s working away, don’t worry.
- Once the map preview turns into a colour terrain map, we’re done.
- Click ‘Yes’ when prompted to use the map you’ve generated.
- Generate an alternate history as usual using the instructions above.
As I said before, expect there may be bugs or issues and keep your autosaves regular just in case.
KNOWN ISSUES
- No nomads (disabled due to crashes / broken set up)
- Will populate wastes in generation.
- Potential for gameplay crashes so keep your autosaves regular.
- Ports need rotating to face the right direction.
- No straits created at this time between small islands / islands close to mainland
- Occasionally some of the provinces may be a bit oddly shaped
- No generation options for map. Just click ‘Generate Landmass’ until you find one you like.
- No rivers yet
- Mountains need some work, they don’t cut province borders or block movement between them.
This is not an exhaustive list I’m sure there are other issues I’ve forgotten or not discovered yet, certainly since the Reaper’s Due dropped so recently, so appreciate any feedback on issues, as well as fun screenshots of people’s random worlds, histories and characters.
Eu4 Random Map Generator
SPECIAL THANKS:
Tinpinky: For helping massively with the province generation algorithms
Eu4 Map Maker
Pirisinian: For hunting down the cause of a ridiculously frustrating bug!