Monster Indices

Goal: Make different areas of the game *highly* themed with regards to what monsters appear in them, and do this flexibly enough so that it isn't merely like the two-level 'bleeding' approach used in angband.


Analysis

The first solution initially seems to me to be the right solution -- it easily handles the creation of completely seperate realms, and prevents work on these realms from colliding with each other (In the Angband family tree, monsters are indexed by a single number, which means that new sets of monsters are at least mildly difficult to coordinate adding to the game by massive numbers of seperate contributors). It could easily be implemented by having the object holding the map also having a pointer to the monster list for the current map.

The second solution seems almost as good, and does have the advantage that it is only loaded once, presumably at initialization. On reflection, it has another important advantage over the first, in that a given named monster is always available. This may prove useful should some means be acquired to always summon certain creatures. This would be not quite as pretty in the first solution. It also may save space if creatures are used for multiple realms, and makes coordination of changes on such monsters easy.

Decision

I decided to go with the first solution. The runtime loading penalty is something I'm willing to pay. As for summonable monsters, I'm willing to deal with the code ugliness involved in accessing other monster lists when it occurs, and the difficulty involved will prove a good incentive to keep dungeons well themed. Also, the seperate realms of MoLD might have monsters named the same that act differently, and that might grow complex to implement/understand in a single-file monster list. Summoning creatures from another realm should probably fail anyhow. The coordination of changes is a bit of an issue, but I'll cope.