|Developer:||Andrew Sidwell et al.|
|Genre:||Hack and Slash, Role-playing game, Turn based strategy game, Roguelikes|
|Modes:||Single player, No player|
|Platforms:||Microsoft Windows, Mac OSX,
Linux, Risc OS, Widely ported.
|License:||Moria / Angband license|
|Latest Version:||3.0.9b / March 19, 2008|
Angband is a dungeon-crawling roguelike computer game derived from Umoria, itself a derivative of Moria and ultimate Rogue. Angband is one of the major roguelikes and is notable for have a large number of variants derived from the Angband source code following a code clean up initiated by Ben Harrison. Some of these variants such as Steamband and T.o.M.E. have diverged significantly from the original Angband code base while others are quite similar to the fantasy role playing origins of the game.
The Moria / Angband license prohibits commercial use, which makes the license incompatible with the definition of free software, however a significant effort by Andrew Sidwell has made Angband almost completely compliant with the GNU General Public License with the exception of some legacy code in the Microsoft Windows and Mac OSX code, which has been derived from other non-free software code bases.
Use of Procedural Content Generation Methods
Angband generates a new random dungeon every time the player enters a new level. The source code for this generation is almost entirely within generate.c and is a good example of code which works reasonably well to maintain connectivity across the dungeon level without testing for correctness. Modifying this code however shows a large number of assumptions have gone into the design, and therefore the generate.c of NPPAngband or SAngband is recommended as a better starting point.
Angband also generates weapons and armour randomly: both as ego items and artifacts, if the random artifacts option is enabled. Artifacts are generally more powerful than ego items, and there are only a limited (approximately 135) number of these in the game. Several artifacts are powerful enough to be game winning items in themselves. The randart.c contains the random artifact code, which was extensively rewritten by Chris Carr and Chris Robertson as an optional patch, which existed as a drop in replacement for some time until finally being incorporated into the main code base. The new randart.c estimates monster power based on the monster attributes such as hit points, power and spells, and incorporates these values into the formula required to estimate the relative power of weapon slays - that is weapons which receive a multiplier against certain monster types. This power estimation formula was revised by Andrew Doull to estimate relative monster strength in order to determine the monster level and experience reward in UnAngband - a version of this code is now included in Angband but defined out for the moment.