Sunday, December 2, 2012

Dungeon Crafting Made Easy(er)

The goal of GenMod is to do as much of the repetitive drudge work as
possible, so you can focus on high-level mod design and final tweaking. 
GenMod does not eliminate the need for hand-crafting of interiors, but it
does speed up the process. By automating room layout and basic item placement, GenMod can reduce the time it takes to create new interiors by as much as 50%.

Q: Why am I beginning this post with a quote from the description of GenMod v3.1 on Morrowind Modding History?

A: Because I've already heard enough criticism regarding random level generating programs for other games, claims that using such programs is one of the most disreputable things a modder can do.

Look people, this is what these programs are designed to do. Get over it.

Having said that in defense of GenMod, now we can talk a bit about what it can and cannot actually do...

Honestly, I wasn't going to do another post about this program and just let my previous post of one sentence and 100 screenshots stand on its own. However, some interest in this was expressed by my massive following of readers so I thought perhaps I should be a bit more verbose on the topic.

Basically, GenMod for Morrowind can quickly generate up to 100 random, consecutively-linked playable dungeon interiors using a variety of tileset, treasure container and monster themes (among other specific settings that can be adjusted by the user). All a modder really needs to do in order to play the resulting dungeon(s) is to somehow connect the new cells to the rest of Vvardenfell via either a teleport marker or a physical entrance added to an exterior cell.
As the description of the program accurately states, GenMod can significantly reduce the time it would take to create a new interior cell. However, from a more aesthetic perspective, the resulting product still needs a human touch or it will likely feel artificial when experienced in the game.

Here's an original, untouched GenMod cell:
...and here's the same cell with a few human touches made to the layout:
In terms of layout, one thing I noticed right away when looking at the original cell in the editor is that GenMod's rooms are almost always square or rectangular, but that's easily fixed by copy+pasting a few tileset pieces into less mechanical-looking shapes. Adding new rooms to a pre-generated cell and modifying the pre-existing rooms can start to feel a bit like playing TETRIS, but that's okay because I enjoy such things. Then I notice the random layout of the hallways; some rooms have multiple paths leading to them and often these hallways are parallel and thus a bit superfluous. (If I had to guess, I'd say that the program does this to ensure that no inaccessible rooms are generated off in the aether somewhere.) This also means that there are a lot of superfluous doors, which can become rather annoying for me since I always travel with at least one companion NPC and Morrowind's companion AI apparently dictates that they must jiggle the doorknob of every open door at least a dozen times before passing through the threshold. The hallways can also be corrected easily with the editor, but now one has to start giving more thought to what it will be like to actually play through the level. While I don't want the level to be totally linear from start to finish, I do want most rooms to be accessible by only one hallway. My idea is to make the exit of the level a locked door which will require the finding of a key elsewhere in the level. Which brings us to the creatures...

GenMod's default creature placement is actually pretty good, but I notice that the leveled creatures it uses are all of the level+0 variety; for an added challenge I'll throw in here and there creatures from the level+1 and level+2 lists as well. Then there's the matter of the key I mentioned above; I'm thinking that such an item should be placed in the inventory of a unique boss creature, maybe even an enemy NPC like a vampire or a necromancer, so of course I'll have to create and place those myself.

I'm not satisfied with GenMod's placement of containers and furnishings in this level; bookshelves and cupboards will be fine for levels that I'll re-populate with vampires or necromancers, but for the haunted tombs I'll want to replace such furnishings with urns, ashpits and the like. (Though I should note that the random generation of such things this time around might simply have been the result of a variable I neglected to set properly in the GUI before generating the cell.)

Finally, the generation of generic treasure like random gold is okay, but to make the levels feel like they're worth playing I'll also add some customized magic items, weapons and armor. (I sincerely doubt that anyone will be motivated to hack'n'slash their way through 100 tombs just to collect random gold, non-enchanted iron equipment and bonemeal.) While I don't know jack about quest scripting, I might even go so far as to leave some notes lying around in some of the nearby cities to tempt the player with mention of some unimaginable treasures.

So, to make a potentially long story shorter, GenMod can indeed create a decent basis for an interior cell, but as the creator of the program tells us in the description we should endeavor to take the generated cells and add as much of our own creativity to them as our ambitions will allow.

Q: "Herculine, are you really going to devote the time necessary to polish 100 randomly-generated tomb interiors to create a playable mod for a game that's ten years old?"

A: Maybe, maybe not. I've been known to produce some crazy mods like over 100 companion characters or adding a couple hundred randomly-spawned monsters to a game, but then I've also been known to --

Ooh, wait! Was that a butterfly? Shiny!


  1. No my dear, it was not a butterfly, it was a Firefly XD

    I can actually see you working on "polishing" this with the intention of completing it, but having it sit on the back burner as it were. Something you intend to tackle, but not necessarily a project you would be putting your full attention to. That said, I could be completely gorram wrong, and that would be shiny too!

    1. Yeah, the cancellation of that show was indeed an injustice.

      But as for this mod, it will likely proceed exactly as my other major mods have: I'll work on it until it starts to feel monotonous, go back to working on something else for another game until that starts feeling monotonous, go back to working on something else for another game until that starts feeling monotonous, go back to working on something else for another game until that starts feeling monotonous...

    2. I'm sorry, but could you repeat that last part... XD

      Since we have brought up the subject of a favourite television show, I found it a pleasant surprise to hear Adam Baldwin's voice (Jayne) whilst playing Mass Effect 2. It was very easy to picture him playing the part he had :)

      Have fun until the monotony sets in!

    3. Wait, Jayne is in Mass Effect 2? He is a big damn hero!! Looks like I need to take a look at the ME games after all...

      on topic:
      Does GenMod create the levels from a collection of pre-defined rooms? Is it somehow possible to alter these rooms before the level is even generated? You could add a significant amount of your own human touch to the rooms, and fix the container placement etc beforehand. But maybe the levels are generated from a few lines of code, and only the GenMod author can do that...
      Anyway, seems like a great tool. When Doom starts feeling monotonous, I'll install Morrowind, the mods you suggested (thanks again) and then I'll happily crawl through your 100 levels :)
      Hmm, imagine an alternative game start, where your new character starts at the lowest level and you have to fight your way up to the surface...

    4. It appears that all of the GenMod parameters are stored in XML documents that could be easily edited if one knows what one is doing, similar to the LUA files in Oblige, but at this point in time I'm not knowledgeable enough in the coding in either case to successfully alter them. I've also been wondering if those documents or the GenMod executable itself could be modified to function with later Gamebryo titles, though I have a suspicion that such an endeavor would require a ton of work. Probably easier just to build our own dungeons from scratch...