Using Dwarf Fortress as a map generator

The previous article in this series discussed my reasons for generating a new campaign setting. This time I will discuss the maps that Dwarf Fortress generates for a new world.

DF allows users to export the world maps and history in Legends mode. This creates great depth via procedural generation without requiring the world builder to design everything by hand. (I also sponsored Worldspinner on Kickstarter for similar purposes. I have a problem…) We have only to specify a few parameters such as the world size (e.g. “Small” or “Medium”), the length of the history, and the relative number of civilizations. It then generates the world by simulating natural processes and interaction between the civilizations, monsters, and people.

After generating a new world in DF, I use a map maker script for GIMP. This takes various maps from DF (such as “Biomes”, “Elevation”, “Volcanism”, etc.) and combines them. Despite the tedious user experience of repetitively navigating to the directory with the exported maps, the script produces fantastic results like the gorgeous render below. By itself, this could provide enough for some world builders to get started.
World map of Inalaanenu

But DF can also directly generate maps of a particular site. For example, one of the settlements in that world looks as follows:

Town map


The town belongs to a broader civilization which has its own culture and history. For example, we have a list of the deities and forces of nature that civilization worships and a chronicle of its rulers. (I will discuss this part of the world generation for the next article in the series.) I haven’t yet figured out the best way to label the sites on the world map. In the meantime, DF has its own map viewer that allows us to follow along. The existing utilities for viewing maps and Legends mode data have given me a bit of trouble. But DF also exports a very large XML file with lots of data that I have started to parse with Dwarf Chronicler, a tool I have started to write myself. Future posts will discuss this project too.

We don’t have to use the site maps from DF, though. Many of them don’t look nice enough for displaying or have much interesting detail. In fact, the map of Puzzlingdust above has more to it than most. The geographical locations and basic demographics of the hamlets, towns, dark fortresses, and such, should provide enough detail to get started. From there, we can populate the towns as needed with some of the characters that DF has generated or create our own. I already sponsor Dyson Logos via Patreon and some of those maps will serve this purpose well. Those who want to stick with procedurally generated dungeons should look at Donjon as usual. (Side note: thanks to Drow, who runs that site, for the shout-out to my daughter in the banner. That really made her night, and mine, when we saw it.)

As referenced above, the next post in this series will discuss the races, civilizations, and monsters of Dwarf Fortress and how to use those for an old-school campaign setting.

Generating a campaign setting: Motivation

Forgotten Realms v3 campaign settingD&D Fifth Edition appears to use the Forgotten Realms as the default setting. For me, however, FR just comes with too much baggage: an intricate history, many novels of existing lore, and the sense that this world already has its heroes. Players will tend to see the world through their own lenses after playing through so many other games in that universe. Since Wizards of the Coast clearly has all sorts of copyrights and trademarks around this world, we can’t publish much in terms of derivative work.

I recently sponsored two different campaign setting books on Kickstarter, Southlands by Kobold Press and Karthun by Exploding Rogue Studios. Neither should arrive for quite some time. The target dates are in May and November 2015, respectively.

So what campaign setting should I use for a Microlite20 campaign? I started developing for the as-yet-unlaunched Madness of Iliasha campaign to fill this hole, but this calls for something simpler. A plane of existence with no surface world has lots of implications that need a bit more thought. The work I’ve done thus far can still find application, though, by connecting to another more typical setting in the future as an underworld in sort of a “hollow earth” model.

Dwarf Fortress World Generation ScreenOne of my favorite games ever, Dwarf Fortress references lots of common fantasy tropes and does a fantastically detailed job of world generation. In fact, most of the creatures not procedurally generated already exist in the d20 SRD. Many of them even have simplified Microlite20 versions already! This allows me to spend my time filling in or adusting remaining details with other tools instead.

The next post in this series will discuss how to get started in using DF as a campaign setting tool and some of the lessons I’ve learned so far.

Gaming and operating systems

UNIX Magic

I’ve noted here before that I have played MMORPGs since at least 2005. Actually, though, my history with computer games goes back about 30 years before that, including online gaming most of that time. BBS door games like Legend of the Red Dragon and Solar Realms Elite occupied huge amounts of my time when I was in middle and high school. In fact, I remember when Microsoft started pushing Windows as a platform for games. At that time, most games ran under DOS and we saw Windows as a resource hog. Our expectations that this strategy would fail turned out wrong, of course.

Since then, things have split for me. I do my real (professional) work under Linux these days. Most of my personal computer usage also happens in Linux, largely because I know it better. When I want to set something up or fix a problem, I can generally do so far more quickly and with less trouble in Linux. Unix in general lends itself better to hacking for fun. Compatibility for web sites and such hasn’t caused me trouble in a decade or so.

Gaming is the obvious and glaring exception to that statement about personal usage. But it occurs to me, as I’ve returned to tabletop RPGs, that almost all my gaming could shift to Linux too. Other than MMORPGs like SWTOR, most of the other games I play run fine under Linux. Dwarf Fortress, Kerbal Space Program, Shadowrun Returns and several other games accessible via Steam don’t require Windows at all. Quite a few others actually work fine using Wine or one of its derivatives. I do almost all of my RPG preparation in a browser, text editor, or GIMP. Some specialized software like Hexographer (a mapping program) runs under Java, making it cross-platform by nature.

I don’t want to stop playing SWTOR, though, at least not yet. Shadow of Revan, the next expansion, launches in December. It should provide several months of enjoyment before my next break from that game. When that happens, though, my kids might end up getting my gaming computer and I can shift everything back to my preferred environment.