Compile and play Angband 3.5.0 on Linux

Angband hit a milestone back in December of 2012 – it has a higher version number than “official” Nethack for the first time!

If you use the Windows operating system, the new Angband can be downloaded in a zip file and played once you’ve unzipped it. But if you are on Linux, with the possible exception of Arch Linux, you are probably still using the 3.3.2 version found in the Debian or Ubuntu repositories. I use Linux Mint, which uses Ubuntu’s repositories.

If you check the main Angband page you can download the source code for 3.5. I found a useful page for compiling it correctly, and was able to do so.

angband35

For Debian-based systems, you will want to run the following command before attempting to compile Angband, to install all needed dependencies:

sudo apt-get install autoconf gcc libc6-dev libncurses5-dev libx11-dev \
             libsdl1.2-dev libsdl-ttf2.0-dev libsdl-mixer1.2-dev libsdl-image1.2-dev \
             libgtk2.0-dev libglade2-dev

Remember, in town, building 8 is your home (where you can drop extra items you don’t want to sell).

It is also quite easy to play Angband using wine, which will allow you to use the excellent tiles created for the Windows version.

Some of the gameplay changes in this release include a total overhaul of the way monsters are grouped together, turning off selling items to stores by default, good and great items appear more often early on, but less often in the later game, most shops have some “always stocked” items with an infinite supply, and many others. View the complete list here (as of August 2014).

Compile and Play Nethack4

As I mentioned earlier, Nethack4 is an active variant of Nethack which currently only works online or on Linux. Several months ago I posted a “how to compile Nethack4” article on my main blog, but not here. Then the developer needed to change the way it compiles which made my instructions obsolete.  I figure it’s time to have an article showing you how to compile and play the game here, on my Nethack blog.

main menu for Nethack4

main menu for Nethack4

Nethack4 seems to be the closest fork to vanilla Nethack at this time – there are no new roles or races added, and I think the dungeon layout has not been changed. The reason you’d want to play it instead of regular Nethack is that the interface has been greatly improved and some easy typo deaths now warn you first (the options file lets you disable these warnings).

The homepage for Nethack4 is located here. You will want to download the current copy of the source file from here. Click on the “downloads” button on the upper right, to the left of the “clone” button (don’t worry about that button).

Unpack the .tgz file you just got (it should be 1.7 MB in size before unpacking), and you’ll have a new directory named “nitrohack-ais523”.  (Nitrohack was an older fork of Nethack, now obsolete due to some game-breaking bugs. The developer stopped maintaining it.)

Before you can compile Nethack4, you’ll need to install a number of files that it needs. The README file inside of the new directory lists most of them, but currently you need a couple of others.

On a Debian, Ubuntu, Mint, or similar system the files you need to install are:

– build-essential

– flex

– bison

– libjansson4

– zlib1g-dev

and if you want a working server, also install

– postgresql-server-dev-all

– postgresql-contrib-9.1 (to get “pgcrypto”)

Once you have all the files you need, open a terminal and cd into the nitrohack-ais523 directory. From there, issue the following commands:

mkdir build

 cd build

   ../aimake -i ~/nethack4 ..   #spaces are crucial in this command

This will create a new directory in your home folder called “nethack4” and compile and install a local copy of the game. It only makes a copy for the current user, but if you really want to make a system-wide copy available for everyone who uses your Linux system, the README will tell you how you can do that.

If you are using Windows, Nethack4 does (technically) compile and run, but the README indicates that, practically speaking, it’s so slow that you can’t play it. What I would personally recommend for Windows users is to play online. You can play online via connecting to nethack4.org via telnet or ssh (username “nethack”, password “nethack”).

Playing Nethack4

I tend to maximize the terminal to fill the screen. This makes the game easier to read. (Nethack4 currently has no option to use tiles).

An orc rogue on dungeon level 1

An orc rogue on dungeon level 1

The main menu will let you choose the following options:

n – start a new game. If you choose to let the game pick your race, gender, and role, you are shown the result before being asked to name the character. For someone like myself, who likes to pick names related to either the race or role, this is one of the many small improvements over vanilla Nethack.

l – load a saved game. Vanilla Nethack does let you keep several active characters at once and pick one each time you begin a game, but the way it’s done here is just more convenient. When you save a game, you are asked to either save, abandon the character, or cancel and keep playing.

v – view a character’s moves, one turn at a time. It defaults to the list of dead characters, but if you don’t have any you can view one of your currently active ones instead.

Turn by turn reviewing of a game

Turn by turn reviewing of a game

o – set options. A slightly more convenient way to toggle all the myriad of options in Nethack. This file persists between games.

