NetHack: A History and Analysis
1 Introduction
NetHack is a single-player computer role-playing game, originally developed in 1987. In the game, players take the role of fantasy adventurers who must endure the challenges and dangers of the Dungeons of Doom in order to retrieve the mystical Amulet of Yendor for their patron god.
NetHack is available for download, free of charge, from www.nethack.org. The newest version available as of this writing is NetHack 3.4.3, released on December 8, 2003. Official binaries are available for all flavors of Windows, MS-DOS, Linux, Macintosh, OS/2, Amiga and Atari. Source code is also freely available, which, in addition to the above listed systems, is compatible with all flavors of Unix, BeOS and VMS. The source code is distributed under the NetHack General Public License, which is based on the GNU General Public License.
The game is renown among game aficionados for four things: its age, its text-only interface, its incredible difficulty and its addictiveness.
As to the first point, NetHack is indeed a very old game. It will be almost 20 years old as of this writing. While there are many games that are older, very few of them have either an active development team that continues to release new versions or a large, growing player community. NetHack has both.
As to the second point, the world of NetHack is displayed to players as an overhead map that uses alphanumeric and punctuation characters instead of real graphics (figure 1). Every object in the game is represented by a single character. For example, the player's avatar is represented by an "@" symbol. Most of the commands are issued as single keypresses on the keyboard. While this interface seems crude, most NetHack players consider it a virtue.
Hello Balseraph, welcome to NetHack! You are a neutral male human Monk.
------------
|..........+
|..........|
|@f........|
|..........|
|..........|
|..........+
------------
Balseraph the Candidate St:18/01 Dx:13 Co:12 In:10 Wi:9 Ch:10 Neutral
Dlvl:1 $:0 HP:14(14) Pw:5(5) AC:4 Xp:1/0 T:1
Figure 1: The beginning of a game of NetHack 3.4.3. Remember that NetHack is a text-only game, so this is an actual screenshot.
The square on the left represents a room and the player's avatar is represented by the "@" sign. Various statistics about the player character are displayed on the bottom two lines and a descriptive status bar is displayed on the top line.
As to the third point, NetHack's reputation as an incredibly difficult game is well earned. Part of this difficulty stems from the learning curve. The game manual is fairly terse, only describing the commands and interface. The rest of the information about game must be learned the hard way, through sheer trial and error. Even after players have learned everything about the game, the game itself is very difficult. The Dungeons of Doom are chock full of dangers that can instantly kill an unwary adventurer. Finally, NetHack is very difficult because death is permanent. That is, players cannot save their current game and return to it after death. When a character dies, the game is over.
As to the fourth point, despite the near impossibility of the game, NetHack still has a large, dedicated player community. They are drawn to the game by its complexity and difficulty, often to the point of near-addiction. While it is easy to die in NetHack, very few of those deaths are arbitrary. The gameplay has been crafted so that almost every failure could be avoided through cleverness. Good players learn from those mistakes and progress farther along in the game, living for the hope that one day they will finally win.
These four aspects of the game distinguish NetHack as one of the most significant achievements in the history of video games.
2 History
Specifically, NetHack is a "roguelike" game. That is, a game like the even older game Rogue. Because of this, a history of NetHack is in part a history of Rogue.
Rogue came into existence the way most games do: an older game inspired the developers to make a newer and better game using the latest technology. In the late 1970s, the earlier game was Adventure, the classic text-only interactive fiction game. The original developers of Rogue, Michael Toy and Glenn Wichmann, were students at the University of California, Santa Cruz and had access to Adventure on the school's mainframe computers. Wichman remembers that "both enjoyed playing 'Adventure' (Michael [Toy] had long ago mastered the program; [he] kept getting killed but enjoyed it anyway.)"1
However, Adventure proved to be limited in many ways. While today's gamers may find the text-only interface to be the most limiting aspect, Toy and Wichmann were most disappointed by Adventure and existing adventurelike games because they were
"canned adventures"--they were exactly the same every time you played, and of course the programmers had to invent all of the puzzles, and therefore would always know how to beat the game. We decided that with Rogue, the program itself should "build the dungeon", giving you a new adventure every time you played, and making it possible for even the creators to be surprised by the game.2
This randomly generated experience was the key gameplay innovation. Because the program would create surprises every time users played, Rogue would have nearly infinite replay value. Replay was, and still is, an important measure of game quality.
Toy and Wichman developed another game innovation, in the form of rudimentary graphics. Adventure and its direct descendents were completely text based. That is, the game resembled a normal computer terminal, where all the settings were descriptive prose ("You are standing at the end of a road before a small brick building") and all the commands were in the form of pseudo-English phrases ("go east"). Rogue, on the other hand, presented the user with an overhead map drawn using ASCII characters. While crude by today's standards, this gave players a clearer sense of the space they were playing in.
The "curses" cursor manipulation programming library developed by Ken Arnold, a student at the University of California, Berkeley, was the tool that Toy and Wichman used to give Rogue its graphics. Computer terminals of the time were generally limited to 80 characters on 24 lines for a single screen. The curses library, written in 1980, allowed programmers to easily update arbitrary parts of the screen while leaving other parts unchanged. Prior to curses, a programmer would have to refresh the entire screen manually even if he wanted to change just one character while leaving the rest of the screen unchanged. Curses provided the flexibility needed by programmers like Toy to easily create graphics.
In 1980, with Toy doing most of the programming and Wichmann providing ideas and the name, the first version of Rogue was released. Wichman recalls,
We had a playable game, without all the features yet (e.g., no armor), when Michael transferred to U.C. Berkeley, where he met up with Ken Arnold. For a while, we each moved forward with our own versions of the game, him in Berkeley and me in Santa Cruz. This proved to be too difficult to keep up logistically, so I just let Michael & Ken take over Rogue development completely.3
The object of Rogue is to retrieve the magical Amulet of Yendor, an artifact of great value, from the bottom of the Dungeons of Doom. Along the way, the player kills monsters, discovers treasure and explores the randomly generated dungeon. Fortunately (or unfortunately), Rogue is much more difficult than it sounds, and it is the difficulty and unpredictability that made Rogue so popular.
Rogue quickly became popular with the students at Berkeley and--because the popularity of Berkeley's "BSD" distribution of the Unix operating system, which included Rogue--with university students worldwide by 1983. By this time, many budding young programmers had become addicted to Rogue. This proved fortunate, because the original Rogue developers--Toy, Wichman, Arnold, and Jon Lane, who joined the team after meeting Toy working for the Italian company Olivetti--eventually lost interest in the game. Toy and Lane formed their own company, A.I. Design, to port Rogue to the IBM PC around this time. After the company was sold to Epyx, official development on Rogue ended.4
However, many of Rogue's players had already become inspired to improve or remake Rogue independently. One of the first and most successful games inspired by Rogue was The Dungeons of Moria, written in 1983 by Robert Alan Koeneke for the VAX VMS system. Moria would go on to inspire another major roguelike, Angband, in 1990.5
NetHack was not long after Moria chronologically. Hack, as NetHack was first known, was first written by Jay Fenlason, Kenny Woodland, Mike Thome, and Jon Payne in 1985, as an almost direct clone of Rogue, except with more monsters and items.6 This level of similarity, in part, makes NetHack uncommon among its fellow roguelikes. Whereas many others were just inspired by Rogue, NetHack was created from the start as an improved Rogue. Arguably, this makes NetHack a direct descendent of Rogue. Even though the original Rogue development team had nothing to do with NetHack, Fenlason et al. reimplemented Rogue with improvements, a task made easier because Rogue had been released with the BSD license.7
Even from a visual level, there is a subtle yet distinct link between Rogue and NetHack that is lacking when Rogue is compared to other major roguelikes, such as Moria, Angband and Ancient Domains of Mystery (figure 2).
-+----------
+..........+
|.....@....|
---------E--
#
#
#########
-------------+--------
| ? |
| | --------------
####+ +#########+ |
############## | %! | | ) |
| ! | | |
---------------------- --------------
Level: 1 Gold: 8 Hp: 8(12) Str: 16(16) Arm: 4 Exp: 1/9
Figure 2.1: Starting out in Rogue 5.3.
You hear noises in the distance.
------------- ---------------
------------ ............| |.............|
|..........-#### |...........+ |.............| -------
|..........| # --.--------|- ...............# |...{.|
|<.........|### #### ### -----+---------# ##.....>|
|..........|# ### # # ###|....$|
|..........|# # # # ### -------
|..........-################## ## ############
------------# # -.----.--+- #---------#
####' ## |..........######|...(...|#
------|-- |.........| #|.......-#
|........ |.........| #|....@..|
|.......| |.........| #-.......|
|.......| ## |.........| ---------
|..(.....#####..........|
|....[$.| -----------
---------
Balseraph the Candidate St:18/01 Dx:13 Co:12 In:10 Wi:9 Ch:10 Neutral
Dlvl:1 $:0 HP:14(14) Pw:5(5) AC:4 Xp:1/0 T:245
Figure 2.2: An early level of a game of NetHack 3.4.3.
##################################################################
Human #................................................................#
Mage #...........#1#######.........................########...........#
Novice #...........#########>.....#####2######.......########...........#
#...........#########......############.......#######4...........#
STR : 7 #........@..#########......############.......########...........#
INT : 14 #...........#########......############.......########...........#
WIS : 14 #................................................................#
DEX : 13 #................................................................#
CON : 13 #................................................................#
CHR : 12 #................................................................#
#................................................................#
LEV : 1 #...........######.........#########.............................#
EXP : 0 #...........######.........#########.........######..............#
MANA: 0 #...........#####5.........#########.........######..............#
MHP : 10 #...........######.........#########.........######..............#
CHP : 10 #...........######.........#########.........#####3..............#
#...........######.........####6####.........######..............#
AC : 0 #...........######...........................######..............#
GOLD: 385 #............................................######..............#
#................................................................#
##################################################################
Study Town level
Figure 2.3: The first level of The Dungeons of Moria 5.5.2.
Human
Mage
Novice
LEVEL 1
EXP 0
AU 545
# #
STR: 7 # #
INT: 17 # #
WIS: 13 #@#
DEX: 15 # #
CON: 12 %%####.#####.#########
CHR: 16 #....................#
#....................#
Cur AC 1 #....................#
Max HP 10 #>...................#
Cur HP 10 #....w................
Max SP 2 #..<.................#
Cur SP 2 #....................#
#....................#
############.#####+###
Study Lev 1
Figure 2.4: An early level of Angband 3.0.5.
^^^^^
^^^..^
^^^^^^ ^^..^^
""&&^~^^^^.^^
"&&~~~^....^
"""""&&&&&o..~^^^
""""""""&&&&&&&&&&^^
"""""""&&&&&&&&&&&~~
"""""&&@&&&&&&&&&~
="""""""&&o&&&&~~~
==""""""&&&&&&~~
&&"" &&~
Balseraph St:16 Le:12 Wi:11 Dx:12 To:11 Ch: 1 Ap:10 Ma: 3 Pe:10 N=
DV/PV: 11/1 H: 19(19) P: 3(3) Exp: 1/0 DrCh Sp: 100
Hungry
Figure 2.5: Ancient Domains of Mystery 1.1.1. Beginning to explore the world map.
...........
.............
..............
............... ...
................ .....T.
####....................
....#.....######........==
..........#.. #........=.
######.....#t. #........=..
............#.. #......T....
#............##t###......T....=
#........................T....=
##TT.....######t..@.........=....
#=T=.....# ..#.............=....
=====....####.#..T..........===..
.=====...#....#.....t...........
====.....####.#...........T....T
...............................
..............................
............................
Balseraph St:16 Le:12 Wi:11 Dx:12 To:11 Ch: 1 Ap:10 Ma: 3 Pe:10 N=
DV/PV: 11/1 H: 19(19) P: 3(3) Exp: 1/0 Vlge Sp: 100
Figure 2.6: Ancient Domains of Mystery 1.1.1. Beginning to explore a village map.
Figure 2: A comparison of Rogue and four of the most popular roguelikes: NetHack, The Dungeons of Moria, Angband and Ancient Domains of Mystery. Remember, all of these games are text-only, so these are actual screenshots.
Hack was distributed over Usenet in source code form. Because the code was distributed to the public, anyone could experiment with Hack themselves. At this point, several independent developers worked on their own versions of Hack: Andries Brouwer did a major re-write, transforming Hack into a different game, and published (at least) three versions (1.0.1, 1.0.2, and 1.0.3) for UNIX machines on Usenet. Don G. Kneller ported Hack 1.0.3 to Microsoft C and MS-DOS, producing PC HACK 1.01e, added support for DEC Rainbow graphics in version 1.03g, and went on to produce at least four more versions (3.0, 3.2, 3.51, and 3.6). R. Black ported PC HACK 3.51 to Lattice C and the Atari 520/1040ST, producing ST Hack 1.03.11.
Eventually, Brouwer lost interest in Hack. Around that time, Hack patch writer Mike Stephenson took over the reigns of development. In 1987, he gathered all the various Hacks and merged many of their improvements and additions into one program, which was renamed NetHack, to distinguish it from its parent.8
One continuing source of confusion is that the "Net" in NetHack refers to the fact that the game was developed over the Internet by many different people, not that the game is multiplayer or online.9 This open source and team-based development model has contributed greatly to the success of NetHack, in terms of quality and popularity.
The original postings of NetHack were sent to the Usenet newsgroup comp.sources.games. Because the source code was open and anyone could make changes to NetHack, development of NetHack as a single cohesive game could have become unstable.
Fortunately, some developers were more active than most, forming a small core of activity. Stephenson acted as code librarian and configuration manager for the 1.4f, 2.2 and 2.3 releases. Around 1988, Izchak Miller, a philosophy professor at the University of Pennsylvania, helped to coordinate the major developers into the main team that would guide the evolution of NetHack. This band of programmers became known as the DevTeam.
Many members of the DevTeam had simply been players that were annoyed with the inevitable bugs and fixed many of them, like Janet Walz: "Nethack crashed on me; I fixed how it was crashing... Repeat several times, and then I got a list of suggested upcoming things to implement."10 Other developers like Dean Luick and Eric S. Raymond provided new rules and items to add variety to the old dungeon. Miller improved the artificial intelligence of the monsters.11
Overall, the DevTeam's main responsibility is to ensure that the game is balanced. Dave "Fargo" Kosak of Gamespy notes that "the NetHack world is so complex and the items and spells in the game are so integrally intertwined, [so] much of the DevTeam effort is spent fixing problems that occur."12
Nothing is added to the game that will adversely affect the difficulty or complexity. For example, there are powerful items like the scroll of genocide, which when invoked will completely eliminate a type of monster from the current game. If these scrolls were too common, the game would be rather boring. The DevTeam therefore balances the scroll's power with its rarity, among other factors. Stephenson, the first developer of NetHack and still active DevTeam member, says
We're all looking for ways to improve the game, not so much from a snazzy 3D video accelerated user interface--we'll leave that to the commercial games that can budget the huge quantities of time for modeling, map generation and the like. We're more interested in the depth of the gaming experience--the "story" aspect and how the entire game can be totally different every time it's played.13
The DevTeam is a diverse bunch, taken from many nationalities, professions and attitudes. However, all try to guide the game in a manner that they and the player community will enjoy. While the DevTeam's decisions are final in regards with the official release of NetHack, they are not deaf to complaints and improvements suggested by the player community. Stephenson remarks that
We get a huge amount of input from the community at large. With such an open concept for maintenance of the game, we allow anybody who has an idea (especially if they supply code for it :-)) to submit a change or improvement. What the DevTeam does is to act as an editor for these submissions to ensure that they are both technically viable and that they fit into the vision of the game we have as a group.14
Some particularly active players have suggested some of the most notable features in the game, and some have even become members of the DevTeam.
New versions of NetHack have been released regularly every few years since 1987, with varying degrees of modifications and additions. The original version released by Stephenson was version 1.4, which required "a cast of thousands"15 to debug, resulting in versions 2.2 and 2.3. The next major release was NetHack 3.0, written by the original DevTeam headed by Mike Stephenson and included Ken Arromdee, Jean-Christophe Collet, Steve Creps, Eric Hendrickson, Izchak Miller, Eric S. Raymond, John Rupley, Mike Threepoint, and Janet Walz. NetHack 3.1 sported many major changes to the dungeon layout, additional quests and several new levels, along with the usual additions of items and monsters.
According to the history file included with NetHack, version 3.2 marked the tenth anniversary of the formation of the development team. As a testament to their dedication to the game, all thirteen members of the original development team remained on the team at the start of work on that release. During the interval between the release of 3.1.3 and 3.2, Miller passed away. That release of the game was dedicated to him by the development and porting teams.16
Miller's death in 1994 was a loss for the entire DevTeam and the player community. He had been considered a guiding light in the project, having helped create the team and as its de facto spokesman for public announcements on Usenet. In his honor, the proprietor of a candle shop in the Mine Town level of NetHack has been named for him, to light the way for all players. (Players consider killing or even angering the Izchak character extremely bad taste, out of respect for his real life counterpart.)
Despite the loss, the DevTeam moved on. NetHack 3.2.0 was released in April 1996 and NetHack 3.3.0 in December 1999. Version 3.3.0 featured many major improvements, including an entirely rewritten spellcasting system that had been written by players Larry Stewart-Zerba and Warwick Allison in the so-called Wizard Patch. Furthermore, NetHack 3.3.0 was the first version where a character's race was separate from its role; prior to this release, Elves were a player class unto themselves and all other classes were assumed to be human.
NetHack 3.4.0, which featured a multitude of bug fixes and minor gameplay changes was released in March 2002. Make no mistake: Although the changelog calls these gameplay changes minor, all the features added contribute to the overall richness of the NetHack experience. The latest version, NetHack 3.4.3, was released December 8, 2003.
Over time, NetHack has grown into a large and impressive game world. From its humble beginnings as a Rogue clone, new character classes, monsters, objects, dungeons, actions and assorted features have been added by dozens of developers over the past 20 years. And like any good roguelike, NetHack has spawned several variants. These include NetHack Lite, NetHack++ (promptly renamed NetHack--), NetHack the Next Generation and, the most successful of the variants, SLASH'EM (Super Lots o' Added Stuff Hack, Extended Magic).17
The DevTeam refuses to rest on its laurels, earnestly working on the next version of NetHack.
3 Gameplay
In order to fully appreciate the scope of NetHack, a thorough overview of the game is required. Unfortunately, this spoils much of the game, because much of NetHack's charm is discovering the details on your own. Therefore, this section will only be a brief survey. Luckily, NetHack remains just as fun--and difficult--even if you are spoiled.
NetHack is a single-player, Dungeons-and-Dragons-inspired role-playing game. The game focuses mostly on the hack and slash dungeon crawling aspect of Dungeons and Dragons games.
Players can select their character's class from a list of thirteen professions: Archaeologist, Barbarian, Caveman, Healer, Knight, Monk, Priest, Ranger, Rogue, Samurai, Tourist, Valkyrie, Wizard. Each class has unique special skills and challenges. Players may also choose their race (human, elf, dwarf, gnome, orc) and their moral alignment (lawful, neutral, evil). All these options, decided when the player starts the game, have consequences. For example, if your character is an elf, most of the elves you will meet will be peaceful instead of hostile.
Players' characters start the game with an inventory of items specific to their class and race, and a pet (cat, dog or pony). As with Dungeons and Dragons, each character has certain attributes (hit points, magical power, strength, dexterity, etc.) that have numeric values that describe how much of an attribute the character possesses. Usually, a higher value for an attribute is better. Characters can exercise some of these attributes or raise them in other ways. These attributes affect characters' actions. A high strength attribute, for example, will allow a character to deal more damage to monsters.
Also inherited from Dungeons and Dragons is the idea of experience levels. When characters have killed enough monsters, they gain an experience level, which upgrades hit points and makes the character eligible for more enhancements.
Players must venture down through the Dungeons of Doom and retrieve the mystical Amulet of Yendor for their patron god. A brief history lesson shown to every character before entering the dungeons:
After the Creation, the cruel god Moloch rebelled against the authority of Marduk the Creator. Moloch stole from Marduk the most powerful of all the artifacts of the gods, the Amulet of Yendor, and he hid it in the dark cavities of Gehennom, the Under World, where he now lurks, and bides his time. Your god... seeks to possess the Amulet, and with it to gain deserved ascendance over the other gods.18
Retrieving the Amulet of Yendor is no easy feat. The dungeons are filled with fierce monsters to slay and devious traps to avoid.
NetHack has a reputation of being an extremely frustrating game because it is very easy to die. Furthermore, unlike most games, players cannot save at their convenience. NetHack only allows players to have one savegame per character, so that players may take a break. This savegame contains that character's current situation. Furthermore, when a character dies, that savegame is deleted. In other words, when a character dies in NetHack, it dies for good.
Sometimes, the savegame of a dead character is converted into a "bones file", which preserves the dungeon level that the character died on. For future characters, this bones file may be loaded to present the new characters with a situation that killed the old character. On multiuser computers, this allowed for a sort of multiplayer experience, albeit a morbid one.
For those who want a less challenging way to reap some of those rewards, NetHack does offer something like an "easy" mode, known as "Explore Mode." Explore Mode is identical to the normal game mode, but does allow for the option of continuing the same game after death. The price for this is the inability for the score to appear on the high score list. Furthermore, most players do not consider winning the game while in Explore Mode a legitimate ascension, because of the safety net. Most NetHack fans relish the challenge of beating the game on its own, difficult terms.
Many new players find the default save policy to be frustrating, because it is very easy to die in NetHack. One danger is that, in order to retrieve the Amulet, a character must descend deeper and deeper into the dungeon, where progressively more dangerous monsters reside. Many of these monsters, in addition to simply pummeling a character to death, have special attacks that could require a special antidote to prevent death.
For example, there is a creature known as a cockatrice that can petrify an unwary adventurer with its hissing attack. If the player is fortunate, petrification will not be instant, allowing enough time for the character to eat a lizard corpse. When eaten, a lizard corpse reverses the effects of noninstantaneous petrification.
Another great danger for most new players is their character's stomach. A character must eat in NetHack, otherwise it will faint in battle or simply starve to death. Luckily, many monsters leave edible corpses. Some of these corpses even provide useful intrinsic attributes, such as telepathy. However, some corpses may sicken or even kill an adventurer outright. The aforementioned cockatrice, when eaten, will instantly petrify a character.
Although NetHack is an unforgiving game, many players consider this difficulty as NetHack's greatest strength. Partly, NetHack's difficulty is seen as a worthy challenge. From personal experience, I can attest that the first ascension—-NetHack jargon for winning, because a winning character ascends to demideityhood-—is an extremely rewarding experience. I would also like to note that it took four years of play before that first ascension. Some pour souls have not ascended even after a decade or more or play.
NetHack is successful in spite of its difficulty because the game often rewards players simply for playing. As Geoffrey and Elizabeth Loftus observe, games that reinforce players' will to play benefit from difficulty. The key idea is that people will continue an activity if they are rewarded for doing it. People's desire for an activity is proportional to the frequency and magnitude of the rewards from that activity: The more frequenct or larger the reward, the more people will want to engage in that activity.
However, they cannot be reinforced too frequently or too predictably, because eventually the reward will lose value. People's attentions are held longer when rewards are randomly scheduled. This strategy is called partial reinforcement. To begin the reinforcement cycle, there must be an initial reward. As the Loftuses illustrate with pinball, if players gets no reward at all because the game is hard, they will lose interest. However, if they receive even a small reward, they will play more, regardless of difficulty. In fact, they expect that the rewards will become even larger after they can master the harder challenges.19
NetHack commands a loyal--one could even say addicted--audience because its obeys the principles of partial reinforcement. The first time NetHack is played, it is extremely likely that the character will die quickly. However, that is usually enough time for players to do something interesting: kill some monsters, collect some gold, discover an interesting magical effect.
NetHack also emphasizes exploration. Much of the pleasure of playing is trying to get even farther down the dungeons or perhaps to survive longer than the last character. Every new game becomes a search for a larger and more satisfying reward. These rewards do not come easily, so when they do come, they are relished. NetHack's difficulty and complexity extends the length of its appeal.
Even if a player has ascended, more challenges await. The dungeon is randomly generated every time, so there is always the excitement of a new world to explore. Some of the more proficient players take these challenges to the extreme. Some try to ascend without eating (which is possible), others try to ascend naked (their character does not wear armor). There was even talk in the NetHack newsgroup rec.games.roguelike.nethack of a Zen samurai: a samurai who would ascend blindfolded.20
But NetHack is more than just a number crunching dungeon crawl. Part of the pleasure of the game is its peculiar sense of humor and whimsical, but compelling logic. For example, a credit card may be used to pick locked doors, which is not an entirely unreasonable thing to do. There exists a unique, magical credit card--The Platinum Yendorian Express Card--that can be used to recharge magical items. That is to say, The Platinum Yendorian Express Card is a charge card *rimshot*. Dozens of similar jokes make NetHack a fun game to explore.
Many players claim that NetHack's complexity is also strength. Indeed, NetHack is not a simple game, consisting of hundreds of monsters, weapons, armor, tools, potions and magic items. The number of interactions between them is virtually uncountable. There are several branches of the dungeons to explore, from the relatively tame normal dungeon, to the cavernous Gnomish Mines, to Hell itself (known as Gehennom in the game, after the Biblical valley outside of Jerusalem).
Most discussions of NetHack include a tale that displays the incredible depth of the game. Often, NetHack presents an adventurer with a precarious predicament, that leads to an ever increasingly complicated course of action. Salon's Wagner James Au provides an excellent example:
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.21
Most often, these exchanges are followed with an exclamation that "The DevTeam has thought of everything!"
More amazingly, that complexity is conveyed by a simple, dated interface. Many people cannot seem to overcome the ASCII only graphics, the steep learning curve of the controls and the memorization of monster and object attributes. They are unable to experience the rewarding complexity that has earned so many platitudes.
However, the simplicity of text based graphics serves NetHack well, better than the lush graphics of modern games. In the gameplay and exploration oriented design philosophy of NetHack and other roguelikes, sensory immersion would be both too much and not enough.
NetHack's design has been built on a foundation of complex interactions and general exploration. Sensory immersion and realism, along with narrative and characterization, are considered secondary, if considered at all. Because of this design philosophy, the ASCII character based interface is admirably suited for its role.
Because NetHack is a turn-based fantasy game, there is no need for immediacy. One of the most useful strategies for winning the game is to play it slowly, in order to think out the full consequences of your actions.
There is never a need to rush, and rushing usually leads to Yet Another Stupid Death, as it is known in the community. In the most utilitarian sense, there is no need for "realistic" graphics, because not much of the game is "real" at all. The most fundamental aspect of reality, continuous time, is irrelevant in NetHack.
Most design guidelines state that the best interface is transparent to the user. That is, an interface that the user does not need to think about. When the interface is natural, then the intended action is the focus of attention, rather than the specifics of performing that action. Interfaces can achieve this transparency by providing ease of use and a minimum of effort. Both are needed before an interface can become natural. NetHack's ASCII based graphics can claim to provide both of these criteria.
The fundamental gameplay of NetHack does not require fancy graphics. The combat system is extremely stylized; to attack a creature, simply bump your avatar into it. Demands for greater realism in NetHack cannot really be justified, because so much of the game has been stylized, a consequence in part of its Dungeons and Dragons heritage. Even if orcs and elves and magic existed, the numeric system of attributes would still be unrealistic. Concessions must be made to make a game playable.
(This is not to say that graphics are unnecessary in every game. Attractive and well done visuals can add real depth to many games. NetHack, however, has different priorities.)
Of course, NetHack's interface requires some experience before a player can become truly proficient. In some ways, this is worse than a truly graphical interface. Whereas the existing NetHack interface represents the common cat as an "f", a graphical interface could simply show a picture of a cat. In the graphical interface, a player new to NetHack would not need to look up the symbol.
It seems that the graphical interface would be best. However, most of NetHack's monsters and locales are fantastic. It would be an uncommon player who would know what a vrock looks like (a man-vulture hybrid demon, according to NetHack's description). In that case, a player would need to look up what the picture represents. Clearly, neither textual nor graphical interface can avoid a certain commitment from the player to learn. In NetHack's case, a graphical interface could even be detrimental.
The world of NetHack is a fantastic and mysterious one, a rich environment populated from mythology and literature. In a sense, replacing the ASCII based representation of the NetHack world would be akin to turning The Lord of the Rings into a picture book.
Imagination is a powerful force. When confronted by a large purple "&", which represents the major named demons, like Asmodeus or Baalzelbub, a player can feel as much apprehension and fear as they allow themselves. Were the demon illustrated, some of that immersion would be gone. If the visuals were done poorly, it would be definite disappointment for the player. But even if the graphics are superb, some of the immediacy is lost. The simple purple "&" can suggest danger much more subtly and effectively.
NetHack has retained is ASCII only interface as the default setting. For those who simply cannot live without real graphics, there is an option to use small graphical tiles instead of letters. This is partly due to tradition, and partly due to technological limits. NetHack aims to be a game of epic proportions, and until totally realistic sensory immersion is possible, the imagination is the best way to experience the game.
Even if the senses could be completely fooled, a completely rendered danger somehow does not live up to expectations. NetHack can cultivate an attitude in its players that they are not merely playing a game, but taking part of something much grander. The gameplay mechanics and text based interface elegantly and effectively provide the framework for this sort of experience.
4 Culture
While other great games needlessly languish in obscurity, NetHack is nearing its twentieth year with a dedicated development team and active player community. Not only do these players enjoy the game, they strive to make the game itself and the experience that surrounds it better. Games, regardless of their quality, must appeal to an audience. This may be as brash as sex and violence, or as subtle as a superior physics engine. NetHack manages to appeal to a relatively wide audience because of its complexity, difficulty, history and, as this section of the study will explore, its openness and flexibility.
Part of this openness can be attributed to NetHack's game design philosophies. The most rewarding challenge in NetHack is not to retrieve the Amulet of Yendor, but the process of mastering the extensive system of actions and interactions. NetHack players find something appealing about a clever strategy or some unusual aspect of the game. On the NetHack newsgroup, rec.games.roguelikes.nethack, there are regular posts of Yet Another Funny Message Combination that announce to the community some interesting coincidence in game.
Part of the popularity of games stems from their ability to let people live out fantasies and escape the constraints of normal life. While NetHack does operate as a fantasy escape, its greatest appeal is its open-ended gameplay. Passive media like television and films can also be escapes, but only games can allow the player to be an active participant. Most games, however, must force the player to do certain things, limiting the potential freedom that the medium could achieve.
NetHack does not force a single story onto the player. It merely provides a space where the user is mostly free to do anything she wants. While there are some mandatory story elements (you must complete a quest, you must defeat the Wizard of Yendor, etc.), most of the story is freeform, changing from game to game. When one player tells another about their latest adventure, it is more about the decisions they made than about those mandatory story points. Some of the greatest stories are come from spectacular deaths. The situation that Wagner James Au described above nicely captures the sense of freedom a player has in NetHack.
NetHack is neither the first nor last game to offer the player a dynamic, interactive system. NetHack, almost 20 years old, inherited this aspect from Rogue, a game written 25 years ago. Rogue's developers had tired of the predictability of adventurelike games: After you played through a game a few times, there was nothing new.
As an example of modern games, Grand Theft Auto 3 is nearly universally praised for this sort of non-linear gameplay. In GTA3, your character can decide to work for a gang for a while, then proceed to commit random acts of violence, and finish the night with some random exploration of the city.
Yet GTA3, while popular, probably will not match the longevity of NetHack. GTA3 is fundamentally limited by its lack of freely available tools that allow players to change the game. While GTA3 is quite flexible, players cannot simply add a new type of car, for example.
Furthermore, NetHack attracts a certain kind of player, ones who are naturally curious and often possess some programming ability. It takes a certain predisposition to preservere with NetHack's long learning curve.
Because many NetHack players have these traits, many have tried tinkering with the code. Some fix bugs, some try adding entirely new features. If the idea has merit, it may even be integrated into the offical source, like the Wizard Patch. If not widely approved, the idea could spawn an independent game. One of the most popular variants of NetHack, SLASH'EM, started this way. SLASH'EM's designers wanted to add a wider variety of features that were not strictly fantasy, like guns and lightsabers.
The open source development model has been part of NetHack's culture before it even existed. NetHack itself owes much to the open source model that Rogue was one of the first to pioneer. Because of that, NetHack has been able to evolve into the wonderfully complicated game it is today. Since players are given the power to play with the innards of the game, there is a good chance someone will add an interesting feature.
This philosophy has found broad appeal in more utilitarian software development, most notably in the Linux operating system. The ability to see and change the code has far greater benefits than disadvantages.
"Mods", or modifications, can extend the playable life of games, illustrated by more recent games like Half-Life and Battlefield 1942. Even after players have completely mastered the original game and tire of it, a mod can revitalize it. Although Half-Life proper is no longer popular, it survives as a platform for popular mods like Team Fortress and Counter-Strike. Battlefield 1942's own success is based in part on the very popular Desert Combat mod, which converts the World War II-era weapons and vehicles into modern, Gulf War-era armaments.
It seems that the lesson pioneered by NetHack is this: By allowing players to experiment with the original game, with specialized tools or raw source code, people will play that game longer. The game might become even better. Games like this could inspire the next generation of great games.
And even when these new games are released, there is a very good chance that NetHack will still be around, better than ever.
5 Conclusion
NetHack is like the coelacanth, the prehistoric fish. Both are, in a sense, living fossils. Neither has changed much in many respects: the coelacanth still lacks a true spine and NetHack still lacks real graphics. It is easy to dismiss both as extinct, belonging to eras long gone, but that would be an error. Both the coelacanth and NetHack are very much alive.
NetHack can trace its origins directly back to the game Rogue, which was an innovation at the time. Coupling rudimentary text based graphics with a dungeon that changed every game, Rogue offered the promise of nearly unlimited replayability.
NetHack has kept true to that philosophy, remaining at heart a game about exploration and experience, rather than sensory immersion, narrative or characterization, elements that modern games rely on. Still, NetHack remains popular among a certain group, which lovingly guides its evolution. NetHack's open-ended nature, both in game and in its development model, have allowed it to remain vibrant over 20 years, with no end in sight.
Usually, the "Net" in NetHack generates the most confusion, but I'd like to say that the "Hack" is more significantly misinterpreted. While the "Hack" refers to hack and slash action, I think a more apt interpretation can be found in the original programming sense of the word. According to definition 2 in the Jargon File, a hack is "an incredibly good, and perhaps very time-consuming, piece of work that produces exactly what is needed."22
The need? For me, a game that does not dally in the unecessary. In the end, it's all about the finest gameplay ever crafted.
6 Notes
1. Glenn Wichman. "A Brief History of Rogue." 1997. http://www.wichman.org/roguehistory.html
2. Ibid.
3. Ibid.
4. Petri Kuittinen. "Rogue - Exploring the Dungeons of Doom (1980)." http://www.hut.fi/~eye/roguelike/rogue.html
5. Petri Kuittinen. "The Dungeons of Moria (1983)." http://www.hut.fi/~eye/roguelike/moria.html
6. Kuittinen, "Rogue."
7. Wagner James Au. "The Best Game Ever." Salon, January 27, 2000. http://archive.salon.com/tech/feature/2000/01/27/nethack/index1.html
8. Michael Stephenson. Personal communication, May 12, 2003.
9. Dylan O'Donnell. "Frequently asked questions on rec.games.roguelike.nethack." http://www.spod-central.org/~psmith/nh/rgrn-FAQ.txt
10. Au.
11. Ibid.
12. Dave "Fargo" Kosak. "The GameSpy Hall of Fame: NetHack." http://www.gamespy.com/legacy/halloffame/nethack_a.shtm
13. Ibid
14. Stephenson.
15. NetHack 3.4.3 in-game information.
16. Ibid
17. Erik Inge Bolsø. "Balrog." http://www.mo.himolde.no/%7Eknan/roguelike/
18. NetHack 3.4.3 in-game information.
19. Geoffrey and Elizabeth Loftus, "Why Video Games Are Fun," pp. 10-42 in Mind at Play: The Psychology of Video Games (New York: Basic Books, 1983).
20. Tommi Syrjanen. "Re: YANI: Tourist photography." Newsgroup posting, rec.games.roguelikes.nethack, 5/29/2002. http://groups.google.com/groups?q=
zen+samurai+group:rec.games.roguelike.nethack&hl=en&lr=&
ie=UTF-8&selm=7j7klns1la.fsf%40cronotopology.tcs.hut.fi&rnum=5
21. Au.
22. Raymond, Eric S., editor. "The Jargon File." http://
info.astrian.net/jargon/
Node your homework. This writeup was based on a case study I wrote for a class on the history of video game design. It has been extensively updated and revised. /msg me any comments or corrections.
(cc) 2004 balseraph. Some rights reserved. Attribution-NonCommercial-NoDerivs