An Introduction to Nitrohack

One of the Nethack variants that is still active is called Nitrohack, being developed by Daniel Thaler. It has quickly supplanted vanilla Nethack for me, when I just want to play regular Nethack. I spent some time looking over the development logs on his site, and as far as I can tell, Nitrohack has no gameplay differences from Nethack. He has fixed numerous bugs, but nearly all of the changes made to vanilla have been in the area of interface improvement.

Now, if you are tired of the same old Nethack, you should see how UnNethack, Sporkhack, or Slash’EM suit you. I’ll devote future articles to each of them. But Nitrohack offers the exact same challenge as vanilla, with a much improved interface and options.

Here’s a screenshot of a recent (and my best) attempt with the Valkyrie role:

Sokoban level 1 – almost completed. Almost.

(yes, one reason I got so far is that I did indeed find the artifact “Vorpal Blade” on the second dungeon level. I also still had my pet alive, on the level below Sokoban 1)

Nitrohack is available in both Windows and Linux binaries, and also features access to its own server for online play. The Linux .deb files and static builds are both available in 32 and 64 bit versions.

When you run it, you have 7 menu options: New game, Load saved game, View replay, set Options, show Score list, Connect to a server, or Quit. Loading a save game is nice for me on Linux, because usually you have to run Nethack with the -u <player-name> option in order to create more than one character. View replay is just that – you can re-run through any character’s old game that you still have available, even the dead ones.

Improve your play by viewing past attempts step by step.

As you see above, Nitrohack lists your inventory on the right side of the screen (I like to play it with the terminal size maxed out). Objects occupying the same tile blink so you’ll notice that there’s more than one. The “:” command is superfluous, since your message space (below inventory) always tells you if you are standing on a square with some other object such as a throne, sink, or fountain. I haven’t checked yet, but I hope that the options file will let you adjust the relative sizes of all the frames.

Connecting to a server is cool because you don’t have to run Putty or some other program to connect, the online access is built in to Nitrohack. Of course, you can view current games by others, or play your own.

Try to ascend while the world watches!

Nitrohack, like some other variants, uses color to inform you of changes to your condition, power, and hp. It allows you to use the Numpad as your directional movement but also lets you use the arrow keys. This is great because on my old Crunchbang laptop, vanilla Nethack by default only uses the vi keys for movement, and I cannot use arrow keys at all.

So if you are new to Nethack addiction, I’d strongly recommend you try Nitrohack. It fixes some of the most annoying interface issues with the original game, in my opinion, while maintaining the same play experience. I’m going to check out how the other variants change the game, but I don’t think people should skip the original game completely. After all, if you don’t know how Nethack plays, you won’t really appreciate the improvements or changes that the variants have made.

Nethack commands you should be using

In this post I’m going to go over some of the standard commands that some people may not know of (especially if you haven’t read the Guidebook in a really long time). I don’t mean that nobody uses them, just that they are not as obvious as the main ones. Most work the same in the variants, but I’m not sure that all of them do – I confirmed that “X” doesn’t work in Nitrohack.

Also, see the excellent command cheat sheet (PDF) at the Nethack wiki.

: and ;  – identify. : is used to see what’s directly under your character. ; will let you move the cursor to an item or monster nearby, and pressing ; again will identify it

^ – identify trap

/ – tells what another symbol represents

& – will tell you what some other command means (if you know the letter but forgot what it will do)

g(direction) – will move in that direction until something interesting is found

Q – get a throwing item ready in your quiver

x (lowercase) – this will exchange your current weapon with the alternate one (such as a bow)

f – fire your readied throwing weapon (arrows, dagger, etc)

I – instead of the entire list of your inventory, this will bring up the categories. Allows you to choose just one type of item to list

D – lets you choose what to drop from a list of all item categories

* – lists all equipped weapons, armor, rings, amulets (but not other items)

+ – lists all spells you know

alt-e (enhance) – view and raise your skills. New players may not realize it, but skills with weapons don’t automatically go up. You get 29 enhancements, one per level, which can be spread among your weapons and spell groups

V – display history of your progress in the game

Ctrl-X – player info (gives name, starting and current race, role, gender and alignment, and also lists the 3 gods for your role alongside their respective alignments)

X –  change to “nonscoring explore mode”. Just what it says: it won’t keep your score that game, but in return, you will be asked to confirm, whenever something might cause your character’s death. (The game asks for confirmation)

Dipping my toe into Angband

So I spend yesterday and today playing Angband. I’m actually doing fairly well considering I haven’t played seriously in years. I have a Ranger who just turned 9:

Angband has 6 classes: warrior, mage, priest, rogue, ranger, and paladin. It is definitely a different game to play than Nethack, and I can see why many people like one or the other but not both.

