This screenshots in this tutorial use the tty (terminal) port of NetHack. This port uses only ASCII characters and runs on a terminal, such as a Unix console (through the curses library), 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. The ASCII letters are useful for reading Dudley's dungeon webcomic; there is also one item in the game that will ask for them.

Graphical ports, such as the Windows, Macintosh, X11, and Qt versions of NetHack, use the same controls. However, you will also have menus (useful if you forget the key for some command) and you might see the dungeon as graphical tiles, not ASCII characters.

For this tutorial, the screenshots had "color" and "DECgraphics" turned on. (DECgraphics works in xterm and some other Unix terminals and telnet clients, while IBMgraphics looks nice in DOS.) Boulders were configured to display as 8, which is easier to see than the default `. The configuration was:

When you start NetHack, it will automatically load your saved game if you have one. Otherwise, you be prompted for a new character.

Shall I pick a character for you? [ynq]

If you have configured some defaults, for example OPTIONS=race:elf, then the prompt might look different:

Shall I pick your elf's role and gender for you? [ynq]

At this prompt, press [y] to let the game pick your character's race, role, gender, and alignment, or press [n] to use menus to pick them yourself. (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. You always start on dungeon level 1 (shown as Dlvl:1 in the bottom row of the tty port). Here is an example of what dungeon level 1 might look like:

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 in the configuration.

Most of the screen is blank. You can see the room that you are in, because it is lit (with dots .), however you have not explored the other parts of the dungeon so you do not know what is there.

This particular room had a fountain { (or ⌠ with IBMgraphics - note on symbol) in it. NetHack also drew a box around the room; if you do not use DECgraphics/IBMgraphics, then NetHack will use hyphens - and pipes |.

Some graphical versions of NetHack let you click on squares to move there. Otherwise, you will need to learn the keys to move around.

If you had switched on the "number_pad" option, then you get to use the number keys [12346789] to move in eight directions. Most ports do not let you use the arrow keys. For the best controls (and also if your keyboard has no numeric keypad), you should leave "number_pad" off and use the [yuhjklbn] keys to move your @ around. This system consists of four "vi" keys to move in four directions (up, down, left, right), and four "diagonal" keys for diagonal movement.

The four vi keys are [h], [j], [k], [l]. The use of these keys was made popular by a program called "vi", a traditional text editor for Unix. (The text in this section originates from Wikibooks:Learning vi:Basic tasks.)

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.)

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

If you are only using the vi keys, then you should still use the diagonal keys when you need them: to fight monsters diagonally adjacent to you, to squeeze into certain small diagonal paths, and to step around certain obstacles.

It is a matter of personal preference on whether you want to use the vi keys or the number pad. The main advantage of the number pad is it's intuitiveness, although the vi keys allow you to more quickly perform some actions and allow play on a keyboard that has no number pad.

Now let us continue with the example game. To explore the dungeon level, you need to leave the room. Some exits have doors in them, while some are just empty doorways.

The player in the example game is going to try to open a door. First the player walks up to the door. To open a door, stand next to it and press [o]. At the prompt,

In which direction?

press the key for the direction of the door. (If "the door resists" then try using [o] to open the door again.) In the example, the player pressed [h] to open the door on the left:

(If you ever want to close a door, then use the [c] command. Some monsters will not be able to pass closed doors, while some others might have to momentarily stop to open the door.) The example player now travels into the corridor.

In the darkness of the above corridor, the player can only see as far as a "night vision" radius of one square. (So the pet dog or monsters might be in the corridor that the hero already passed through, but the hero simply cannot see them now.) The game map will always memorise the location of corridors and rooms that you already saw.

If you follow the corridors, you should be able to discover a second room. Because every dungeon is randomly generated, you will never find the rooms in the same place. In the example game, the hero had lost sight of the pet dog. Now the pet dog follows the player into the room:

This room was empty, so the example player now opens another door and sees a third room come into view. On entering the room, the player discovers a potion ! on the floor:

The dungeon has items in it, but those items are at random places. In some games, the random number generator (or "Random Number God" as some say) might favor you enough in such games that you find good items early in the dungeon.

The command to pick up objects from the floor is [,] (comma). First you need to move onto the square with the object, then you press [,] to take it.

In the example game, the player first only knows that there is a potion there. (Because option "color" is on, the potion looks red.) When the player walks onto the square, he discovers that there are two objects on the square:

The use of this menu is simple. The "a -" and "b -" indicate that you can press [a] and [b] to select the object. These become "a +" and "b +" if you select them; you can also deselect them by pressing [a] or [b] again. When the player selects both objects and presse [SPACE] to dismiss the menu:

Both the potion and the money are now in the player's inventory. The inventory is the list of all items that this player carries. You can press [i] to look at your inventory as much as you want; the command does not use any game time, so you can even use [i] if you are surrounded by monsters. The 10 gold pieces go to the purse. Money does not appear in the inventory screen, but the "$:10" on the bottom line here shows how much money this player has.

What about "g - a puce potion"? The "g" is the inventory letter in this potion. You can now use the potion with other game commands; for example [d] [g] would drop this potion back to the floor, while [q] [g] will cause the hero to drink (quaff) this potion. If you forget the letter, then you can check with [i], or you can use [d] [?] or [q] [?] to choose your potion from a menu.

Then what does a "puce potion" do? We do not know. The presence of unidentified items is one of the main traits of most roguelike games. This potion might be healing, it might cause sickness, it might do something else. For now, the example player chooses only to carry the potion around.

When you encounter a locked door, you cannot open it; you must first unlock or break it somehow. Because NetHack puts locked doors in random places, you need to be able to pass them if you want to explore most of the dungeon.

The game documentation mentions the kick command ^D, which means to hold [Control] and press [D]. (Those using the "number_pad" option can also press [k] to kick.) It also mentions that "D" means door. Is it helpful to kick doors?

Witness the example player, encountering a locked door, kick the door. The player presses ^D and then [l] to kick the door to right. WHAMMM!!! After a second kick, this particular door breaks:

Whenever you need to pass a locked door, remember to use the ^D command, unless you find another way to deal with it.

If your pet is blocking your path, sometimes you can try to move onto its square anyway. Sometimes, "You stop. Fido is in the way!", but sometimes "You displaced Fido." and you and your pet swap positions.

NetHack generates secret exits out of some of the rooms, and secret continuations of some corridors. By using the [s] command, you can search the eight surrounding squares for secret paths. You will often need to use this command repeatedly. A shortcut for using the command multiple times is to type a number before it, so [1] [0] [s] will search ten times. (In "number_pad" mode, use [n] before the number, like [n] [1] [0] [s].) Avoid holding down the [s] key or any key in NetHack. The command will run repeatedly, but a monster might come and can kill you before you are able to react and release the key.

In the example game, the player followed one such path to its end and searched with [s] several times discovering nothing. So the player went in a different direction. Now the player has reached the end of another path:

("You hear the footsteps of a guard on patrol." is an example of a sound in NetHack. These sounds can give you hints if you know what they mean.) The player now taps [s] several times to search. The player thus finds a door, a + where the wall had been:

|........| (screenshot)
|........+@
|........|#
|.........###

Using [o][h] the player opens the door. First it resists but then it opens.

You can also search from the inside of rooms, trying to find secret doors to exit. Try using [s] to reach seemingly inaccessible parts of the map.

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.

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:

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].

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.

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...)

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.

Now that we have 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 the 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.)

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 sometimes 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 this 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.)

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 don't want 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 to flee immediately.) To continue eating the corpse, the player uses the same [e] command again. "You resume your meal. You finish eating the sewer rat corpse."

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, items are not used 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".

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.