Ending a 16-year practice, Dwarf Fortress has a new development team. This change comes after the game’s successful launch on Steam and Itch.io platforms.
The release of Dwarf Fortress on Steam and Itch.io was eagerly awaited for two years, with brothers Tarn and Zach Adams working tirelessly on the game until it finally launched in December. However, two years after the initial announcement, Putnam, a long-standing member of the Dwarf Fortress community known for creating popular mods and reverse engineering the game, sent Tarn a definitive email.
“The success of Dwarf Fortress on Steam and Itch.io was evident from the large number of wish list additions, which prompted Tarn and Zach to ponder the possibility of bringing in another developer,” Tarn recalls in a Zoom call as he sifts through his inbox to locate Putnam’s email. “This was a decision that couldn’t be made before due to limitations.”
The Dwarf Fortress team began talking about the possibility of hiring a new programmer during interviews at the start of 2022. Previously, they considered the option of open-sourcing the game. However, with the wish list numbers climbing to over a million by the time of release, they realized they could keep the source code private and bring in a new team member instead.
Putnam recalls sending the email on a not-so-great day, expressing concerns about having another programmer potentially taking away from the game’s personal touch and making it less their product. But then, she thought about herself as a potential candidate and ended the email with that idea. She chuckles as she recalls that part of the email seemed to have made an impact.
As a high school student, Putnam stumbled upon Dwarf Fortress while searching for unique games that would not easily be recognized and that could fit on her small computer screen as a way to relax after finishing her math and typing class assignments. The ASCII graphics of the classic version immediately captured her attention and sparked her interest. Now, as a developer working on the project, Putnam’s main objective is to make the transition of working on the game as smooth as possible, while respecting the game’s history and the dynamic between the Adams brothers who have been working on it for so many years. Despite the challenges, Putnam is confident in her ability to contribute to the game’s development.
Putnam, who is nearly 28, started playing Dwarf Fortress in Adventure mode. As she spent more time with the game, she started exploring its modding system. Although she found the modding system to be limited for some of her ideas, she discovered that she could use external tools to manipulate the game’s memory and expand the scope of her mod
“Initially, Putnam played Adventure mode. As she explored the modding system, she realized it was limited for her ideas. So, she started using external tools to hack the memory of the game, leading to endless possibilities. Putnam says, ‘It went from ‘Can I do what I want in this system?’ to ‘Can I do what no one else has done in this system?’ I had a year or two of programming experience when I started creating mods, and it has since become my career. Every time I tried to do something, I realized ‘Yes, I can.’ This process allowed me to learn a lot more about the game than most people ever will.”
After 16 years of being a one-man operation, the development team at Bay 12 Games has expanded with the addition of a second programmer. This is a major milestone for Tarn, the creator of Dwarf Fortress. Despite the new addition, the game remains as popular as ever. In December 2022, it sold almost half a million copies and currently has an “Overwhelmingly Positive” rating on Steam, based on more than 17,000 reviews.
“There are some challenging challenges that we have yet to face.”
“Being overwhelmed is a fitting description of my current state,” says Tarn. “Unfortunately, we haven’t been able to address as many issues as I had hoped by this point. This is not due to any one person’s fault, but simply because there is too much happening. Until recently, I was handling all the media tasks and programming, which didn’t leave much room for fixing issues. But now, with Putnam on board, we have several exciting fixes coming up.”
The onboarding process was lacking. Unlike what Tarn initially believed, Putnam did not have access to a comprehensive guide on Tarn’s code. Instead, she developed a deep understanding of it through her experiences in modding. In no time, Putnam was already addressing a substantial list of bugs and issues, much to Tarn’s surprise.
Putnam is now empowered to dive into the source code independently, as the team has established a version control system to manage changes efficiently. They are currently in the process of upgrading to Simple DirectMedia Layer 2, which will aid in the development of the Linux and Mac ports.
Tarn acknowledges that while Putnam has managed to grasp the code well, some sections still require a closer examination. “There are a few parts that I haven’t looked at in 10 years, but I’ve made some notes that are now useful for Putnam as well. However, there are some particularly complex areas that we haven’t tackled yet, such as the map generation code, which is quite messy,” Tarn says with a laugh. “But from what Putnam has worked on so far, she hasn’t encountered many difficulties.”
“It’s amazing that it runs smoother than The Sims 3.”
To fully comprehend Dwarf Fortress’ underlying logic, with its numerous interwoven calculations constantly taking place, was a long and challenging journey for Putnam. Despite being a well-involved member of the community, she believes that nobody truly understands how everything functions. However, breaking down the game into smaller components and grasping the workings of each piece can help prevent being completely overwhelmed. The fact that it’s still enjoyable to play the game, even with a deep understanding of it, is partly due to the uncertainty of it all.
According to Putnam, it’s not uncommon for open-source projects to use standardized code formatting, but even though Dwarf Fortress doesn’t, it’s still easy to understand. She finds the code very consistent, despite being written by only one person. Putnam says that when people ask her about the code’s quality, she doesn’t know what they mean because algorithmically, the game is “pretty well optimized.” She notes that Dwarf Fortress does more calculations than most games and is amazed that it runs better than The Sims 3.
With access to the source code, the new programmer has been able to update the in-depth wiki of the game with more accurate information. This includes a list of techniques to improve the frame rate and enhance performance. Despite the wiki indicating that pathfinding is a major factor, Putnam states that there are other components involved, such as dwarves determining their relationship with each other through calculations of friendship or enmity.
According to Putnam, pathfinding is a slow process and it can slow down the game if it happens frequently. However, it does not occur very often. In fact, it is not even a third as impactful as the calculation of whether characters are friends or foes based on the proximity of other characters. The community has discovered that building star-shaped staircases can improve performance, as the walls block the line of sight and prevent characters from seeing other dwarves and running the calculation to determine their relationship.
Putnam says that an optimization update aimed to exclude dead, caged, offside, or ghost dwarves from these checks. However, the game still needed to determine if the dwarves fell into any of these categories, leading to further checks. She adds that minimizing these checks requires a unique approach not commonly known by the community.
Tarn reveals that he used to be worried about someone discovering something concerning in the game’s code. Despite still feeling cautious, he acknowledges that he’s less sensitive about it now. He attributes this to his and Putnam’s similarities in programming styles and their ability to handle different approaches, as well as his awareness of the confrontational nature of online discourse.
Tarn reveals that he once feared someone scrutinizing the code and discovering something unpleasant. Although he is less apprehensive now, he admits to being more sensitive to the idea in the past. This was due to not just the possibility of encountering diverse programming styles, which Tarn is relieved to share with Putnam, but also the combative nature of people on the internet.
“People can be cruel about such things and I just didn’t want to deal with that,” Tarn explains. “Thankfully, the atmosphere here is not like that, so it’s all good. It’ll be amusing when we come across something Putnam doesn’t want to deal with. We’ve already encountered one such instance; there was this complicated line, and I just thought to myself, ‘I must have been exhausted when I wrote that.’ That’s the thing with programming, you can’t expect every line to look neat after a long coding session. We’re all human, that’s why there are bugs in so many games.”
Before Putnam joined the team, Bay 12 Games was no longer the sole project of the duo, having involved artists, music composers, Kitfox Games as a publisher, and most recently, the content creator SalfordSal.
The next steps for Bay 12 Games include the addition of Arena mode, fixing bugs and completing the Linux and Mac ports. The main focus will then be on Adventure mode, for which the team plans to bring in more staff for graphics and audio. While Tarn is optimistic about having the mode up and running this year, it remains uncertain. A traditional QA tester role may not be feasible due to the nature of the game, but the team is exploring alternative options like setting up a public experimental branch for community feedback before the update is officially released. According to Tarn, Dwarf Fortress will continue to move forward with the same pace and have similar features added, with each step involving more people.
“The start of work happened quicker than I anticipated.”
He mentions that the launch of the Steam and Itch versions was significant, and there’s potential for the team to grow, but it’s a one-time event and there will not be any sequels or DLC. The launch serves as a foundation to support their long-term plans, which involve adding features such as villains, armies, and magic, but they have to be cautious. They don’t want to be like tech companies that lay off a portion of their workforce due to poor management or shareholder demands. So, they are being cautious in their approach.
Putnam brings a clear focus on optimization with a modern CPU perspective and strategies to enhance overall team productivity. However, she currently tries to avoid interfering with others.
“If I had to answer the interview question ‘why are you the best fit for this role?’, I would say it’s because I already know how to do all the necessary tasks,” she says. “My primary focus is to make the integration of another programmer into the development process as smooth as possible, while also improving efficiency in terms of bug fixes and optimization. Thankfully, I was able to get to work quickly and there has been productive progress on all fronts, and I don’t believe I’ve impeded the process. I hope I haven’t caused too much disruption,” Putnam adds with a laugh.
“I believe having someone who deeply comprehends and values the essence of the game will result in it being the best it can be,” says Tarn. “I’m not sure if there will ever be issues with preserving the game’s tone, but we’ll handle them as they arise. However, I’m confident that we’re in the best position possible.”