NetHack is a single-player roguelikevideo game originally released in 1987 with ASCII graphics. It is a descendant of an earlier game called Hack (1985), which is a descendant of Rogue (1980).[2] In 2000, Salon described it as "one of the finest gaming experiences the computing world has to offer."[2]

The player takes the part of a dungeon-delving character in search of the Amulet of Yendor.[3]

The first version of NetHack was released by Mike Stephenson in July 1987.

A core development team emerged with the release of Nethack 3.0 in July 1989. Over the next 14 years of development they established a tight-lipped culture, revealing little, if anything, between releases. Owing to the ever-increasing depth and complexity found in each release, the development team enjoys a near-mythical status among some fans. This perceived omniscience is captured in the initialism TDTTOE, "The DevTeam Thinks of Everything".

Stephenson licensed the software under the NetHack General Public License, allowing other developers to release their own versions.

For many years, fans and others considered NetHack to be "...one of the oldest games still being developed".[4]

The last version to include new gameplay features was Nethack 3.4.3, released in December 2003. Subsequent releases have included new tilesets and compatibility with variants of Mac OS.[5] In the absence of new releases from the developers, several variants developed by fans have emerged.

On 21 September 2014, the NetHack development team acknowledged a leaked source distribution of an upcoming version of NetHack commonly dubbed 3.4.4 or 3.5. They confirmed that they were working on a new version, but that it was not yet ready for release.[6]

After the player character is created, the main objective is introduced. To win the game, the player must retrieve the Amulet of Yendor, found at the lowest level of the dungeon, and offer it to his or her deity. Successful completion of this task rewards the player with the gift of immortality, and the player is said to "ascend", attaining the status of demigod. In addition, a number of sub-quests must be completed, including one class-specific quest.

The player's character is, unless manually specified otherwise, accompanied by a pet animal, typically a kitten or little dog, although knights begin with a saddledpony.[9] Pets grow from fighting, and they can be changed by various means. Most of the other monsters may also be tamed using magic or tempting food.

NetHack's dungeon spans about 50 primary levels, of which most are randomly generated when the player character first encounters them. A typical level contains a way "up" and a way "down" (these may be stairways, ladders, trapdoors etc.), along with several "rooms" joined by corridors. The "rooms" are randomly generated rectangles (as opposed to the linear corridors) and may contain features such as altars, shops, fountains, traps, thrones, pools of water, and sinks based upon the randomly generated features of the room. Some "special" levels are of fixed design in every game session. There are several dungeon branches, including a Sokoban puzzle[10] and Vlad's Tower;[11] these branches add 20-24 additional levels.[12]

A player's inventory, as displayed after application of the "menucolors" patch.

NetHack features a variety of items: weapons (either ranged or melee), armor to protect the player; scrolls and spellbooks to read, potions to quaff, wands, rings, amulets, and an assortment of tools such as keys and lamps.[13]

NetHack's identification of items is almost identical to Rogue's. For example, a newly discovered potion may be referred to as a 'pink potion' with no other clues as to its identity. Players can perform a variety of actions and tricks to deduce, or at least narrow down, the identity of the potion.[14] The most obvious is the somewhat risky tactic of simply drinking it.

Like Rogue, all items of a certain type will have the same description; e.g., all scrolls of enchant weapon may be labeled 'TEMOV', and once one has been identified, all scrolls of enchant weapon found will be labeled unambiguously as such. Starting a new game will scramble the items' descriptions again, so the 'silver ring' that is a ring of levitation in one game might be a ring of hunger in another.

As in many other roguelike games, all items in NetHack are either "blessed", "uncursed", or "cursed".[15] The majority of items are found uncursed, but the blessed or cursed status of an item is unknown until it is identified or detected through other means. The priest character class automatically identifies items as being blessed or cursed.

Generally, a blessed item will be more powerful than an uncursed item, and a cursed item will be less powerful, with the added disadvantage that once it has been equipped by the player, it cannot be easily unequipped. Where an object would bestow an effect upon the character, a curse will generally make the effect harmful, or increase the amount of harm done. There are exceptions, however, which are usually very specific – for example, drinking a cursed potion of gain level will make the character literally rise through the ceiling to the level above, instead of gaining an experience level.

