This is going to be an exercise in making a game where wildly unexpected things happen on a fairly regular basis in a way that is actually fun to play rather than punishingly arbitrary.
There is a Bestiary, populated by an XML file, which contains all types of monsters, all possible modifiers, all abilities, items, what have you. Monsters are constructed by somewhat-randomly mashing these together, and then you are unleashed in a somewhat-randomly constructed dungeon with them.
The dungeon is going to be separated by floors which will be clustered by various dungeon archetypes. You’ll be in a mummy’s tomb, then you’ll be in a zombie-infested shopping mall, then you’ll be in a medieval castle. The source material for all of these will also be sourced from the XML, so adding content once the algorithms are all in place is going to be pretty close to “fast as you can type it”. That’s the goal, anyway.
I’m also planning on having some kind of scoring algorithm in place during the dungeon population phase that will prevent absurdly unfair things from spawning. A monster will get randomly generated, and its “score” will be compared somehow to the player’s level, and if it’s too lopsided there will be a large chance that it will be discarded. Details on this will be forthcoming.
DEBUG: Created a zombie with fireball DEBUG: giving the zombie 'ennui' and 'boners ahoy' abilities DEBUG: performing 5 actions from ability repertoire The zombie is really disinterested. It sighs. The zombie is really disinterested. It sighs. The zombie launches a fireball past your head. The zombie yells 'BONERS AHOY'. Perhaps you can tell him why. The zombie launches a fireball past your head.