/
backup/
bin/
clans/
gmc/
logs/
players/
todo/
Wishlist for the new 0.5.x tree
(! = closed, * = urgent, l = lower priority)


* use XML extensively, use dynamic storage of properties in objects

  - player & area files: dynamic storage of "modifcation" specific data
    in an associative array, possibly with callbacks/triggers when
    new data is stored, see below for description of "modifications"
  
  - server configuration: store known server-side variables and
    introduce new ones, such as experience formulas, experience per level, 
    damage formulas, number of stats, stat maximums, etc.   
    
  - GHL (working title): Grendel Help Language, use XML to describe
    help/manual content, in cooperation with system configuration elements
    to describe visual properties (colors, etc.)
    
* revise grouping system: generalize GObject to some form of object 'list'
  (possibly named GItem), which can contain 1 or more GItems or subsets
  of GItem, something along those lines
  
* get rid of a lot of obsolete smaug/diku/emlen-inspired code, this
  only helps in keeping the system unstable and hard to manage. 
  
  - rewrite position code, instead of mutual exclusive POS_XXX identifiers
    use flags to describe a combination of states
    
  - possibly rewrite/rename the fighting & magic code, this will break
    compatibility but improve code re-usage and stability
  
* generalize races & clans to configurable character "modifications",
  with some form of plugin architecture to add specific behaviours to
  a character (access to commands, properties, etc.)
  
  - modifications possible for areas as well, enables "dynamic" areas,
    such as randomizing mazes etc.

* use coordinates and mpfindpath code to make NPCs more intelligent

  - generalize current experimental coordgen code to generate multiple
    "coordinate spaces", each space allocated for a disjunct, unlinked set
    of areas (usually, a new space begins when a portal is reached)
    
  - move towards 'true' AI by using the findpath code to allow NPCs
    to find particular targets or locations in the game world

* better damage/experience calculus

  - unusually difficult task, maybe worth the time to investigate 
    the possibility of auto-balancing tools or algorithms
    
  - relies extensively on configurability of server-side variables (see above)
  
* gmc specific features/extensions:

  - extracting matching parts from a string (possibly using full regexps instead
    of the fastmatch used now)
  
  - global/mudwide (static) variables
  

l implement isPlayerName(), isObjectName(), isMobName() and (perhaps)
  isSpellName() and enforce their use throughout the code
  
l IMC (intermud communication): both channels *and* noteboards
  (perhaps separate server for noteboard, or whatever)

l (optional) "real life" sleep - players need sleep to keep from falling 
             down after 2 days, some rooms (with beds) have better sleep ratios etc.,
             possibly as a demonstration of the "modification" system
             
l (optional) mud police, implemented as a series of gmc scripts