Rangers seem (so far) to be archers who get mage spells. I tend to use arrows and magic missiles about equally; you can “R”est to regain mana and health when no monsters are about. You can also close doors to prevent monsters from coming up on you while you rest. Food is much less of an issue so far than it is in Nethack – you find or buy food rations, and need to use them much less often. No monsters leave corpses behind to eat. When you fire a spell or arrow, you’re able to not just pick a direction, you can instead target the nearest monster if it’s within range.

Rogues also get some mage spells; I am unsure of how they are different from rangers so far. The one time I tried to disarm a trap in a corridor, it worked immediately. Paladins are some mix of warrior and priest – I’ll start one of them tonight, to see how melee characters do.

You can’t steal from shops as you can in Nethack, but the shop owners will say some amusing things – especially when you sell them a NICE potion or scroll for the standard amount they give for unidentified items. Then they will grumble when you sell crappy potions to them.

The dungeon so far has had few stuck doors, some traps, and no special objects such as fountains, sinks, or thrones. The levels are huge (you can “M”ap the entire area discovered on the level if you need to), and mages get a detect spell for traps, doors, and stairs – which my ranger uses frequently. It won’t cover the whole level, but you get a message when you leave the boundary, so you know to recast the spell.

I probably need to find a stronger bow. I understand Angband has enchanting scrolls to improve your weapons and armor, but so far the shops don’t sell any. (Also, the 7 shops each deal in specific items – you won’t be able to sell excess armor to the potions guy).

I actually think that Diablo (the original) takes most of its inspiration from the Angband type of roguelike, with some ideas from Nethack thrown in the mix. The gameplay, dungeon/town layout, and goal all seem to be much more akin to Angband than the puzzle-focused Nethack.

Race and Role options in the Nethack variants

The variants of vanilla Nethack don’t, for the most part, add a lot of extra choices for character creation. Sporkhack and Nitrohack have no additional races or roles.

Unnethack lets you play as a vampire race, but has no extra roles. In Grunthack, you can play as a kobold, ogre, or giant, but otherwise seems just like vanilla.

In Sporkhack, although you have no extra roles, all races can play any role.

Slash’EM is the one variant that really throws a lot more options at you – in fact the Monk role in vanilla started out in Slash’EM. When you start a game of Slash’EM, you can pick a Flame Mage, Ice Mage, Necromancer, Undead Slayer, or Yeoman,  in addition to the base 13 roles. You can then choose to play as a doppelganger, drow, lycanthorpe, hobbit, or vampire if the role allows it. In Slash’EM normal elves are only lawful or neutral – if you want to be a chaotic elf, you’re going to need to play a drow.

The Nethack wiki has this to say about the playable races in vanilla, Sporkhack, and Nitrohack:   “Humans can be any alignment (subject to your chosen role allowing that alignment), but for the others, your race indirectly determines your alignment: dwarves are always lawful, gnomes are always neutral, and elves and orcs are always chaotic.
In general, dwarves are strong, elves and gnomes are smart, orcs are poison resistant, and humans are good all-rounders.”

Unique to Slash’EM is the concept of techniques. These are extra abilities each role and each race may get, that can be used every so often and improve as your character gains levels.

Here are typical starting equipment pictures for each role. These will vary somewhat but do give an idea of the sort of items that each one starts out with. Slash’EM roles are in bold, (Slash’EM races are in parentheses), and [Grunthack races are in brackets]. Unnethack vampires have the same 4 role options as Slash’EM vampires do.

Archeologist – can be human, dwarf, or gnome (or doppelganger).

Barbarian – can be human or orc (or doppelganger, drow, vampire) [or ogre, giant].

Caveman/woman – can be human, dwarf, or orc (or doppelganger) [or ogre, giant].

Flame Mage – (can be doppelganger, drow, elf, gnome, hobbit, human, orc).

Healer – can be human or gnome (or doppelganger) [or giant].

Ice Mage – (can be doppelganger, drow, elf, gnome, hobbit, human, orc, or vampire).

Knight – can be human only [or elf].

Monk – can be human (or doppelganger, hobbit) [or elf].

Necromancer – (can be doppelganger, drow, human, orc, or vampire).

Priest/ess – can be human or elf (or doppelganger, drow, or hobbit) [or giant].

Ranger – can be human, elf, gnome, or orc (or doppelganger, drow, hobbit, lycanthorpe, or vampire) [or kobold].

Rogue – can be human or orc (or doppelganger, lycanthrope, or vampire) [or kobold, ogre].

Samurai – can be human only.

Tourist  – can be human only (or doppelganger, hobbit).

Undead Slayer – (can be doppelganger, drow, elf, gnome, hobbit, human, lycanthrope or orc).

Valkyrie – can be human or dwarf (or doppelganger) [or giant].

