Making Dungeon Crawl Stone Soup with 253 cooks and no head chef

Brogue was created by one person. Rogue was created by two. Dwarf Fortress? Two people. Caves of Qud – three people. Desktop Dungeons: five. Dungeon Crawl Stone Soup has had two hundred and fifty three contributors. Of these, fifty have been core developers. In the sixteen-year history of Dungeon Crawl Stone Soup, there has never been a lead. No design lead, no engineering lead, no art lead, no producer.

I spoke with David Ploog (dpeg) and Corin Buchanan-Howland (Lasty), two of the most prominent developers on the team, about how and why they make a game with such a sprawl of people. How many are working on the game right now? “That’s impossible to answer, I’m afraid,” David told me, laughing. Corin said, “almost certainly less than twenty, almost certainly more than five.”

Article continues below

Loading…

Dungeon Crawl Stone Soup, which everyone refers to as Crawl, is one of the most popular and long-lived traditional roguelikes out there. It has an ASCII version, which most of the developers use, and a tiles version, which most of the players use. The goal of the game is to gather between three and fifteen runes, retrieve the Orb of Zot, and ascend to the surface as the demons of hell chase after you.

Players select their character from twenty-six species and twenty five backgrounds (classes) at the beginning of the game, and they choose to worship one of twenty-three gods somewhere along the way. The game has traditional randomly generated level layouts, but it’s also filled with vaults, which are hand-crafted areas or floors that are scattered throughout the dungeon. The game is structured around twenty-two different branches which each have different enemies and level design patterns. It’s endlessly replayable and it’s tremendous fun. You can watch live games of Crawl here.

In 2002, David Ploog, who is a mathematician living in Berlin, worked his way onto the two-person Crawl development team by mapping hundreds of vaults in his free time. He was particularly focused on entry vaults, which are the rooms that the player first spawns in. “For these to be fun, you don’t need ten, you need thousands,” he told me. “[Entry vaults] are so visible to the player, because they die so often. I would come home from university, and every day I would make ten new entry vaults. After a while, I sat there and– you need a new idea, a concept for a level, and I had nothing. I even resorted to silly things, like there’s one entry level where you have all the Tetris pieces.”

“So I asked myself, what is it that makes Crawl so good and NetHack so bad?” (For the record, NetHack is great). He then wrote a design manifesto, which, like every other part of the game’s development, is freely available for everyone to see. This document has been a sort of North Star for Crawl’s design direction. “I had no idea back then how important this piece of paper would become.” Highlights of the design philosophy include: challenging and randomized skill-driven gameplay, meaningful decisions, no grinding or save-scumming, a painless interface, and newbie support. On the forums, players often quote from the design document when arguing about design decisions.

Article continues below

Loading…

“The second most important thing I did, besides the design document, was opening up the dev team. This was very useful for me, because I had so many ideas, but I didn’t code, so I needed a coder. Fifteen years later, the team has grown.”

Corin Buchanan-Howland, a software engineer in the US, joined the team like many others did. “I was a player at the time. I contributed some very light work, and then I decided to put together a god just for the heck of it. After we got the god into [the game], and people were happy with it, they extended an offer to me to join the dev team.”

Corin’s first god is named Ru. Ru is the god of sacrifice. When Ru judges you ready, he offers a choice between three sacrifices you can make to achieve greater power. Sample sacrifices include: “Sacrifice Eye,” “Sacrifice Words,” and “Sacrifice Love.” Once you have made enough sacrifices to become Transcendent, you can summon an apocalypse, dealing heavy damage and inflicting harmful status effects to all enemies in sight. Ru is a very cool god.

The number one most important qualification that the developers discuss when deciding if they should add someone to the official dev team isn’t their design, art, or coding prowess. It’s their social skills. Corin: “One of the first things that will take you out of consideration is if you’re not someone who’s pleasant to work with. And so, though we are all very heterogenous in terms of our feelings about what designs are good, and about what features should be in the game, that doesn’t prevent us from working together. Because we’re just a relatively easy-going group of people.”

David and Corin both made it clear that there are no leads on the team. There is no one who gets the final say. This element of their development process is utterly unique. Neither David, Corin, I, nor anyone else I’ve talked to, knows of another game that was developed this way.

Here’s how it works: someone on the development team has an idea that they want to pursue. Maybe it’s adding more types of demonspawn, or creating a new species. Maybe it’s AI improvement or balance changes. They discuss their idea with their other developers on the ##crawl-dev IRC, which is open for anyone to see or join. Sometimes, they postadesigndocument on the development wiki, detailing the changes that they want to make. For big things, there is an email list. Those emails are also visible to everyone. Some conversations happen on the Tavern, which is the official Crawl forum, but most them happen on the IRC, where the feedback is more immediate.

Article continues below

Loading…

Design disagreements are inevitable on any team. On a typical game development team, there’s a clear way deal with this. Maybe the idea is worth pursuing, or maybe it doesn’t fit with the overall vision for the game. The lead designer, or the manager of the relevant design team, makes the final call. But with no lead designer, creative director or vision holder, the path forward is less clear.

One of the first conflicts that David remembers was centered around specific layout considerations when adding new gods. At that time, there were twelve gods, and all of them had altars where you could choose to begin worshiping them in the ecumenical temple. A designer from the original crawl team, Erik Piper, thought that new gods should also appear in the temple — that the temple should present players with all possible decisions. David, however, was not on board.

