Gamasutra is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Gamasutra: The Art & Business of Making Gamesspacer
View All     RSS
July 9, 2020
arrowPress Releases
July 9, 2020
Games Press
View All     RSS

If you enjoy reading this site, you might also want to check out these UBM Tech sites:


Game Design Essentials: 20 Mysterious Games

January 14, 2008 Article Start Previous Page 11 of 21 Next

10. NetHack

Item discovery, random generation, random items.

Published, developed and designed by the NetHack Dev Team

Reason for inclusion:

NetHack is a game that seems eternally capable of surprise. I myself have played it for well over a decade, and even now I still occasionally happen upon some aspect I wasn't previously aware of.

The game:

It takes the massive difficulty of Rogue and, instead of lowering it, moves it. Moves it away from the Random Bad Luck column and into the Stuff To Learn column. Many complain about its difficulty, but because knowledge is more reliable than chance, the most experienced hackers eventually find the game too easy. This is partly because it's been the subject of some of the most determined game FAQ writers in the world, and partly because -- and this must be said -- its source code is open for everyone to see.

NetHack contains random dungeons, so there is still a mining-like aspect to the game, where new dungeon levels must be sought out, not just because it gets the player closer to his goal, but because once a level has been completely explored there is no treasure left to find. Its predecessor Rogue took this to extremes, in that random items were the only stuff to be found, and some of those items were food rations which were required for survival. The pressure is taken off of food a bit here (rations tend to be common, dead monsters can be eaten, and the player can pray for help when weak from hunger), but it remains that finding treasure on the dungeon floor is very important.

In addition, and unintuitively, monster generation isn't strictly according to dungeon level. In fact, after the first couple of levels are gained and the player's hit points are out of the danger zone, finding a great item will nearly always be the better advantage for a player than gaining another experience level. Stuff like highly-enchanted armor, a pair of speed boots, or a cloak of magic resistance provide more benefit than the extra hit points, to-hit chances and minor other advantages levels provide. Further, and unintuitively, the maximum difficulty of generated monsters is the average between dungeon level and player level, so the act of gaining levels actually makes the monsters a little tougher in response.

All random dungeon games come down to mining to some extent. In games like Angband, that forget dungeon levels once the player leaves them, the practice of sticking around the same levels and regenerating them over and over to build up loot is so prevalent that there's a name for it: scumming. The name comes from the idea that, by generating lots of uninteresting levels, eventually one with a nice item will rise to the top. Not only is scumming a successful strategy in Angband, the game requires it. Requires it, and has even come to be designed around it: successful players usually hang out on the levels on which are generated mushrooms award permanent bonuses to stats until they max out their ability scores.

The most mysterious aspect of NetHack is the item identification system, which obscures the identities of most magic items at the start. A player might find speed boots lying around, but if he doesn't know what they are he might not put them on. Or if he does put on unknown boots, it could turn out that they're actually of a bad type, like fumble boots, and cursed so they cannot be easily removed. This is similar to the system used in Rogue, but there is a major difference between the two. In Rogue, the function of most items can be figured out only through reading a scroll of identify (which itself starts out as a random item) or by use, which is often wasteful, or even dangerous. NetHack provides far more ways of figuring out what objects do, and a player who has learned them all finds the game much easier as a consequence.

Design lesson:

Two lessons here. The first is that random games tend to be helped by item identification systems, but they have to be designed around them. If the objects aren't selected randomly then the player can remember what their types are from prior plays. It does make the game more difficult, however. If you decide to include random unknown objects, here are three techniques, corresponding to Rogue, NetHack and Diablo --

Rogue: Unknown items are useable, and difficult to figure out without great risk or resource use. No bad item will directly end a game if used, but many of them can lead to indirect death from monster attacks.

NetHack: Easier to figure out items if the player has discovered the special techniques, but still falls back on Rogue behavior if he doesn't.

Diablo: Unknown items can be used, but their special features are not active until identified. This tends to just be a way to make the player return to town from time to time.

The second lesson is a bit more obscure. To make an identification game work, there must be bad items as well as good ones, to provide a risk for using without identifying. Every class of random item must have at least one bad item in it. But once the player knows what all the bad items are, the incentive to not try things on randomly is much diminished. Every bad item discovered out of all the types in the class makes the rest much easier to figure out. This means that in NetHack, which is a very long game, the item identification system tends to only be important in the early phases, and partly because of this, the game becomes much easier once most of the stuff has been discovered.


The NetHack Wiki is a great resource in learning about the game. So is the Usenet group


Article Start Previous Page 11 of 21 Next

Related Jobs

Wooga GmbH
Wooga GmbH — Berlin, Germany

Lead Game Designer
Infinity Ward
Infinity Ward — Woodland Hills, California, United States

UI Artist (Temporary)
HB Studios
HB Studios — Lunenburg, Nova Scotia, Canada

Senior Game Designer
Remedy Entertainment
Remedy Entertainment — Espoo, Finland

Senior Gameplay Designer

Loading Comments

loader image