Software Engineering Daily: Episode Summary – Caves of Qud with Brian Bucklew
Release Date: February 5, 2025
Introduction
In this episode of Software Engineering Daily, the host engages in a deep and insightful conversation with Joe Nash, co-founder of Freehold Games, the developer behind the acclaimed roguelike Caves of Qud (CUD). With over 15 years of dedicated development, CUD has emerged as a significant indie success, celebrated for its intricate lore, emergent gameplay, and innovative character customization. Joe Nash brings a wealth of experience from his background in software development, community building, and game design, making this discussion particularly enriching for software engineers and game enthusiasts alike.
Journey into Game Development
Joe Nash recounts his early foray into game development, sparked in the 1980s. Growing up in a household equipped with an Atari 2600 and an Apple IIC, Nash delved into BASIC programming, creating simple text-based games inspired by early magazines like Bite and Nibble. Reflecting nostalgically, he shares:
"I got started just printing stuff like everybody did at the time... my first games were really simple, simple text-based games."
— Joe Nash [01:17]
This self-taught path laid the foundation for his enduring passion for game development, particularly within the roguelike genre. His early experiences with games like Rogue shaped his understanding of procedural generation and deep simulation, elements that would later become hallmarks of Caves of Qud.
Description of Caves of Qud
Caves of Qud is portrayed as a hauntological experiment in game design—a venture that imagines what roguelike games might evolve into over four decades, blending elements of science fiction and fantasy. Nash elaborates:
"Caves of Qud is sort of a hauntological experiment in video games that it feels like what I thought a video game would be like in 40 years rather than what they actually ended up being in like 1988."
— Joe Nash [03:23]
He emphasizes the game's commitment to maintaining density and relying on player imagination, avoiding the shift towards 3D graphics that characterizes much of modern gaming. This approach allows CUD to offer a richly layered experience that remains accessible via gamepads and other modern input methods, ensuring broad usability without sacrificing depth.
World Building and Lore
A significant portion of the discussion centers on the profound world-building and lore that underpin CUD. Inspired by literary giants such as Gene Wolf and his seminal work, The Book of the New Sun, Joe Nash discusses the collaborative efforts in crafting the game’s narrative depth:
"Jason does all of the amazing writing... CUD is an expression of that. Gene Wolf is kind of a post-launch inspiration."
— Joe Nash [07:35]
The partnership with co-writer Jason has allowed Freehold Games to intertwine complex historical narratives with the dynamic gameplay of CUD. This synergy ensures that the game's universe feels both expansive and coherent, drawn from an extensive pool of historical and literary influences that enrich the player's immersive experience.
Procedural Generation and Simulation Systems
One of the standout features of CUD is its sophisticated approach to procedural generation, particularly in simulating history and events within the game world. Nash explains the philosophy behind their unique system:
"We wanted to do not simulate an objective atomic clockwork behind the scenes, but rather simulate the kind of subjective contextualization that happens."
— Joe Nash [17:25]
Instead of an objective recounting of events, CUD generates history from the perspectives of various factions and characters, mirroring how real-world history is often a subjective narrative shaped by the victor's retelling. This method enhances the game’s realism and depth, allowing for a more engaging and believable world.
Additionally, the use of Wave Function Collapse (WFC) for terrain generation plays a crucial role in creating intricate and varied environments. Nash describes WFC as a constraint solver that enables the generation of complex patterns based on user-defined inputs:
"Wavefunction collapse is basically a constraint solver... It's a texture synthesis algorithm that takes input patterns and regenerates them in varied forms."
— Joe Nash [30:46]
This technique allows for the creation of diverse and non-repetitive environments, contributing to the game's replayability and the sense of discovery as players explore new areas.
Technical Development and Codebase Management
Maintaining a codebase over a 15-year development cycle presents unique challenges, especially in managing technological shifts and preventing code rot. Joe Nash attributes their success to the team's extensive experience and adaptability:
"The short answer is, at this point, we're all very old, very experienced engineers... everyone that's contributing to the code has a lot of experience building projects, big projects."
— Joe Nash [36:58]
The transition from a .NET console application to platforms like Unity and Godot exemplifies their commitment to technological evolution. Nash details the painstaking process of porting the game engine to new environments, ensuring that the core game logic remains intact while leveraging modern rendering and input systems:
"I ripped that whole thread out, tore Unity off of it and stuck a Godot on top of it running in .NET and got the core game thread to boot and start emitting console buffers."
— Joe Nash [42:31]
This modular approach, separating game logic from presentation, has allowed CUD to remain flexible and maintainable, even as the underlying technologies have advanced.
Future Plans and Roadmap
Looking ahead, Freehold Games plans to continue developing Caves of Qud with expansion releases and potential ports to mobile platforms. Nash discusses the challenges and ambitions related to UI adaptation and maintaining gameplay quality across different devices:
"The UI is the challenging part, right? It's not a technical problem, it's a UI problem... we have some preliminary designs for mobile that I think it's actually going to work."
— Joe Nash [45:25]
The team is also exploring new game projects, aiming to leverage their extensive experience to create innovative titles that push the boundaries of procedural generation and deep simulation further.
Gameplay and Player Experience
In discussing gameplay mechanics, Joe Nash shares his preferred character builds, highlighting the balance between randomness and strategic growth:
"I either play a really basic, truekin Tinker just because I don't want to mess around with the systems and I want to hit things with my club, or I play a mutant with all unstable genomes."
— Joe Nash [43:03]
This preference underscores CUD's design philosophy, where players can either embrace simplicity for immediate action or engage with complex systems that offer rewards through strategic planning and character development.
The game's support for various input methods, including gamepads and mobile interfaces, aims to enhance accessibility and provide a comfortable gaming experience across platforms:
"We've moved from basic input to rewired to Unity's new input system... it works quite well now."
— Joe Nash [46:08]
Conclusion
The episode concludes with a reflective note on the longevity and adaptability of Caves of Qud. Joe Nash emphasizes the importance of a dedicated and experienced team in navigating the challenges of long-term game development. As Freehold Games looks to the future, their commitment to innovation and quality remains steadfast, promising ongoing enhancements to CUD and the creation of new, groundbreaking titles.
"If you’re holding off because Caves of Qud is hard to play, but it doesn't... it's really nice to sit back with the GamePad."
— Joe Nash [46:44]
This engaging discussion offers valuable insights into the intersection of software engineering, game design, and narrative storytelling, highlighting the intricate work that goes into creating a lasting and beloved indie game like Caves of Qud.
Notable Quotes:
-
"Caves of Qud is sort of a hauntological experiment in video games..."
— Joe Nash [03:23] -
"Wavefunction collapse is basically a constraint solver..."
— Joe Nash [30:46] -
"We wanted to do not simulate an objective atomic clockwork behind the scenes..."
— Joe Nash [17:25] -
"We're all very old, very experienced engineers... everyone that's contributing to the code has a lot of experience building projects, big projects."
— Joe Nash [36:58] -
"The UI is the challenging part, right? It's not a technical problem, it's a UI problem..."
— Joe Nash [45:25] -
"If you’re holding off because Caves of Qud is hard to play, but it doesn't... it's really nice to sit back with the GamePad."
— Joe Nash [46:44]
This comprehensive summary encapsulates the key discussions, technical insights, and creative philosophies shared by Joe Nash in the Caves of Qud episode of Software Engineering Daily. Whether you're a software engineer, game developer, or an enthusiast of deep, lore-rich gaming experiences, this episode offers valuable perspectives on sustained indie game development and the intricate dance between procedural generation and handcrafted narrative.