“I was against having all of them, because I had drawn too many temple maps, and we would have to change them every time we added a god. I had so many god ideas!” For two releases they couldn’t work out the issue, so they didn’t add new temple gods. “Later on, I convinced Erik that it could be cool to have overflow altars which appear somewhere between dungeon 2 and dungeon 10. You would find all of the temple gods, but not necessarily in the temple. I think this was actually better for gameplay.” It created new interesting decisions for the player: worship Vehemut, whose altar is right here, or hold out for Sif Muna’s altar?

As the team grew, David worried about the precedent set by other games in the genre. “In NetHack they have this model where if somebody [on the team] objects to something, it will not happen. So every person can veto every change. And in the end you could see that NetHack was dead, much less from having no releases – even when they had a few releases the changes that would appear were miniscule. Minor and minor. And they did improve, but they wouldn’t do anything radical. I was very much afraid that in Crawl, something like this could happen.

“I try very hard to always shift in the direction of more changes. Because if you try something and it doesn’t work – and this happens from time to time – you can revert. But if you don’t even try, you are stuck. We have to try radical things.”

Article continues below

Loading…

The most important part of this – what I see as the skeleton key to the entire process – is the ability and willingness to cut content. Corin told me: “being open to removal is especially important in an organization that is leaderless. Because it means that just because something gets in doesn’t mean that it stays in. If we always just grew the game, even with the best of intentions it would metastasize into something horrible, and we’d need to start imposing rules about who can make decisions and stuff like that. But if we allow people to remove things, they can just quietly go: ‘well, maybe I don’t like this now, but let’s see how it plays out.’ There’s never a point when the discussion is over forever.”

Crawl always has two major versions: the latest stable version (right now it’s 0.19), and Trunk, which is the newest build that is the most subject to change. In Trunk there may be major balance problems or bold changes that aren’t necessarily fully realized. It isn’t too hard to convince your fellow developers to let an idea make it to Trunk, and when people can play with it, it’s usually much clearer if the idea works.

Even when something makes it out of Trunk, however, it’s not immune to the axe. Pakellas, the god of invention, was added in 0.18 only to be removed in 0.19. Recent builds have cut more and more levels from each branch; In in 0.20, Corin intends to trim the core game, cutting Lair to 4 levels (from 6), Lair branches to 3 levels (from 4), and Depth and Vaults to 3-4 levels each (from 5).

Cutting content is, unsurprisingly, not something that most players are excited about. Even the least controversial changes have players up in arms. In 0.15, the encumbered status effect, along with item weight in general, was removed to near universal praise. But a few players were very upset. “It doesn’t matter what we remove – somebody felt that that was the best part of the game. Invariably.” said Corin, laughing.

“It’s a bit like how you raise children,” said David, to more laughter. “Hear me out! In a long-term project like Crawl, we as a dev team shape our players. You see? [When we remove things,] the usual suspects will be annoyed, and somebody will say, ‘that’s it! I quit!’ As a dev team, you get the point across that removal is an option. When they’ve seen this for a few versions, they say ‘okay, they remove things, but they also add things, and in the long run we will be fine.’ [There are some] players who are somehow more devout than even us, and they demand removals. It can happen that on a given day there are 10 topics [on the forum] that say ‘remove this’ and ‘remove that.’ In this sense, shaping our players has worked really well, and we’re a little bit afraid of the creature that we’ve raised… I don’t know what that says about my real children.”

Article continues below

Loading…

What about personal conflicts, another inevitability of any sort of long term artistic collaboration? “I’ve only had one other dev who I’ve really had a personal conflict with,” says Corin. “And my strategy for personal conflict is always just to address it right away. And so I brought it up with that person in IM immediately. And we talked it out, and then we talked it out another time and another time. Every time we talked about it, it would go away for a while. I can’t say that it’s fully resolved at this point, but… you know. These things are a work in progress. Nobody is perfect. There’s gonna be conflict and that’s just a part of life. By and large, we are a group of people who can disagree without actually hating each other. And I think that’s really important. David adds, “let me try to quantify it. Of all the people who have dropped out of core development over the years, I can only think of one who did so over a question like this. I think that this is reasonable. We’re in a really good situation.”

It helps that Crawl is totally free. There isn’t even a way to donate to the developers. Money is a major source of conflict and by removing it from the equation, the Crawl team ensures that the people who are working on the game are doing so because they want to, not because they need to. There are no sticky questions of how to divvy up donations, and no need to measure how much each person has contributed to the team.

Crawl feels like a quilt being made by hundreds of people. When an auteur or even a team with a creative director make a game, everything is stitched together with a cohesive whole in mind. But with Crawl, there are people all around the edges, making things that are strange and personal. The gods, the monsters, the branches, the backgrounds, and so many other parts of the game are inventive, surprising, refreshing – and that’s because they’re made by 253 pairs of hands. There are so many ideas here. It’s spectacular.

I asked Corin and David what most excited them about the future. Corin’s current projects (“Oh my god, I have a list as long as my arm!”) include a sizable rework of ranged combat, increasing its damage but making ammunition much scarcer. Wu Jian, the Council God, was just added to Trunk. Desolation of Salt is being upgraded from a small portal to a full-sized branch. Someone’s reworking the swamp worms. David is focused on making the game harder. “It’s too easy,” he told me four different times.