LAngband plans
I have not written a lot of the rationale and purpose behind
Langband. This document will at least some features I want and
how I imagine this implemented.
Implementation plans
- Small and pretty generic game engine with as few as
possible special cases. Details should in most cases be moved
to variant-specific code.
- Allowing the variant to be programmed declarative and let
the engine build the necessary datastructures. Allow use of
object-oriented and functional/procedural code in the variant to
be intermingled with the declarative code, ie callback
functions, local variables and classes, overriding of
engine-features, etc. The variant will have the full power of
Common Lisp available.
- Limit the amount of constants in the game, and let most
things be tailoured and customised in the variant-code.
- Strive towards a human-readable and intuitive mini-language
to describe the variant in.
- Have a conversion-tool for a one-way translation of
standard Angband info-files to the Langband variant
mini-language.
- Avoid hacks and too complex features of standard Angband,
ie the macro-language and the myriad of unused options.
- Use Vanilla as a variant-template for others to build their
variants from.
- Make the Lisp-code portable between
Lisp-implementations.
A variant which use the Langband engine
I plan to use the Langband engine to build a variant of my own
which will probably have the following features:
- (Edible) Corpses
- Monsters carrying and using relevant items. If the
kobold picks up Cubragol he will use it. Yes, this implies that
the "monsters can't pick up artifacts" disappear.
- Get rid of the stupid pits and instead add "themed" rooms
as orc camp, giant lair, dragon council, elven courts,
graveyards, ...
- Divide level feelings into separate parts, not sure on
details yet though. Make feelings dependent on race, class and
level, and a chance to botch feeling perception. This will
weaken the current level feeling system considerably, see
also next point wrt to "special levels" in non-preserve mode.
The level feeling system now hardly ever is meaningful except
before 1000'.
- Remove point-based character generation, non-maximise mode and the
non-preserve mode. Also strip away several other options. The
removal of non-preserve mode also means that "special level"
feelings disappear. Auto-scum might also be removed and levels
in general will be made more interesting. Auto-scum is mainly
used to get interesting levels now. This change may also be put
directly into the engine though.
- Connected stairs to avoid stair-scumming and make it
realistic when one recalls and go back stairs.
- More realistic equipment organisation and add containers
like quivers and backpacks.
- Different kinds of spellbooks, which can have random
spells. Spellbooks can also have free spots to transcribe one
spell from one book to another.
- Quests which span over several levels and involve items and
hunts for particular creatures.
- Gods and religions for priests (and others).
- Possibility for making a team, but unlike Tangband the
whole team should be placed in the @ and moved around together
and the characters should be shown on the left in eye of the
beholder-style to make it easy to visualise whose turn it is.
This should be default, but with the possibility of spreading
out in really bad fights.
- Add better music support, and find appropriate music. When
entering the Big Church (themed room) Schubert's Ave Maria
should be played. When entering the dungeon for the first time,
Repulica's Ready to Go should be played. Or maybe not :-)
- ...