Dwarf Fortress just made it easier for modders to add their own procedural creatures, items, curses, and more: 'All of these things have been hard-coded in Dwarf Fortress, inaccessible to modders. Now the algorithms and data are available'
My productivity has never been more endangered.

For years, Dwarf Fortress co-creator Tarn Adams has been planning a more mythical turn for the notoriously dense fantasy sim—which, by his own admission, has been a little lacking on the fantastical front. Today, thanks in large part to the efforts of programmer Putnam, who joined Bay 12 Games in 2022, Dwarf Fortress makes its first major step towards that prophesied myth and magic update with a scripting overhaul that will let modders work a bit more of their own magic.
The plans for Dwarf Fortress's myth and magic update are lofty ones, involving procedural creation myths that will influence procedural divine pantheons who will work procedural wonders with procedural magic. To accommodate those goals, however, bits of Dwarf Fortress have needed to be rebuilt, and today's Lua scripting update does just that.
"This is an essential update that will pave the way for more advanced systems like procedural magic," Dwarf Fortress publisher Kitfox Games said in a Steam news post. "It also gives the community the chance to dig deeper into the code and make even cooler mods."
You'll have to forgive any imprecise language here; I'm not a programmer or modder and I'm fighting for my life. According to my layman's understanding, retooling Dwarf Fortress's programming has allowed Bay 12 to expose the game's procedural generation systems as open source, modifiable Lua scripts.
"Right now, this affects procedural object generation, like the forgotten beasts, divine curses (vampires and werebeasts), divine items, necromancers and their lieutenants and experiments, evil weather, and so forth," Adams said on the Bay 12 website. "For the last fifteen years or so, all of these things have been hard-coded in Dwarf Fortress, inaccessible to modders. Now the algorithms and data are available for modding."
The potential applications are, to put it mildly, pretty broad. In an early modding example, Putnam demonstrated how Lua scripts could be used to generate new forms of procedural Forgotten Beasts, or new adamantine alloys that could be made from any existing vanilla metal or any metal added by a mod in the future.
In additional modding demonstration videos published today, Kitfox Games also showed how modders might create new kinds of chromatic metals, which could be procedurally named based on their color in dwarvish or kobold-speak. In another, Kitfox walked through how one might create a nightmarish new order of procedural were-insects, or generate a world ruled by primordial beasts and titans all making competing claims of godhood.
Keep up to date with the most important stories and the best deals, as picked by the PC Gamer team.
Sword sickos could make mods allowing for the procedural smithing of all manner of bladed weaponry. Dinosaur enthusiasts will more easily be able to capture the body profiles and characteristics of their favorite theropods. If one was so inclined, they could forge a species of grime-people.
I was already dangerously susceptible to the allure of starting a fresh Dwarf Fortress game, so I've accepted that I'm more or less doomed from this day forward. I just hope to see a promising crop of new mods before long.
Lincoln has been writing about games for 11 years—unless you include the essays about procedural storytelling in Dwarf Fortress he convinced his college professors to accept. Leveraging the brainworms from a youth spent in World of Warcraft to write for sites like Waypoint, Polygon, and Fanbyte, Lincoln spent three years freelancing for PC Gamer before joining on as a full-time News Writer in 2024, bringing an expertise in Caves of Qud bird diplomacy, getting sons killed in Crusader Kings, and hitting dinosaurs with hammers in Monster Hunter.
You must confirm your public display name before commenting
Please logout and then login again, you will then be prompted to enter your display name.