s – to look at your current scores list (only completed characters – dead or ascended – will be shown).

c – connect to a server.

q – to quit the game.

News about Nethack

Last December 8 marked the tenth anniversary of the current release of “vanilla” Nethack. There has been no definite statement from the dev team that there will be no future releases, but it doesn’t seem very likely. As I’ve said before, this extended period of dormancy has spurred the creation of new versions of Nethack in an effort to fix the bugs that remain and introduce gameplay and interface options meant to make it a more enjoyable experience.

As of now, 18 January 2014, there are 3 or 4 actively maintained variants of Nethack that can be played offline (i.e. without connecting to a Nethack server). They are:

Nethack4 – this version differs the least from vanilla Nethack 3.4.3, unfortunately at the moment it’s not really possible to play on Windows except on a server. It runs great on Linux, though, and compiling it is simple once you have all the needed dependencies. This variant is updated fairly often. Created and maintained by Alex Smith

Dynahack – this version has a binary for Windows, which seems fine. It can be compiled for Linux but I’m having a minor difficulty doing that at the moment. The Windows version works great, aside from the fact that the terminal won’t let you really increase font size that much and won’t open full-screen. [Luckily, the final 2 options in Dynahack’s option menu allow you to set window height and width!]. Dynahack has a lot more changes in it than Nethack4 does. Like UnNetHack, you can play a vampire, and there is a new role of convict. DynaHack doesn’t make it easy to choose “conducts” as a challenge, which is something UnNetHack lets you do. Much like Nethack4 and Nitrohack, you can easily create and load several characters, and play on a server from the main menu screen. Created and maintained by Tung Nguyen.

picking a role in Dynahack

picking a role in Dynahack

UnNetHack – This variant has binaries for both Windows and Linux so it’s one of the quickest to get started with no matter which system you use. Current version is 5.1, released in December of 2013. There are quite a lot of changes in this from vanilla, including 3 new classes, a new race, and a tutorial mode. There are dungeon changes including a shorter Sokoban that has more variety in its puzzles, and the Town and Dragon Caves special areas. Some of the regular areas have been altered so as to increase variety between games. Veterans who ascend fairly regularly can also select “conducts” – voluntary challenges such as not praying, not eating meat (for non-monks), not reading anything ingame, etc – that make it more difficult to win. The Windows edition of UnNetHack includes both ASCII and a tiled version, and the tiles are quite nicely done. Created by Patrick Mueller

UnNetHackPlus – A fork of UnNetHack, approved of by Patrick. It seems to be mainly an increase in variety and challenges from UnNetHack.

Also available (but dormant) are GruntHack,  SporkHack and SLASH’EM.

Angband 3.5 is here, plus other news

Well, it’s been so long since I last wrote anything about Angband that we have a LOT of new things to discuss!

First off, Angband went from 3.4.0 to 3.4.1 (bugfix release), and is now 3.5.0! (As of December 2013). There are too many changes to get into and the best I can do is provide the link to the main website again. There you will find the downloads for Windows, OS X, and Android, and the source code for Linux (speaking of, when will the folks who maintain the Debian repository edition of Angband update the version from 3.3.2 to 3.4.1 ?)

Also there is a list of changes for the new version, as well as the mostly updated player’s guide and manual. Nick McConnell has become the new maintainer for Angband. He also is the creator of FAAngband.

Several variants of Angband have also been recently updated! This is great news, it means that the *band community is still healthy and interested in their games.

Sil is now 1.2.1. This is becoming the best known and most recommended variant of Angband. Instead of a 100 floor slog, often facing somewhat generic monsters, you have 20 floors to get through, and you don’t kill Morgoth, you must steal one of the 3 Silmarils from his crown. The entire game is strictly “First Age” Tolkien, and offers various difficulty levels (justified ingame by letting you choose your race – elves are much easier than dwarves or humans (Numenorians I assume).)

You can get a copy of Sil at this website, along with the manual, source code, older versions, and the change list.

The following are variants that have been updated within the last 5 years (with one exception). This is not a complete list, but does comprise the games that seem the most interesting to me personally.  The entire list is found here, at the official Angband forums.

Chengband (October 2012)

DaJAngband (November 2012)

FAangband (November 2013)

FayAngband (October 2011)

Gumband (January 2010)

Halls of Mist (January 2013)

Ironband (November 2012)

NPPAngband (March 2013)

PosChengband (April 2013)

Quickband (December 2012)

Sangband (October 2010)

Steamband (December 2007 )

UnAngband (September 2011)

Z+Angband (December 2010)

