Wednesday, June 21, 2006

NetHack: a cheaper yet better version of Diablo II

I assume nobody understood what the valkyrie post was about. So if you do not mind reading a long, boring essay I will try explaining my favourite game, NetHack, here.

"Let's play a different game than what we're playing"


Diablo II screenshot
Have you played Blizzard's PC game Diablo, or Microsoft's Dungeon Siege? They are a type of games commonly known as dungeon-crawling or hack-and-slash games. There is a common formula to these games: An evil power has risen, and you, the "adventurer" must rush to save the day before the world is destroyed. You begin as a squire, a "level 1" character with weak fighting skills. Battles after battles, you defeat minions sent by an evil wizard or demon, learning new spells and abilities on the way. Replacing daggers with long swords, ring mails with enchanted plate mails, you fight your way to the final chapter, where you get a hard-earned, glorious victory. Then you see the ending movie and credits screen, and start again with the hard-core mode.

Now ditch the handsome 3D graphics and movies. Remove the multiplayer functions. Replace the 3-CD installation set with a 2MB archive and, with a little imagination, your adventure can be even more exciting.

Simplicity is beauty

More than 20 years ago, Rogue was born. Wildly popular (I suppose) among computer gurus, the game was later expanded into something called Hack. Hack was bundled with many BSD-compatible UNIX systems including SunOS 4.1, on which I first played the game while trapped in University laboratories at night. Later I found NetHack, a hugely enhanced version of Hack. I installed it in my GNU/Linux box and played it again and again, trying to beat the game but failed.


NetHack screenshot
These games, collectively called roguelikes, all have a very similar interface. Originally running on computers with 80x24 text only computer terminals when arrow keys were not popular, the game was operated from a standard QWERTY keyboard using HJKL as navigation keys, much like the VI editor. The whole game is presented in the terminal. Instead of animated 3D pictures, The dungeons are drawn using ASCII characters. The @ sign is a human, f stands for felines, including cats and tigers, and % represents food. It looks cryptic at first, but with a little training you can get used to it very easily.

Everything, including the kitchen sink

It is often said that "the DevTeam thinks of everything" (TDTTOE). Having a plain interface does not mean the game is plain. On the contrary, it allows more possibilities that any modern PC game could offer. In NetHack you can start as one of the 12 roles, including Archeologist, Samurai, Valkryie, Barbarian, Wizard and Tourist(!). You goal is very simple: go down the dungeon, steal an amulet from the invincible Wizard of Yendor. After escaping alive, you will then enter the astral planes, fight some elementals and angels, sacrifice the Amulet of Yendor to your deity and ascend to immortality.

Throughout the game you may encounter more than 300 different types of monsters, grouped by similarity into 57 groups, using all uppercase and lowercase letters except I, as well as characters like @ and &. There are many different types of scrolls, potions, wands and artifact weapons. It even has kitchen sinks with peculiar properties, imported from SLASH'EM, itself a derivitive of NetHack.

The DevTeam did not invent all the monsters and items themselves. Most of them has roots in folklore and novels, including Nazguls from J.R.R. Tokien's Lord of the Rings, Medusa and the Mjollnir from Greek and Norse mythology, the Excalibur from King Arthur legends as well as magic lamps filled with Arabian Nights Djinns. They even provided these references in the documentation.

I have already told you that the adventurer is allowed to bring a pet into the dungeon, but did I tell you they have default names? If you play a Samurai, your dog will be called Hachi, the loyal dog of a Japanese professor; if you play a Barbarian, your dog is Idefix, whose owner was a fictional Gaul barbarian named Obelix in Asterix, a French comic book. There is a section in wikipedia about Mythology and fiction in NetHack.

These characters and items are not just for decorative purposes. Most of them retain properties true to the legend from which they are born. If you are worthy enough, the Lady of the Lake may bless your sword into the Excalibur when you dip it into a fountain. On the Medusa Island, you will find a status of Perseus, stoned to death by Medusa. If you break the statue you may be able to find a shield of reflection (polished shield from Athena the goddess of war) and boots of levitation (winged sandels from Hermes the messenger from the gods). Like in Lord of the Rings, the Sting warns you of orcs' presence by glowing blue, and cuts through spider webs instantly. You may even have sex with a succubus and die of exhaustion.

Items can be combined to form the most bizzare effects at the strangest moments. What would you do when you need to cross a river? In a PC game there is usually only one way: talk to a villager, who will tell you that you can find a lever in the bushes to lower the drawbridge. In NetHack, to name a few, you can steal a pair of water walking boots, fly using a potion of levitation, freeze the water with a spell, or swim if you can breath under water. If you have the strength, you can even chain a heavy metal ball to yourself using a scroll of punishment, throw the ball to the other side and drag you across.

Say Grace

Two weeks ago a Ukrainian jumped into a lion cage. He shouted "God will save me, if he exists" but a lioness killed him before any god could save him. In NetHack this will not happen. For one thing there are tigers, panthers but no lions. In addition there is a deity system. There is a God to provide you guidence and to attend to your needs. If you are in your deity's favour, you can #pray and they will protect you from almost any trouble you run into. Monsters will not attack you when your deity is listening to you, and nice things will happen. You may be completely healed, your items may be uncursed, or your deadly food poison might just go away. If your God really likes you, you may also be granted an artifact with immense powers.

You have to pay for all these, though. To earn their favours you may need provide sacrifices. Corpses of powerful beasts work best but geckos are nice too. If you do not have their favours, things could go really ugly. When you annoy your God by talking too much, a heavenly thunder may strike you in your face, or your God may send an angel to hunt you down.

Messing with the dead

When you play the game matters. NetHack uses the computer clock to determine what may happen. During a full moon, dogs howl and werewolves are more feverish. On Friday the 13th, you have worse luck. If you insist on playing at midnight, undead do double damage.

In the game there are some randomly generated special levels. One of which is the bones level. When a character is killed, a bones file may be generated. The dead character becomes a ghost that haunts the place where he is killed. Somewhere during your game you may run into this level instead of the usual dungeon maps. If you manage to kill the ghost and whatever that killed him, you win a great prize and may take the possessions of the poor guy. Beware, adventurer! Most of his possessions may be cursed. If you are playing alone on your own computer you will only find your bones files, but if you want to meet new undead friends, you can transport the dead through a third-party application, appropriately named Hearse.

Alternatively you can play online like I do. Simply connect to nethack.alt.org through telnet, create an account and you can join the adventure.

0 comments: