Sampling "Diablo II," I could see why: That game and its successor are basically Nethack, writ large with 3D animation and stereo sound. And while Blizzard's rendition was undeniably impressive on those counts, I couldn't help noticing that it still lacked the breadth of gameplay that Nethack had in abundance. When it comes to immersing you in a game, vivid graphics only go so far, and often actually work against that effect. As science fiction author Neal Stephenson argues in his essay "In the Beginning was the Command Line," programs with a text-based interface feel more like direct interaction, far more so than the point-and-click visual fields we've come to accept as standard practice.
With the all-text Nethack, the preferred graphics card is your mind's eye. This enables you to feel real terror, say, at the approach of an innocuous letter "C" hopping toward you across the screen -- since it represents the cockatrice, an occult-spawned dungeon fowl whose bite turns heroes to stone. With little predigested visual mediation between game play and your imagination, you'd often get the sense that you were, so to speak, playing against the game itself.
With every object, tool, weapon and creature imbued with a wealth of attributes, every situation has endless potential. The aforementioned cockatrice, for example, could turn you into stone, but that is only the beginning. If you kill one, then pick it up with gloves, you can wield its body like a flail, instantly turning monsters to stone when you bash them with it. (Usenet wags dubbed this maneuver "wielding the rubber chicken.") If you have a wand of Polymorph and also wear a Ring of Polymorph Control, you can actually turn yourself into a cockatrice, and explore the dungeon in that deadly form. You can even lay cockatrice eggs, too -- usable as hand grenades of instant paralysis.
In Nethack, at any point, anything seems possible. Jean-Christophe Collet, a DevTeam member who discovered the game while working for a Parisian Unix company, says he was enthralled by "the sheer complexity of the situations you could get into, and the way that there was no 'right way' to get out of them." Surrounded by Orcs, for example, you could incinerate most of them with your Wand of Lightning, but the blast would likely ricochet off the opposite wall and crisp you, too. You could wear your Ring of Conflict, which would magically compel the Orcs to start attacking each other instead -- but then again, wearing it would probably also compel your pet Large Dog to attack you. You'd often get the eerie sense the game was anticipating you and all these uniquely intricate conundrums that no one could have possibly foreseen. Or could they? When I review computer games now, I always begin with the question, Is this game as complex and engrossing as Nethack? And even now, more than 10 years from the day I discovered it, it rarely is.
The basic framework for Nethack began with an earlier game called Rogue (hence the genre's subsequent designation as "Roguelikes") released in 1983 on U.C. Berkeley's mainframe. From the beginning, it was conceived (and still maintained by its successors) as an open-source program under Berkeley's BSD license. Anyone could download the game, as well as its underlying source code, improving and contributing to it as desired -- with the sole stipulation that such changes be noted and made available to all. Rogue became the basis for an offspring called Hack, and in acknowledgement of code fixes and additions passed back and forth via Usenet, the quickly evolving game was renamed Nethack. (The history of Nethack and its roster of well over a hundred contributors is detailed in the appendices of Raymond's guide.)
In 1988, Izchak Miller, a University of Pennsylvania philosophy professor, helped organize the game's chief contributors into the DevTeam, an affiliation intended to oversee its continued evolution. Members were drawn to DevTeam by the hacker's unique yen to repair and endlessly tinker with code: "Nethack crashed on me; I fixed how it was crashing," explains Janet Walz, one of the DevTeam's original (and still active) members. "Repeat several times, and then I got a list of suggested upcoming things to implement."
Many enhancements would seem, to an outsider, perfectionist beyond all necessity. Current DevTeam member Dean Luick thought, "It was stupid that lamps extinguished when dropped from the hero's inventory ... The real reason [this happened] was that internally it was hard to have a lit area that wasn't centered on the hero. OK, change that." Luick corrected this barely perceptible shortcoming with an elegant subroutine, by which discarded, still-lit lanterns could keep track of themselves, as it were, throughout all the dungeon levels.