Inspiration taken from Squidi Net unfortunately I couldn’t find anywhere to post on his/her site about using their material as a base.
I’ve taken a short period of time away from Spell management and looked towards creating dungeons, which are dealt with specifically in release Alpha 0.0.11 and what I’ve devised is a template solution that allows the modder to broadly specify the kind(s) of dungeon(s) they want in the game.
The idea behind providing a template to generate a dungeon is very simple…I want anyone to have the ability to create/modify my game so they get a different experience every time they play.
For example there may be a single 10 level deep dungeon set in a castle or sewer environment. Or there could be a single overworld with a town and many dungeons littered around the “world” waiting to be explored.
- Name:Dungeon of Decay
- Type:Dungeon|<tileset name>
- Child:no|yes[<name of parent>|<level of parent to be accessed from>]
- Boss: Manslayer|WargMaster| Arch Druid
- Prize:orb of viewing|ring of greatness
- Win:kill [boss]
I’ve distilled generating a complete dungeon down to a single set of parameters. The combination of different settings should provide for a wide range of dungeons to be generated.
There now follows a brief explanation of the parameters:
This is a human readable description that is used to identify the dungeon.
This provides the basic instructions to build the dungeon including terrain types, room types, corridors, tileset.
- Dungeon – structured layout to rooms and corridors.
- Overland – a natural environment constructed to look natural
- Cave – an underground twisty natural looking environment
This parameter allows you to link dungeons together, thus providing seemingly more depth, flexibility and enrichment to the game player.
This parameter identifies if this dungeon is “a child” dungeon, in other words it provides a link back to the dungeon that the player was in when he/she accessed this dungeon. A child dungeon cannot spawn other children.
This allows you to place restrictions on entering a dungeon, for example only the Adept class or Troll race can access the dungeon, it can provide some interesting game replay options.
- Class – <type>|<type>
- Race – <type>|<type>
- Level – number (minimum level to access the dungeon)
- Time – <start>|<finish> (defines when a dungeon can be accessed)
This provides both flavour and extra mechanics to the game, for example if winter is chosen then any “overland” journey has a higher chance of causing frostbite and cold based spells will be more efficient and effective.
- Summer – heat
- Winter – cold
- Autumn – wind
- Spring – earth
This provides both flavour and extra game mechanics, such as monsters only appearing at night or game events triggering at midday. Holy spells being more effective during the day.
00:00 – 23:59
This provides a measure when generating monsters, objects, dungeon rooms. For example if the setting was “easy” then you wouldn’t expect to meet any “elite” monsters in the dungeon.
- tutorial – for training purposes only.
- easy – low level monsters, common objects, >95% dungeon rooms connected.
- medium – to be determined
- difficult – to be determined
- hard* – only available once you’ve completed the dungeon on difficult level.
- insane* – only available once you’ve completed the dungeon on hard level.
*note these levels are provided as in-game options assuming you’ve beaten the dungeon.
How many dungeon levels are included in this dungeon. Obviously the larger the number the more levels there are the more variety within the game.
- 3 – 99
- * = random number chosen from 5 -> 25
This provides the range or type of monsters you can expect to inhabit the dungeon the more entries the more varied the monster races will be faced by the player. This parameter controls the non-critter monsters.
This provides the range of critter-monsters present in the dungeon, typically these will inhabit the upper reaches more so than the lower levels of the dungeon.
This single monster represents who the player has to kill in order to win the “dungeon” or even the entire game. This mob will should be hand crafted and be made available to the game outside of this template.
This is the prize dropped upon killing the boss, which can be used as a game winning condition, otherwise it becomes part of the players inventory. This should be a hand crafted object and stored outside of this template.
This provides the “win” condition to beat the dungeon, this could be as simple as killing the boss or something more complicated!
- kill [boss name]
This parameter is used to define specific dungeon levels, for example dungeon level 0 could be defined as a town, and consists of pre-made types only, it is also used to specify the number of rooms in the level.
- town (fixed size of small)
- tiny – 4 -> 8
- small – 9 -> 13
- medium – 14 -> 25
- large – 26 -> 40