Dwarves & D.Sci: Data Fortress

This is an entry in the ‘Dungeons & Data Science’ series, a set of puzzles where players are given a dataset to analyze and an objective to pursue using information from that dataset.

STORY (skippable)

You stare out the window of your office in the dwarven capital of Gildedpeaks, the Hammer of Environs.

(This would be more interesting if the window gave you a view. But, like most dwarves, you live underground, and so the window just looks out onto a rock wall. But the humans have windows, and so no self-respecting dwarf would be without a window themselves, much less be outside like some prissy elf who lives in a tree surrounded by the open air. At least your window has some suitably menacing spikes on it.)

Gildedpeaks sends out constant expeditions, to establish fortresses across the continent, from the Smooth Swamp of Pride to the Glimmering Peaks of Education. Recently, you suggested to King Urist McAnvil that perhaps, rather than grabbing a dozen or so dwarves almost at random, you could select better teams using the history of how well various expeditions did.

(More than one expedition in ten heads out with no brewer. The poor sods! How can dwarves live like that?)

King McAnvil...may not have been entirely happy with your suggestion. And so now you’ve been assigned to the latest expedition, on pain of being Hammered by the Captain of the Guard.

(Many humans think that dwarves like getting hammered—sadly, in dwarven culture, being Hammered is not a metaphor, and involves no alcohol and a very big hammer.)

At least he’s agreed to let you select the workers for your expedition. And you’re sure his mood will improve if your expedition ends with a thriving trade fort. No dwarf can remain grumpy for long in the presence of heaps of coin and well-crafted goods. After that, he might be more willing to hear out your ideas.

If you are successful, a new chapter of Dwarven history will begin with your fort! And either way, this should be Fun! Strike the earth!


  • You need to select an expedition to your new fort. You may select up to 13 dwarves, of any combination of the available roles:

    • Brewer

    • Crafter

    • Farmer

    • Miner

    • Smith

    • Warrior

    • Woodcutter

  • Your fort’s site has the following properties:

    • Light Forest biome.

    • Scarce Coal (coal level 1).

    • Prospecting shows available deposits of Copper, Hematite, Silver and Tin.

  • Your objective is to ensure your own survival (ensuring that the fort survives is necessary and sufficient for this) while maximizing how valuable the fort ends up. Bonus points will be awarded* for giving your new fort a suitably dwarfy name.

  • In order to help you in this task, you have a dataset containing information on past forts that have been founded, whether they survived, and how successful they were.

  • A few clarifications regarding the dataset and problem statement:

    • Fort names are not unique—multiple different forts can have the same name.

    • Dwarven society and technology are relatively unchanging—you don’t anticipate any time trends in the dataset.

    • You’re confident that current expedition selection is random and not correlated with any properties of the site.

    • For simplicity reasons, your personal presence has no effect (positive or negative) on your fort—if you select as your expedition 8 Miners and 5 Smiths, your fort will behave identically to a fort in the dataset with 8 Miners and 5 Smiths, without you either providing additional abilities or getting in the way.

*not actually true.

I’ll aim to post the ruleset and results on August 15th (giving one week and one-and-a-half weekends for players). If you find yourself wanting extra time, comment below and I can push this deadline back.

As usual, working together is allowed, but for the sake of anyone who wants to work alone, please spoiler parts of your answers that contain information or questions about the dataset. To spoiler answers on a PC, type a ‘>’ followed by a ‘!’ at the start of a line to open a spoiler block—to spoiler answers on a mobile, type a ‘:::spoiler’ at the start of a line and then a ‘:::’ at the end to spoiler the line.