An interview with the NetHack DevTeam
Legendarily, the NetHack DevTeam seldom makes public announcements but always Thinks of Everything. In a rare look behind the scenes, John Bridgman interviewed them, using the context of the recent, unexpected update to take a look at what they think about the game.
Whenever I talk to developers, they each have a unique story to tell about how they got into making games, and the NetHack team is evidently no exception. Though their maintenance task is unusual even by major software standards: NetHack 3.6.0 has ports to the VMS and OS/2, among other operating systems (they’d like help updating the Atari, Amiga, NeXT, and Solaris ports).
Counting its Hack precursor, NetHack’s codebase has been around for over thirty years. What keeps people playing that long?
The procedural generation is certainly part of it: each new level is a new, never-before-seen challenge. But it’s not just the procedural generation. Indeed, unlike some other roguelikes, winning NetHack involves a relatively proscribed set of goals you need to complete. (Though it’ll take a while for new players to get good enough to encounter even the first.) As you go deeper into the dungeon, you’ll encounter the fixed landmarks: the Gnomish mines, the Sokoban branch, the Oracle, etc.
This fits in with the content-heavy approach of the DevTeam that Thinks of Everything: there’s a ton of special cases, unique items, and obscure content in the game, all of which can interact with each other. And many of those interactions have unique messages, because the DevTeam really did anticipate it. As in Spelunky, the emergent effects are what makes the game, but NetHack has orders of magnitude more content then Spelunky. It would take you years to see every combination.
And that’s where the procedural generation comes back in: by only giving you access to a specific subset of its content, NetHack keeps the game fresh. You may never have had an occasion to read a scroll of remove curse confused and hallucinating before, but there’s something unique that happens when you finally encounter that circumstance.