As in other Rogue-like games, NetHack features permadeath: expired characters cannot be revived without having made backup copies of the actual save files. Players sometimes use the initialisms "YAAD" or "YASD" when discussing their characters' deaths, meaning "Yet Another Annoying Death" or "Yet Another Stupid Death", respectively.[16] An "annoying" death is typically one that was the fault of misfortune (such as falling into a spiked, poisoned pit trap early in the game); a "stupid" death is when player's actions were directly responsible for their own death.

The prompt "Do you want your possessions identified?" (abbreviated as "DYWYPI" and used to suggest character death) is given by default at the end of any game, allowing the player to learn any unknown properties of the items found during the game. Player's attributes (such as resistances, luck and others), conduct (usually self-imposed challenges, such as playing as an atheist or a vegetarian), and a tally of creatures killed, may also be displayed.

The game sporadically saves a level on which a character has died and then integrates that level into a later game. This is done via "bones files", which are saved on the computer hosting the game. A player using a publicly hosted copy of the game can thus encounter the remains and possessions of many other players, although many of these possessions may have become cursed. Players can also swap bones files via programs like Hearse.[17]

Although NetHack can be completed by new or intermediate players without any artificial limitations, experienced players can attempt "conducts" for an additional challenge.[18] These are voluntary restrictions on actions taken, such as using no wishes, following a vegetarian or even vegan diet, or even killing no monsters. While conducts are generally tracked by the game and are displayed at death or ascension, unofficial conducts, such as the Zen conduct (in which the player's character wears a blindfold throughout the whole game), also exist within the NetHack community.

NetHack is largely based on discovering secrets and tricks during gameplay. It can take years for one to become well-versed in them, and even experienced players routinely discover new ones.[19] A number of NetHack fansites and discussion forums offer lists of game secrets known as "spoilers".[20] Fans of NetHack consider an ascension without having read spoilers very prestigious; the achievement is so difficult that some question whether it has been or can be accomplished.

NetHack was originally created with only a simple ASCII graphical user interface, although the option to use something more elaborate was added later in its development. Interface elements – environment, entities, and objects – are represented by arrangements of ASCII or Extended ASCII glyphs used in plain text, "DEC graphics" or "IBM graphics" mode. In addition to the environment, the interface also displays character and situational information.

The player (The '@' sign, a wizard in this case) has entered the level via the stairs (the '<' sign) and killed a few monsters, leaving their corpses (the '%' signs) behind. Exploring, the wizard has uncovered three rooms joined by corridors (the '#' signs): one with an altar (the '_' sign), another empty, and the final one (that the wizard is currently in) containing a potion (the '!' sign), chest (the '(' sign), and has just moved onto a square containing a silver ring. Parts of the level are still unexplored (probably accessible through the door to the west (the '+' sign)) and the player has yet to find the down-stairs (a '>' sign) to the next level.

Enhanced graphical options also exist, such as the isometric perspective of Falcon's Eye and Vulture's Eye, or the three-dimensional rendering that noegnud offers. Vulture's Eye is a fork of the now defunct Falcon's Eye project. Vulture's Eye adds additional graphics, sounds, bug fixes and performance enhancements and is under active development in an open collaborative environment.

Bugs, humorous messages, stories, experiences, and ideas for the next version are discussed on the Usenetnewsgroup rec.games.roguelike.nethack.[21]

A public server at nethack.alt.org, commonly known as NAO, gives access to NetHack through a Telnet interface. A Java Telnet emulator is also available on the same site. Ebonhack connects to NAO with a graphical tiles-based interface.[22]

During the whole month of November the annual /dev/null NetHack Tournament takes place. It has been held every year since 1999.[23]

NetHack also has an IRC channel, #nethack, on the Freenode network. Many people discuss the game there, and the resident announcer bot, "Rodney", notifies of every death, invocation ritual, ascension, life-saving, and wish that occurs on the NAO server. Rodney can also announce full and new moons (which has effect on gameplay), as well as providing a substantial database of information which players can access with commands.

The NetHack General Public License allows anyone to create a fork or port it to a platform not supported by the official DevTeam, provided that they use the same license. Over the years this licensing has led to a large number of ports and forks (e.g. Slash'EM,[24]Slash'EM Extended,[25]SporkHack,[26] and UnNetHack[27]) as well as versions[28] in German, Japanese and Spanish.