….and those are less than half the variants listed at the official Angband forums! My original plan with this blog was to discuss every one of the above games. Hopefully I can get to more than a few of them during the next year.

Nitrohack is no more

About a week ago, I noticed that nitrohack.org had gone offline.  Apparently, that fork is no longer being maintained, but instead the effort is now being put into Nethack4, a combination of Acehack and Nitrohack. I have heard that Nitrohack had a bug that corrupted save files, which I can’t dispute even though I never had a problem in over 40 games. I speculate that my inability to survive beyond the Sokoban levels may be related to my non-corrupted saves, but there’s no way to be sure.

Nethack4 seems to be the current “unofficial sequel” to Nethack. Unfortunately there’s no binary at the moment, and compiling on Windows is not yet possible. My efforts to compile it on Linux haven’t succeeded yet, so the easiest way to play it is online (by ssh or telnet to nethack@nethack4.org).

NH4

One useful change in Nethack4 is that you receive a warning when you are about to eat tainted food. I appreciate things like that…it doesn’t make the game easier but just avoids some of the more annoying problems in the original game.

valk-startThis Valkyrie didn’t last too long, but I am out of practice. With some more playtime, I should manage to reach Minetown pretty consistently, and after that work on the Sokoban levels.

Angband 3.4.0

The Angband team released a new version this past Friday, September 14. The last major release (3.3.0) was in July 2011, and there were 2 bugfix releases since. The team has also been working on a v4 release, but there’s no word on when it will be ready.

This new release has quite a few changes, most notably a new resizeable tileset (64×64) by Shockbolt, an artist who also designed ones for the ToME4 roguelike game (look him up at the deviantArt website). These are enabled by default when you start the game, along with the additional windows for information display.  (The only other tileset I like is the one by David Gervais). Other changes include new monster pits and nests, torches now radius 1 light, slight changes to prices and monsters, more consistency for enchant/disenchant, consumables now stack as 40, no weakly cursed items, and lots more.

The tileset looks great, and has different pictures for each race/class/gender combination. It starts out set to 6×3 in the Options>Graphics>Tile Multiplier list and I suggest that you stay with 6×3 or 4×2, or 8×4 if you like them larger.

I’ve created 6 new characters and shall be posting about their successes (and failures) as the weeks go by:

Morgaine, the Dunedan Warrior

Werdna, the Gnome Mage (showing how Detect Traps appears)

Amli, the Dwarven Priest (in the Town)

Sile, the Kobold Rogue (about to learn a spell)

Amilon, the Hobbit Ranger (showing the character screen)

and

Percival the Half-Orc Paladin

(I only really noticed in this release, but Paladins get their spells in the same order every time, unlike priests.)

Some gameplay notes:

Cutpurses are quite annoying early, because if you are a melee character you usually cannot kill them in one hit. Get several in a row and your gold will be depleted rather rapidly.

ALWAYS Tunnel into quartz squares. Most of the time my characters can do it without a pick, and the gold you get will somewhat make up for the annoying cutpurse thieves.

Cave spiders are deadly when you are low level. As are louses (for a different reason). Never get into a room with them, you’ll very quickly be surrounded and then keep getting bitten faster than you can heal and kill them. In hallways they are much easier to handle. (spiders tend to travel in groups, so although they don’t “breed explosively” they can be quite dangerous)

what “breeds explosively” usually means

Try to avoid grey mushroom patches unless you’re in a big empty room. Their confusion (by spores) lasts fairly long, the safest way to remove it is to just Rest, which is not really possible if other enemies are within sight.

If you return to town and can’t see most of it, you arrived at night. Beware, many cutpurse and rogue types are in town at this time.

Upcoming:

There are indications that several variants have new releases coming soon – Sil, UnAngband, and FayAngband. Along with Quickband, I’ll be discussing them in future postings.

Angband commands

EDIT: Immediately after posting this, I found that Angband just got an update from version 3.3.2 to 3.4.0. I doubt that commands are different, but keep in mind that all my discussions AFTER this will be based upon Angband 3.4.0.

One aspect of Angband that initially threw me for a loop is the commands. Some are obvious, but there are many that are just different enough from the ones I use in Nethack that a review of them is worthwhile. Within the game, there are two ways to read information about the game: either press the “?” to bring up a group of subjects to look at in more detail,

or else press the Enter key (if you are looking for a command).

Each of those lines will bring up a list of related commands. For instance, setting the cursor at “Information” and hitting Enter gives you

Here is a list of most relevant commands, just keep in mind that the link in the beginning to “Thangoradrim.net” is broken and won’t work.

Inscriptions, macros, and keymaps:

