Wednesday, August 25, 2010

Some thoughts on Nethack

I once again made the mistake of installing NetHack. This is a mistake because the game is incredibly addictive, easily rivalling, perhaps even surpassing, current big budget RPGs. Not bad for a bunch of ASCII-characters, is it? (Let me immediately admit that I play the graphical version.)

So, what is the secret of this game? What are the design principles that make it such a success? I suspect they are four (or three, depending on how you count):
  1. Tension. In NetHack, your character will often be in a dangerous situation, a situation that could easily lead to his or her demise. These situations can come into existence pretty suddenly. (My character, having gone further than any of my previous ones, met a "quantum mechanic" this evening. Ought to have been no problem... except that this guy had a wand of monster creation, zapped it half a dozen times, and out-of-the-blue I was surrounded by a horde from which I could not escape... another death.) And, even more importantly, these situations are really dangerous, because if your character dies, he or she dies. There is no going back. Your save game will be destroyed. Really. This makes for a kind of tension that no game with save/restore-options can provide.
  2. Complexity. There are so many monsters, items, spells, special abilities, special situations, random effects, special levels, possible actions and so on in this game... it is quite overwhelming. This leads to two effects:
    1. NetHack lends itself to a lot of exploration. It is fun to find out new things.
    2. NetHack possesses great tactical and even strategic complexity.
  3. Hiddenness. For lack of a better term. Even if you use, as I certainly do, the internet to look up the monsters and items you encounter, there is still so much that remains hidden. Every new dungeon level is a mystery, because it is generated randomly. But more importantly than that is the identification of objects. Not only is every object either cursed, uncursed or blessed (which you are generally not told and cannot always easily determine), but all potions, wands, spellbooks, scrolls, rings, amulets and other miscellaneous items start out unidentified. You find a "dark potion", or a "swirly potion", but you do not know what it does. Nor can you look it up on the internet, because these description are mapped onto the kinds of potion randomly in each individual game. There are ways to identify stuff, but they are limited -- you will be spending a large portion of the game slowly finding out more and more. (You could just start drinking all potions, but this is not advisable.) And there are other kinds of hiddenness in the game as well: there is for instance no way to look up your innate abilities (which you can lose and acquire in multiple ways), your luck, your standing with your god, whether you can pray again, and so on. (There are ways to determine these things, but they are limited and not always without danger.) Where most RPGs revel in revealing as much as they can and showing you complex character sheets, NetHack loves keeping you always slightly guessing.
  4. RPG. It's a traditional role playing game, where you get further and further, acquire new items, gain new levels and powers -- everybody knows that this is addictive.
Some of these things could be usefully incorporated into an interactive fiction game using ATTACK, I think. That's certainly something I want to explore. Though I firmly believe that if you go the IF route, you must drop the idea of generating huge random dungeons -- that's not what text is good at. And you would certainly want to add much more story and perhaps narrativistic decisions, because that is something that NetHack certainly doesn't have.


  1. Good points. As for the mistake, I do the same thing with Linley's Dungeon Crawl (non-stone soup) every now and then. Once I beat that, maybe I'll go back to NetHack, but it's just too intense for me.

  2. Hi, Victor...

    Nethack is a game I've tried occasionally to get into over the years, but its learning curve is daunting to say the least. I'd love to know what graphical frontend you recommend, as well as what Internet resources you find useful.

  3. I use the Qt NetHack graphical front end, but that is probably Linux only. For Windows, I would check out the graphical version on the official website: I haven't run that, but it seems the easiest thing to try. You can see screenshots of the different versions here:

    As for internet resources, you can find out almost everything here: .

  4. Hi Victor,

    you might be interested in Legerdemain, which, in its own words, "draws heavily upon interactive fiction and Roguelike games to provide an experience focusing on story and depth of play".


  5. Michael, thanks for the link. I'll certainly take a look at it, though the gallery ( ) doesn't really give me the impression that there is much prose/story in the game.

  6. I think perhaps another important point about Nethack is that is has been polished and refined to a degree that few games ever are.

    Any similar game in the RPG milieu with the same tension and complex/hidden elements, would fail with out a large amount of play testing and polish. Keep in mind also that play testing games with random elements is non-trivial and that might explain Nethack's longevity.

  7. I've gotten a little of the way into Legerdemain, and there's somewhat more prose (and probably story) than is apparent from the gallery. At various points you can run across events that bring up paragraphs, or longer extended discourses, and there's a fair amount of NPC dialogue once you reach the right place. (It's not all sensitive to the previous conversation, I think, and mostly consists of lawnmowering through the topics as they come up, but it's pretty extensive for a roguelikelike.)

    Another thing is that it's not mostly randomized; the main maps at least are fixed, and a lot of what's found there is too I think. So it can't have permadeath -- there are save points. But the play is definitely more roguelike than anything else. In particular, I die a lot.

    For nethack (especially for Jimmy), one thing I've found is that getting your armor class down early is very important. Also, running away is a good option, to the extent that if you're faster than a monster it may pose much less of a threat than you think. (On that subject, go here and look for "Bash the Balrog"; it blew my mind.) A corollary is that you should never be burdened unless you're absolutely sure that you can get unburdened without dropping anything you need, or that there's nothing around that poses a threat.