Wizard – can be human, elf, gnome or orc (or doppelganger, drow, hobbit, or vampire) [or kobold, ogre, giant].

Yeoman – (can be elf, hobbit, or human).

I was somewhat surprised to see that in Slash’EM, hobbits cannot be rogues. I guess none of the developers read The Hobbit?

I’ll go into more details about the racial benefits/drawbacks and the Slash’EM techniques in a later post.

Nethack and Angband

I chose to focus primarily on 2 games and their variants: Nethack and Angband. Each one has a very distinct playing style.

Nethack

In Nethack you choose your character’s race, gender, and class (called “role” in Nethack). The standard game offers 13 roles to choose from, and 5 races. While one role is restricted to females, the others can be played with male or female characters. The role you choose affects which races you can become. You’ll start off equipped with some useful items, a weapon, and armor. As your character gains levels, they get abilities (some right away) that are unique to each role. Learning how to use those abilities will improve your chances of survival.

The roles are: archeologist, barbarian, caveman, healer, knight, monk, priest, rogue, ranger, samurai, tourist, valkyrie, and wizard. The races are the usual fantasy ones:  human, elf, gnome, dwarf, and orc.

The way to win Nethack is to journey through a dungeon of 50 levels, find the Amulet of Yendor, bring it with you back to the surface, ascend a few more levels, and offer it on an altar to your god. This, of course, is far from simple. Becoming better at Nethack involves learning the uses of anything you are carrying (including some far from obvious uses), interacting with the features and inhabitants of the dungeon, and trying not to make mistakes. Because it is turn-based, you should think about your options carefully – that vicious monster won’t move while you check your inventory.

Nethack includes a “Guidebook” of 62 pages, and an in-game help system. The Guidebook has a lot of useful information and hints to help you play the game, and reading it before you begin play is definitely recommended. The game is very hard even without making use of other sources of information about the game  (termed “spoilers”).

Nethack can be played using ASCII characters

Priest – Nethack with ASCII

or with tiles enabled:

Priest – Nethack tiles version

If you play on a Debian-based Linux system, the “Documentation” section of the repositories will have a spoiler file.

Nethack is considered to have 3 stages of game progress – early, middle, and late – determined roughly by what area you have reached in the game. Your short-range goals will change from stage to stage. It seems to be the consensus among the better players that the roles also fall into 3 groups: strong in the early game, weak in the early game but becoming excellent in the late game, and weak throughout the game (yet still able to win).

It is a single player game, but most variants (and the vanilla version) let you play online using a telnet client to sign in and play. You can watch other people play, see high scores, and others will see your progress. The only thing you can’t do online is use a “tiles” version of the game.

Nethack doesn’t have a town level, and each dungeon level is preserved while playing the same game. Unless you look up spoilers, you’ll be taking a lot of notes about monsters and their weaknesses, special levels of the dungeon and how to reach them, and what items are the best ones to keep with you for use later on.

There are less than 10 Nethack variants, some of which are no longer active. The Nethack wiki has a list of all of them.

Angband

In Angband you also choose your character’s race, gender, and class. The standard game offers 11 races but only 6 classes. The classes are Warrior, Rogue, Mage, Priest, Ranger, and Paladin – much more “standard fantasy” types than Nethack lets you play.  When you choose your race and class, the game shows you how your attributes are affected, and any advantages or disadvantages you have.

Your choice of race has no effect on which class you are allowed to choose.

Angband doesn’t have a Guidebook, but an FAQ mentions the 2 primary websites for it: rephial.org and angband.oook.cz. The forums, and a list of variants are at the second link, while rephial features a link to spoilers and an outdated but still useful Players Guide.

Two of the big differences between Angband and Nethack are the town level at the top, and the fact that when you leave any particular level, it is lost. Returning generates a new level, new artifacts, and monsters. You are expected to return to the town every so often in order to buy scrolls, better weapons, etc (town portal scrolls in Diablo are definitely borrowed from Angband). Angband is generally considered to take longer to play through than Nethack. It is more of a combat-oriented game, with very few puzzles. Because of the way shops work, stealing from them is impossible; in contrast, good Nethack players have learned the benefits of stealing from shops they find (one of the benefits of keeping your pet around!)

The levels in Angband are also much larger than those in Nethack. Nethack levels always fit on one screen when using the ASCII graphics, while Angband’s sprawl all over. There’s a command to see the entire map at once, which will also show you any stairs found. Hunger in Angband is much less a focus than it is in Nethack – monsters won’t leave corpses, and you must buy your food.

The number of Angband variants is much larger than those for Nethack – many are no longer being maintained, although they are still playable. The Angband forums has a Variants subforum that seems to consider less than 10 variants still current.

Playing online is pretty well supported in all versions of Nethack, while I don’t really see it as an option for Angband. I’m planning a post specifically about online play, where I will go into more detail.