Angband has the ability to let you set up complex commands to activate with a single keypress. I can’t really do better describing how to do this than the official manual, so here’s the link to the relevant page. Although it does warn you that it’s outdated, the information is still applicable.

Useful early playing tips:

Even if you don’t set up macros, learn to use the key to target nearby monsters with spells or missiles. The rooms in Angband can get pretty large even in the early game, and moving to a straight line of sight lets the monsters move closer (when they are awake).

You can “T”unnel without a shovel, but it takes more time. Differently colored squares mean magma or quartz, which will yield ore when dug out. As you go deeper, more valuable metals can be found.

When the way is blocked: if it’s rubble in a hallway, just “T”unnel past it. If it’s a hall, try “s”earching for a secret door; Angband seems to have a higher success rate for that than Nethack does, and secret doors are never locked. Sometimes a door is stuck, in which case you can “B”ash it open or use a spell to open it. Bashing will stun/paralyze you for a few turns but doesn’t seem to hurt you.

Beware of traps, which can be detected by mage spell and disarmed by rogues or rangers (or spell, I think).

Mushrooms are a bit like potions – they come in different flavors, not all are beneficial, and you can sell them to some shops (which will identify them).

One of Angband’s unique features is that you can restart dead characters at level 1, as if they were newly created with the same name. Such characters will have a “monster memory” file that lets you gradually get information about the creatures you encountered with the previous version of the character. To read the information your character has learned, press the “~” key and select the section you want to see:

main knowledge menu

and to learn about monsters, just select the correct type and press Enter. Here’s what my mage knows about white snakes:

You learn more the more of any type you kill.

Shops in Angband play an important role; here’s the manual page about the Town and its shops. If you follow the links at the bottom of the page, there are additional helpful instructions for beginners on various topics.

First Impressions of UnNethack

UnNetHack has a blog, a main website, and some public servers to play it online. Patric Mueller is the developer and he also has created Nethack-de, a German translation of Nethack.

One of the first things you’ll notice when firing up the game is that it offers a tutorial. No other variant of Nethack does this. Throughout the early game, either at specific turn points, or when something happens in the game, you get an explanation of what you can do, or find out about the environment around you.

Even if you don’t use the tutorial, you sometimes get hint scrolls during the game.

Only three roles are available if you choose the tutorial. I like the fact that they are your standard fighter/mage/archer archetypes, so you can choose the style of play you love while you learn. They also happen to be among the easier roles to play.

Also, the game allows you to issue context sensitive commands from inventory, like Nitrohack does. This is actually more useful here, since as far as I know UnNetHack does not display your inventory on the sidebar.

According to the Nethack wiki, some of the main differences are:

– the vampire player race, limited to the roles of barbarian, rogue, ranger, or wizard.

– some added monsters, items, and artifact changes.

– some patches, mostly to enable colors in menus and status lines, which improves the user interface.

– like Nitrohack, stairs leading to special levels are colored yellow.

– major changes in the Gehennom dungeon levels.

– dragons have significant differences from vanilla.

Also, if you like cavemen or rangers, they might start with a cat (in vanilla they can only have dogs).

So my first vampire character died, letting me discover that the page identifying your possessions encloses unknown info in brackets, and lets you know how many charges are on wands. Interesting.

Also, your “Final Attributes” screen gives more info, such as alignment status, monster difficulty level, and hunger level.

(I restarted the game with a ranger, a role I hadn’t really tried before. The following 3 pictures are from that character.)

One very useful feature is the “dungeon overview”, seen by pressing Ctrl-o. Notable features will be listed so you know where to return if, say, you want to drop some items on the nearest altar but forgot where it is.

Of course, UnNetHack just has to make Sokoban a little more difficult. It accomplishes that by not only flipping/mirroring levels, but using some from Slash’EM. Like this one… (the third [and last] puzzle I got).

[9/14/12 EDIT: In comments, the creator of UnNetHack reminded me to point out that unlike vanilla, there are only 3 levels of Sokoban (not 4), and you have a choice of three prizes to choose from instead of just two. That is probably to make up for the increased difficulty in each level]

Luckily I managed to solve the entire thing, and escaped with an amulet of reflection. Went back upstairs and entered the Gnomish Mines. I made my way to Minetown and discovered that UnNetHack pulls a special trick on occasion. (Sporkhack does the same, from what I understand).

Unfortunately, I didn’t survive too much longer after that. I was fairly low on ammo, was losing hp, and didn’t make sure to equip a helmet. So when I read a scroll of earth in desperation…

UnNethack is definitely an enjoyable variant and I’ll keep playing it. This ranger has done better than any other character I’ve been working on.

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)