If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

NetHack

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

NetHack

Developer: NetHack DevTeam
Platforms: DOS, Amiga, Windows, Mac OS X, Linux, Solaris
Released internationally: July 1987


CodeIcon.png This game has unused code.
EnemyIcon.png This game has unused enemies.
Sgf2-unusedicon1.png This game has unused abilities.
DebugIcon.png This game has debugging material.
Carts.png This game has revisional differences.


Cactus 2.0!
This article has just been started and needs the article basics added.
Help us out and add them.
<Sanky> please suggest an unused sprite with a clock or something
This game is still under active development.
Be aware that any unused content you find may become used or removed in the future. Please only add things to the article that are unlikely to ever be used, or went unused for some time. If they do get used, please remove them from the page and specify in the edit summary!

NetHack is one of the most well-known open-source roguelike games, as well as one of the longest-lasting (still getting official updates over 30 years later!).

Debug Mode

To enter "wizard mode", the user must boot the game with the -D -u wizard command line parameters. Doing this will enable a host of changes to the game:

Gameplay Changes

  • Wishing has far fewer limits, letting you wish for all traps (except for holes or trapdoors on levels with an undiggable floor), certain dungeon features like fountains or thrones, artefacts, unique items, items with an exact number of charges or +'s, altars with specific alignments...
  • If you enter a level that has bones files present, the game will ask if you want them to be loaded or not.
  • The #pray comment lets you "force the gods to be pleased". If you choose not to do so, the usual prayer timeout rules still apply.
  • Applying a scroll of genocide to "*" will remove every monster on the level without actually genociding any species. Be warned that this will also affect peaceful and tame monsters, like your dog or the Quest Leader.
  • Approaching your guild leader with a high enough experience level but an insufficient alignment record will give you the option to set your alignment level to 20.
  • Dying will pop up a "Die? (y/n)". Choosing no will, naturally result in you returning to life. Choosing to die on bones-eligible levels will pop up a "Save bones? (y/n)" prompt as well.

Additional Environment Variables

Variable Name Effect
WIZKIT Set to a filename containing a list of item names (up to 128 lines) to wish these items into your inventory at the start of the game.
SHOPTYPE Set to a letter code (see below) to force a specific special room to generate on every floor, even if doing so would break room creation rules.
SPLEVTYPE Force the use of specific layouts for the Special Levels that use specific pre-made layouts. For example, bigrm-2,minetn-5 would force those specific variants of The Big Room and Minetown.
NH_HEAPLOG If the MONITOR_HEAP compile-time option is enabled (it's not by default), setting this to a filename will cause Nethack to log all memory allocation and release information there.
SHOPTYPE values and their meanings
Letter Room
z or Z Treasure zoo
m or M Graveyard
b or B Beehive
t or T or \ Throne Room
s or S Barracks
a or A Anthole
c or C Cockatrice Nest
l or L Leprechaun Hall
_ Temple
} Swamp
g or G General store
Any object symbol A Shop selling those objects.
(Source: Nethack Wiki)

Additional Config Options

Option Name Effect
monpolycontrol When set to true, whenever a monster changes shape you'll be prompted to specify their new form.
sanity_check When set to true, runs more sanity checks on monsters, objects and the map prior to each turn.
travel_debug When set to true, shows the pathfinding progression for the travel command.
wizweight When set to true, object descriptions include their weight.

Additional Commands

Keys Action
Ctrl-E Reveal Secret Doors and Traps.
Ctrl-F Map the current area.
Ctrl-G Create a monster within an area.
Ctrl-I Show identities of items in pack.
Ctrl-O Show notable dungeon features.
Ctrl-T Teleport within the current area.
Ctrl-V Teleport between areas.
Ctrl-W Make a wish.
Ctrl-X Show all attributes.
Extended Command Action
#levelchange Changes your experience level.
#lightsources Show mobile light sources.
#panic Prompts to test the "panic" mechanism. Replying in the affirmative will result in the game terminating with the message "Oops... Suddenly, the dungeon collapses."
#polyself Polymorph yourself!
#seenv Shows seen vectors.
#stats Shows memory usage statistics.
#timeout Look at the timeout queue.
#vanquished View counts of killed monsters, sorted in a variety of ways.
#vision Shows vision array.
#wizbury Buries all adjacent objects.
#wizdetect Search for hidden things within a modest radius. Same as CTRL+E.
#wizgenesis Create a monster. Same as CTRL+G.
#wizidentify Identify the items in your inventory. Same as CTRL+I.
#wizintrinsic Give yourself any intrinsic for 30 turns.
#wizlevelport Teleport to another level. Same as CTRL+V.
#wizmap Map out the level. Same as CTRL+F.
#wizrumorcheck Validates the first and last rumor for the true and false sets.
#wizsmell Smell a monster.
#wizwhere Show the locations of secret levels.
#wizwish Wish something into existence. Same as CTRL+W.
#wmode Show wall modes.

Unused Attributes

The player is noted to have Intrinsic Night Vision in you.h, but this never seems to contribute to the game ultimately.

Unused Monsters

There are shimmering dragons mentioned in the code. This would have left behind shimmering dragon scales, used to make shimmering dragon scale mail.

The beholders are also mentioned and have a few gaze attacks.

Vampire mages and vorpal jabberwocks are tougher variations of existing in-game monsters.

Unused Spells

Two deferred spells are mentioned in the code: "flame sphere" and "freeze sphere".

Unused Symbols

The symbols 6, 7, 8, and 9 aren't used to represent anything by default.

Monster Frequency

In vanilla NetHack, monster frequency is rated on a scale of 0–5, where 0 isn't randomly generated and 5 is common. However, it could potentially go as high as 7.

Version Differences

General

  • A tiled graphic mode would be available starting with Version 3.2.0, along with the standard text-mode variation(s).
  • Barbarians were known as Fighters until v2.2a.
  • Ninjas were superseded by Rogues in v3.0.
  • Elfs were superseded by Rangers in v3.3.
    • Similarly, Earendil and Elwing were quest leaders for male and female elves respectively. They were replaced with Orion in v3.3.
    • Also, the Goblin King is replaced with Scorpius.

Symbols

  • Medusas were represented with an 8, but later came to be represented with a green @.
  • Giants were represented with a 9, but later came to be represented with an H.
  • Trappers were represented with a , (comma), but later came to be represented with a t.

Bestiary

  • Only in v2.3e can the player encounter the Three Stooges as enemies.
  • Osquips and Mad Scientists were in the game from Versions 3.0 to 3.0.6.
  • There were unarmored soldiers and watchmen introduced in Versions 3.0.0 and 3.1.0, but both were removed in v3.1.3.

Items

  • v3.0.0 introduced the Thunderfist, an artifact lucern hammer. It was swiftly replaced with the Mjollnir.
  • Slices of pizza were items until Version 2.3e.
  • Version 2.3e is the only version to have a badge as an item.

Places

  • Originally, the player had to go to Hell to finish the game. However, starting with v3.1.0, Hell would be replaced with Gehennom.

End-Game

  • Version 3.2.0 included an obituary for then-recently deceased development team member Izchak Miller. This is still available in the code and can be enabled with the "NH320_DEDICATION" compile-time option.

Bugs

  • In Versions 3.1.0 to 3.3.1, the Yeenoghu had the touch of death due to a bug, which was the result of adding the riders carelessly after the code that handles the confusion attack. This was fixed simply by adding a break when appropriate.
  • Version 3.4.3 treated any command as a waster of time if the player was walking on lava.