Free Reference for NetHack

Tutorial

Spoilers

Edit this template

This visual tour introduces one to NetHack. This chapter describes the beginning keys and dungeon exploration. More advanced combat will be at Combat.

NetHack can be difficult to play at first because

  • there are several keys to learn
  • the graphics are drawn with ASCII characters
  • the various types of items are unfamiliar

NetHack makes this easier by providing graphical user interfaces in environments like x11 and Microsoft Windows. This tutorial will instead describe the tty (terminal) port. This port uses only ASCII characters and runs on a terminal, such as a Unix or DOS console or a telnet client. By learning the "tty" port, one can play on public telnet servers (like nethack.alt.org). One will also start recognising the ASCII letters of each monster (useful for reading Dudley's dungeon webcomic).

This tutorial will introduce the controls for the "tty" player as an example player explores the first two levels of the dungeon.

Configuring NetHack edit

The configuration used in the screenshots below is:

OPTIONS=!autopickup,autodig
OPTIONS=color,hilite_pet,lit_corridor,DECgraphics,boulder:8
OPTIONS=showexp,showscore,time,msg_window:f
OPTIONS=fruit:salad,catname:Morris,dogname:Fido
OPTIONS=race:elf,disclose:+i+a+v+g+c

In particular, note the use of "color" and "DECgraphics" to enhance the graphics. Boulders will appear as 8, which is easier to see than `, the default for boulders.

These options are stored in ~/.nethackrc on your Unix machine, or defaults.nh on your Windows machine. See the Nethack Manpage for more information.

Starting NetHack edit

When one starts NetHack, one of two things happens:

  • the saved game loads itself, or
  • you are prompted for a new character

This is a new game. By default, the prompt lets you pick race, role, and gender. The example configuration uses "race:elf", so elf is assumed as the race:

 

Press [y] to let the game pick randomly or press [n] to use menus to pick. (Press [q] to quit NetHack.) After choosing the character, the game introduces the plot:

 

The game now stops at a --More-- prompt. This prompt gives the player time to read some text before NetHack decides to show additional text or return to the map. When you see this prompt, read (or skip) the text, then press space bar to proceed.

After proceeding from the plot introduction, the game shows the map for the first time. This is a map of dungeon level 1:

 

There are some things to notice about this screen:

  • In NetHack, you and the other characters are literally characters. The @ with a cursor on it is you, the player.
    • The d is a pet little dog. The d is highlighted because "hilite_pet" is on the configuration.
    • You might start with a cat f or horse u instead. (Remember, "f" means feline and "u" means unicorn. Whoever added horses to this game thought that they were similar enough to unicorns to use "u".)
  • Most of the screen is blank. The player has not explored most of this dungeon level.
    • One room is visible. We can see the entire room because it is lit with dots . showing the entire room. (This dungeon contains many lit, rectangular rooms!)
    • Because we have "DECgraphics", the wall looks like a box instead of hyphens - and pipes |. The wall contains closed doors + and a doorway . without a door. We cannot see past the doorway because it is not lit.
  • If you start your own game, the room will look different. That is because NetHack randomly generates the dungeon each time. The room in the example does not contain items, but does have a fountain { east of the player.

Moving Around edit

keys for movement
y k u
h l
b j n

Learn the eight moving keys so we can move the @ around to explore the dungeon. These keys consist of four "vi" keys for moving in four directions (up, down, left, right), and four "diagonal" keys for diagonal movement.

vi keys edit

The four vi keys are [h], [j], [k], [l]. These keys originate from the "vi" editor. This text originates from Learning vi:Basic tasks.

We can move our NetHack @ character around the dungeon by using the [h], [j], [k], and [l] keys. Note: your arrow keys may be set up to work (especially on DOS), and you can use them if you like, but for proficiency, you should learn to use the letter keys. Many copies of NetHack, especially on Unix, do not have working arrow keys.

  • The [h] key moves you left.
  • The [j] key moves you down.
  • The [k] key moves you up.
  • The [l] key moves you right.

If you have trouble remembering this, keep in mind that [h] is leftmost, the letter [j] goes down below the line, the letter [k] pokes up above the line, and the [l] key is rightmost. (J also resembles an arrow pointing downward, if you squint a bit.)

Diagonal keys edit

The four diagonal keys are [y], [u], [b], [n]. These keys are not from vi. Look at their position on the keyboard to see how they work. The upper-left key "y" moves up and left, et cetera.

New players might prefer to use only the vi keys. The diagonal keys are necessary when fighting monsters and for moving faster on diagonal paths.

Numeric keypad edit

If you enable the "number_pad" option, you can use the numeric keypad to move.

Exploring a Dungeon Path edit

Continuing with the example game, the player starts moving around in the room and encounters a door.

To open a door, press o for the open command. At the prompt,

In which direction?

because this door is to the left, press h for left to open the door:

 

The player now uses h, y, and k to travel along the path. The player encounters some intersections but continues to travel northwest:

 

In the darkness of the above corridor, the player can see ahead by only one square, but the player memorises the location of all discovered corridors and rooms.

The player discovers a second room. Remember that every dungeon is randomly generated, so when you play NetHack, you will not find the room in the same place. After the example player enters the room, the pet dog follows the player into the room:

 

The player opens another door and a sees a third lit room come into view. On entering the room, the player discovers a potion ! that is the first item that this player finds:

 

Because the dungeon is random, the items are randomly placed. If you are lucky, then you find good items early in the dungeon.

Taking an Item edit

At first, we only know that there is a potion. (Because option "color" is on, the potion looks red.) The player can discover which object this is by walking to its square.

In this case, we discover that there are two items on one square:

 

The player presses [SPACE] to dismiss the --More-- prompt, and then grabs the items. To pick up an item from the dungeon floor, press [,] (comma). A comma looks vaguely as if it is pointing to the ground. (If option "autopickup" is on, then the player takes the items without pressing comma.)

Normally, pressing comma takes the item. In this case, NetHack wants to know whether to take one item or both. It presents a menu:

 

This is a typical menu. We can press [a] or [b] on the keyboard to select the menu items. Though some menus disappear after the selection of one item, this menu allows for the selection of multiple items. Thus, the player presses [SPACE] again to dismiss the menu.

When the menu is dismissed, we pick up the items:

 

We add both the potion and the money to the "inventory". The inventory (which one can view by pressing [i] for inventory) is the list of all items that this player carries. The 10 gold pieces are added to the "purse". Notice the "$:10" in the bottom line; it shows how much money this player has. The text "g - a puce potion" indicates that this potion was placed at inventory letter "g". When we want to use or drop items, our potion will be listed at "g" in the NetHack menus.

What does a "puce potion" do? This player does not know. Pressing [q] (quaff command) then [g] (inventory letter) to quaff (drink) our potion might show us, but this player chooses to keep the potion.

Handling locked doors edit

Next, the player encounters a locked door. Obviously, only trying to open the door will not work.

The game documentation mentions the kick command ^D, which means to hold [Control] and press [D]. It says that "D" means door. Does that mean that we can kick doors?

So the player presses ^D and then [l] to kick the door to the right. WHAMMM!!! The player kicks the door again and again, and succeeds:

 

When you need to pass a locked door to continue exploring the dungeon, remember to use the ^D command to destroy the door. (If you are using the "number_pad" option, you can also use the k key to kick. In the future, you might learn other ways of handling locked doors.)

Searching for secret paths edit

Using [l], [n], and [j], the player explores the path, but it ends. The player presses [s] (the search command) repeatedly to search for a continuation, but fails to find one. So the player turns back and moves upward.

At one point Fido, the pet dog, blocks the path. The message "You displaced Fido." means that the pet moved away when you tried to move to the pet's square.

Sometimes you can hear "sound" in NetHack. This does not involve your computer speakers; it is a message that the player heard something:

 

This path has also ended. The player presses [s] repeatedly to search. (Warning: Do not hold down the [s] key or any key in NetHack. You might not be able to release it before a monster attacks and kills your character.) We find a door:

 

Using [o] (open command) [h] (left direction) the player opens the door. First it resists but then it opens.

Though in this case there was no necessity in open this door, remember to use [s] to find such doors when you can find no other paths to continue.

Boulders edit

The appearance of a boulder depends on the "boulder" option. By default it is `, but for this game it was set to 8.

A boulder blocks the path of the player. The player is able to push the boulder right using [l]. Note that pressing [l] normally moves the character right, and because a boulder is blocking the path, the player tries to push the boulder right when moving right.

(The player is pushing the boulder into an unknown path. It is better to push it into an already-explored path, so that the player knows that the boulder will not permanently block something.)

The following is a good position for a boulder:

 

Notice that the player can now pass around the boulder by pressing [u] (diagonal up-right movement) or [n] (diagonal down-right movement). This is one of those situations where knowing the four diagonal keys (y,u,b,n) instead of using only the vi keys (h,j,k,l) is important.

Armor, gold, gem, light edit

Now, the player encounters another end of path, opens another secret door (finding Fido, the pet dog), goes downward to another room, finds another end of path, and discovers a third secret door. After opening the door, the map looks like this:

 

The player steps in and sees two items:

 

The [ represents armor. Walking to it shows that it is a pair of fencing gloves. The player presses [,] (comma) and takes it. The game assigns inventory letter "h":

 

The $ represents gold. In this case, the player adds 41 gold pieces to the purse for "$:51" total.

Now the player proceeds out the door and discovers another room. Note that from outside the room, only some parts of the lit room are visible:

 

The other parts of the room cannot be seen because the player is looking from the wrong angle. When the player steps in, more of the room is revealed. Stepping in reveals a * representing a gem:

 

The player takes two violet gems and leaves the room (finding Fido, the pet dog). After a walk left, up, right, and down, the player another sound. ("You hear the splashing of a naiad.")

Continuing, the player moves right. Again, the player can at first only see part of the room:

 

But there is a surprise when we step in...

Identifying a character on the screen edit

This player has encountered a colon : on the screen. The staircase to the second dungeon level > is visible, but how do we handle the colon?

 

We are now interested in two keys on the keyboard.

  • The colon [:] key (hold [SHIFT] and press [;] on many keyboards), which looks like a pair of eyes, is used to look at the contents of the current square. (Do not confuse the colon key with the colon : currently visible on the screen.)
  • The semicolon [;] key looks at another square. It also looks like a pair of eyes, except one of the eyes is squinting toward a more distant object.

Because the colon : is on a different square than our player, we need to use the semicolon [;] key, not the colon [:] key.

Pressing [;] makes a "Pick an object." prompt. To pick an object, you move with the (h,j,k,l) and (y,u,b,n) keys as normal, except that this moves the cursor without moving the player @.

Here is the result of pressing [;] and then pressing [y] to move the cursor to the colon:

 

Now, with the cursor over the colon : on the screen, press the colon [:] key now to look at that square. (In the "Pick an object." mode, one can use one eye [.] to take a brief look, or both eyes [:] to take a look that involves reading more text, if available.)

We learn that the colon : at the screen is "a lizard (newt)":

 

Note the --More-- prompt, which appears because we pressed colon [:] to ask for more information if it was available. Pressing [SPACE] advances us beyond the prompt. We then read the NetHack "database" entry for newts:

 

As this is another --More-- prompt, the player finishes reading and presses [SPACE].

First combat edit

The dungeon contains many monsters which try to kill the player. A monster is normally represented by a letter A-Z or a-z, but there are other monsters such as apostrophes ', semicolons ;, and colons : including this newt.

Some monsters are peaceful; NetHack not only identifies them as such when you look at them with the colon [:] key, but also warns you if you try to attack them in melee.

Ouch edit

Yet this newt is apparently not peaceful. When the example player pressed [k] and move upward, the newt responded with an attack:

 

Notice the meter for health points, it reads "HP:12(14)". This means that the player is hurt; from 14 points possible, this player has only 12. Should this number reach 0, our player dies.

This player has options, including the obvious ones:

  • Fight the newt
  • Flee from the newt

Attack edit

The player attempts to fight. To fight a monster in melee, one simply presses the key to move to the square of the monster. Because the monster is blocking that square, NetHack interprets the key as an instruction to attack the monster.

  • Pressing [h] can move the player left, push a boulder left, or attack the monster at the left. In "Pick an object." mode (after pressing [;]), pressing [h] moves the cursor left for picking an object.

So the player presses [h] to attack the newt:

 

That was easy! This newt died after only one hit! (Note that there are other monsters which are more difficult to handle...)

Versus a lichen edit

Now consider this situation, later in the example game. The player has explored some more areas, moved some boulders so that they do not block a path. In NetHack, every player gradually heals, so after this exploration the player is again at "HP:14(14)" instead of "HP:12(14)", despite the earlier damage from the newt.

Then the player encounters a letter F. This monster is a lichen:

 

This lichen seems weak. It only "touches", and the HP meter still reads "HP:14(14)". Again, this time the player fights by pressing [h]:

 

"You miss the lichen." In NetHack, an attack sometimes fails to succeed. However the lichen was too slow to respond, and the player has another turn to attack, pressing [h]:

 

"You kill the lichen!" This is another weak monster, dead after one hit.

The next dungeon level edit

Now that we explored the first dungeon level ("Dlvl:1") and found the stairway > down, it is time to proceed to the next lower dungeon level and explore. The player @ and pet dog d approach the stairway:

 

The one thing to remember is to not leave the pet dog (or cat, or other pets that you might have as a beginning player) on this floor! Pets are useful (though these pages have avoided spoiling how pets can help the player). So find your pet before using the stairway, as this player has done here.

Now move to the stairway:

 

(The downward stairway > is now not visible, because it is on the same square as the player @.)

The pet must be on any of the eight adjacent squares. (If not, press [.] to wait for the pet to come, or press [s] to both wait and search. Press the key repeatedly and carefully without holding it down; one extra key press could move away the pet that came.)

Now, the key to activate a stairway downward > is conveniently [>], the key with the same symbol as the stairway on screen. (On many keyboards, one types [>] by holding [SHIFT] and pressing [.].)

The player appears on the second floor:

 

Stepping off the stairway (toward the gold which this player wants) reveals that it is an upward stairway < because we are now at the bottom of the stairway. One can use this stairway to return upward. The only difference is to use the [<] key to use this stairway.

(If you ever find the Amulet of Yendor, return to the top of the dungeon using these stairways, then use the stairway < on "Dlvl:1" to exit the dungeon. But if you use that stairway to exit the dungeon before you find the Amulet of Yendor, then you end your game early.)

The inventory edit

Now to press [i] and see the items. It is good at the beginning of every game to look at our items, but beginning players somtimes forget this. Here is the inventory of the example player:

 

This lists every item carried by the player. (There is also the gold "$:51" in the purse.) This includes "g", the puce potion, "h", the gloves, and "i", the gems, that we found earlier.

It also includes all of the items that is player started with. Notice that the player is wearing an "elven cloak". An "elven dagger" is marked as the "weapon in hand". This means that the player is wielding the dagger and using it in melee.

Wondered what this player was using to attack that newt and that lichen? The player was exclusively using this dagger to hit them. (A player without a weapon can attempt to fight with bare hands.)

A corpse edit

After collecting some gold, the player sees a sewer rat and two grid bugs. This player decides to engage the sewer rat r. (The player can use [;] again to identify the sewer rat.)

The sewer rat attacks with a bite; on the next turn the player presses [l] to fight but both sides miss. In another turn, the sewer rat dies:

 

It left a percent sign %, which normally refers to a comestible, something one can try to eat. Yes, it is a "sewer rat corpse". A player on the same square as a corpse can press [e] to try to eat it:

 

This is a simple [ynq] menu in NetHack.

  • Press [y] for yes, eat the corpse.
  • Press [n] for no. In this case, NetHack does what [e] normally does when there is no corpse on the square; it presents a menu asking for an inventory item to eat. It is possible at said menu to press [f] which is the inventory letter of the lembas wafers of this player.
  • Press [q] to quit this command if you want not to eat now.

The player decides to eat the corpse. "This sewer rat corpse tastes terrible!--More--"

But when the grid bugs x make threatening moves toward the player:

 

This player chooses to ignore the grid bugs and continue eating the corpse. (In some cases, this player might have wanted to try immediately to flee.) To continue eating the corpse, the player uses again the same [e] command. "You resume your meal. You finish eating the sewer rat corpse."

Using an item from the inventory edit

Up to now, this player has not used any item from the inventory, other than the dagger already wielded and the cloak already worn. Often, item use is not early in the game; for example this player has not yet decided about that puce potion.

There are several commands to use items, here are some:

  • [d] to drop an item (so the player can use [,] to grab it again)
  • [D] to Drop many items
  • [w] to wield a weapon
  • [W] to Wear armor
  • [T] to Take off armor

There are other commands, like [q] to quaff a potion; press [?] to read the NetHack help screens which provide a full list.

This player decides to wear those gloves. Thus the player presses [W] which makes a menu:

 

The menu options "[h or ?*]" mean that this player can press one of the following keys:

  • [h] to Wear item "h" (the gloves)
  • [?] to see a list of armor from the inventory
  • [*] to see the inventory (trying to wear something unusual?)

The player presses [h] to wear the gloves. "You finish your dressing maneuver." A press of [i] to look at the inventory shows the gloves "being worn".

Saving the game edit

This is the end of the beginning tutorial, which introduces the controls for the tty port of NetHack. There are two more keys we will mention:

  • [S] to save the game
  • [#] for extended commands (type "quit" [RETURN] to quit the game)

The [S] feature to save the game is important. A player can save almost anywhere in the game whenever a break from NetHack is necessary. The "#quit" feature, in contrast, should only be used to cowardly give up on the game; it announces your score and prevents you from continuing that game.

The example player now presses [S] to save the game:

 

With a [y], the game is saved. At the next time when the player starts NetHack (as the same user on the same computer), the game will continue from this point, with the player @ in the second dungeon level "Dlvl:2" wearing the gloves.

References edit