Current version

v1.10.4 (stable)


Main page
Archived news
Plugin SDK
Knowledge base
Contact info
Other projects


Blog Archive

I hate NetHack

Yesterday, I got a craving for playing Hack-style games again. By "Hack-style" games, I mean old tile-based, turn-based, Un*x-heritage games that are loosely based on D&D rules and simulate battling through hordes of monsters. The king of these, of course, is NetHack. I've played NetHack before, and it's a very deep and well thought out game. The main problem is that I hate NetHack. The reason is that the game continually finds creative and interesting ways to kill my poor @ avatar, like having me starve while in the middle of a room of killer bees, or levitating me up into the previous level where I accidentally left a very large dog behind, or putting a shop in the level where I'm practicing kicking doors down. So I went in search of other games.

I used to play Larn on my Amiga, but I it's a rather simplistic game in comparison and I finished it already. Angband looked interesting, since it has ways to jump back to town temporarily, but I was disappointed to find that it too has permanent death and food, two things I find annoying. (These don't exist in Diablo II, but I can only play so much D2X, even with mods. I already conquered Zy-El.) What really turned me off from Angband was that a stupid cat kept scratching me and some elf kept stealing my stuff, even though I hadn't even left town yet! Next I tried Crossfire, which appeared to be a promising Hack-style game, especially since it's multiplayer (!). Unfortunately, the game's first 5min. experience is terrible — I accidentally dropped one of my essential starting scrolls, which immediately vanished, found that the programmers decided to use the same command for everything (apply), and then discovered that the game is virtually unplayable without a middle mouse button. Then I tried Slash'em, which turned out to be a modified version of NetHack.

Finally, I just gritted my teeth, and launched the latest version of NetHack again.

Any role-play gamer — paper/pencil/argue-with-DM type, not Final Fantasy type — will be at home with the world of NetHack. Your character has base stats, such as strength, dexterity, and intelligence; armor class, experience, and current level; hit points (HP) and magic points (MP); weapons, armor, wands, scrolls, potions, gems, and various other kinds junk in the inventory. You hit monster, monster hit you, whoever hits harder and more often (or does something stupid) dies first. Pretty simple, right? However, before you can truly hate NetHack, you must understand the depth of NetHack. Take the following bug fix comment, for instance:

/* Fixed crash when attempting to remove blindfold by applying cursed towel. */

My biggest problem with NetHack used to be food; you have to eat food, or you get weak and start to faint — and if the monsters don't finish you off while you are unconscious, starvation will. You can eat mundane comestibles such as food rations, tins (cans), eggs, fruit, and fortune cookies, or you can eat corpses of slain monsters. Problem is, lots of things can go wrong with eating, such as the corpses going bad, or getting interrupted while trying to eat, or worst of all, the monster having an intrinsic that causes a problem. I lost several characters to accidentally eating corpses from kobolds (poisonous), or zombies (always rotten). Once I was killed because I ate a tin that turned out to contain greasy fried food, and I kept dropping my sword while trying to attack a monster. I've since realized that part of the reason I've had so much trouble with starvation is that I spent too much time in the early levels where little happens, and charging quickly down to LV5 or lower seems to help.

Another problem I have is keeping my pet alive. You start with a pet, either a small puppy or kitten. They follow you, attack monsters that are nearby, eat occasionally (I didn't like tripe anyway), and generally help keep you alive. If you keep them alive, fed, and active, they eventually grow into large dogs or cats and can do major damage. If you don't make sure they're next to you when you go up or down stairs, however, you leave them behind, and if you don't go back really quickly, the next time you see your pet it will punish you severely. My problem yesterday, though, was that the game had it in for my pet. The first game I started, my dog got squished by a falling boulder trap around LV4. The second game, I took two steps and an arrow trap took out my cat. I gave up trying to keep a pet at that point.

I never saw too many of the interesting monsters in NetHack. Back when I started with NetHack 2.4, acid blobs used to be very common; you'd hit them, they'd splash you with acid, and your armor or weapon would corrode. Now I see a lot more lichens. Floating eyes are notorious — if you melee-attack them without being blinded, you are frozen by their gaze for a while and usually end up being the lucky person who has a tombstone entry on the server that says "killed by a newt on dungeon level 1." However, they also have the valuable property that if you eat a floating eye corpse, you gain the ability to see monsters when blinded. Nowadays I throw darts and arrows at them instead.

You can find potions, scrolls, and spellbooks in the dungeons, but NetHack won't identify them for you. You have to do various tricks to identify the item, such as throwing potions at monsters, dipping items into them, or seeing how much shopkeepers will pay for them. Or, you can simply try quaffing or reading them. Having your armor or weapon turn to dust (scroll of destroy armor/weapon) is annoying, and all too often I ended up drinking valuable holy water, but the bane of my existence used to be potions of hallucination. Hallucination causes you to see random and constantly changing symbols or tiles for everything; this makes it difficult to tell what anything is, and more importantly, the game no longer prevents you from hitting your pet. I've since learned to write Elbereth on the ground and sit until the effect wears off.

In three attempts last night the farthest I managed to make it down was LV11:

 No  Points     Name                                                   Hp [max]
  1      12161  Foo-Bar-Orc-Mal-Cha died in The Dungeons of Doom on
                level 11.  Killed by a mumak.                           -  [97]
  2       7939  Foo-Bar-Hum-Fem-Cha died in The Dungeons of Doom on
                level 9 [max 10].  Killed by a wraith, while
                helpless.                                               -  [64]
  3       2716  Foo-Cav-Dwa-Fem-Law died in The Dungeons of Doom on
                level 6.  Killed by a giant beetle.                     -  [66]

The second death was due to trying to hack my way through a "zoo" level, which is basically a level with no walls and a bunch of monsters zeroing in on you; I'm not sure how you're supposed to survive those.

There are a bunch of interesting quests and side dungeons you can enter once you get down around LV15, such as Fort Ludios, but what I really wanted to try was the Sokoban quest. Sokoban is a crate-pushing game where you have to figure out the right pushing pattern to get all the crates to the target squares; the difficulty is in that you can only push, not pull, and you can only push one crate. Recent versions of NetHack have a couple of fixed levels with boulder-pushing puzzles with some goodies behind them, like a bag of holding. Unfortunately, I haven't been able to get down that far yet. Maybe someday, with some luck... or maybe I'll just use Explore Mode.

Oh, in VirtualDub news: I figured out a solution for the capture problems with Philips SAA713x-based capture devices and the DirectShow module. A couple of annoying problems in 1.6.3 will be fixed for 1.6.4, the most notorious ones being the audio resync filter going nuts at 35min. with the DirectShow driver, and the audio device list being in the wrong place. Finally, it turns out there is a semi-long-standing bug with VirtualDub misdetecting the drive type of UNC (network) paths; this can cause VirtualDub to abort a save to a remote NTFS drive at 4GB if the current directory is on a FAT/FAT32 drive. The workaround is to map the network drive onto a drive letter.


This blog was originally open for comments when this entry was first posted, but was later closed and then removed due to spam and after a migration away from the original blog software. Unfortunately, it would have been a lot of work to reformat the comments to republish them. The author thanks everyone who posted comments and added to the discussion.