Nangband
The aim of Nangband is to create a fun, interesting, and unique roguelike. It follows the philosophy of "less is more": simplifying complexity and making the game more obvious is a central aim. On top of this, specialised cases can be built, providing more interest. The idea that every interesting spell/effect/item should break at least one game rule is taken into account.
This is an overview document. It should eventually cover all features for Nangband, noting what mechanics to keep from Vanilla, and those to be changed. It won't, however, go into too much detail about how it all works, but should act as an overview and a guide to use when it comes to implementation. There will be several spec documents, written when there is a solid enough idea of how a given aspect of the game should work.
Also see [http://cvs.sourceforge.net/viewcvs.py/*checkout*/quota/quota/planning?rev=1.1].
The Town
Townspeople need changing; there should be no monetary incentive to kill them. Perhaps make them non-violent until attacked (AI change), but will drop useful things (cloaks, etc.). Money should not even appear in the game.
Town buildings
Stores replaced with various individual people's houses, who work on a trade basis rather than with money.
Narrow down to:
- Magician's House: trades herbs, potions for books, WoR, ID, other necessary services/items (perhaps ID in exchange for an item of that type; e.g. one of an {arrow, potion, scroll} pile)
- The Smithy: offers repair of armour and equipment (acid-damaged, etc.); can forge new armour or items given raw materials; trades for precious stones
On entering a building, one is presented with a basic menu.
The Inn (Otik)
What would you like to do?
a) Purchase supplies
b) Rest for the night
ESC) Leave the Inn
With only four stores, the player should start off with an appropriately full set of armour and weaponry. Maybe the town could be made a little more interesting, too? (Not sure how.)
Timekeeping
A lot of the stuff here will require more advanced timekeeping stuff. There needs to be a good mechanism for dealing with timed events elegantly, using some kind of global timer system?
Also, the idea of events occured to me: things that can be caused, or are natural happenings (e.g. the full moon), that affect the game for a duration. For example, a "bad moon" effect, which could help out evil creatures somewhat, or similar.
The dungeon (and its terrain)
- The dungeon should be half as deep, or around that.
- Look at Zangband's "fields" code and work out a nicer terrain system (UnAngband, too).
Static items
Items which you can't take or move, but can otherwise handle -- used for big items, like large chests/barrels/crates. Could make dungeons look more interesting.
Vaults
You can't teleport out of vaults, just like you can't teleport in.
Veins
Veins could do with a cleaner implementation, with some kind of secondary state for each grid in the dungeon, or something like that (i.e. a flag to mark the grid as "exposed").
Better traps
We need "better", more extensible, and more interesting, traps, that also affect monsters. When we have this, we can do things like doors, which look and behave like normal doors, but which have the potential to behave like traps, and explode and things. These are potentially very nasty, due to the everyday nature of doors. Detection would have to show up trapped doors in a different colour, or something similar; this would be quite a cool thing to work on.
Magic (complexity)
Different grids of the dungeon can have different "base energy": this affects how fast rods charge, for example. Magic can't be used on no-energy grids; meditating to regain mana won't work there, either. This would also been we'd have to have some way to show how "magic" the dungeon was. Might be interesting to have powerfully magical creatures modify the grids around them?
Changes to import from other places
- pelpel's dev1 work (monster light and absorption of light)
- OAngband's room generation code
- try_door() replament in ToME 1 (I think, pelpel said I should look at it anyway)
- 4GAI
Gameplay mechanics
- ring of garlic around neck = anti-vampire
- monsters that split in two with bladed weapons
- METAL flag -> rusts with acid attacks
