Dungeon Creation and Beautification

With most of the foundational art assets completed I’m shifted my focus on Dredmor toward producing content for the game. In particular I’m polishing the dungeon tilesets and creating new dungeon objects (as the game items have actually been finished for a long, long time).


Let me take a moment to explain how Dredmor tilesets work (and used to work, and how they will work). Here’s a cut from the first dungeon’s tileset:

Imagine this image is cut into 32×32 tiles; These are the basic building blocks of Dredmor’s dungeons. The bright green areas are colorkey-green, which means that those areas are transparent in the game. The short walls at the bottom with transparent parts are the bordering walls for liquids; animated liquids are drawn, then these tiles are drawn over them. You can see that there are two types of wall, one with large bricks and one with small, and two colors of floor, dark and light. The funny thing is (and confounding to me)  only the large-brick wall and dark floor are used – the multiple versions are a holdover from the old dungeon creation system. These are going to have to go, though I’ll definitely recycle the graphics somewhere or other.

In our old version of generating dungeons there were multiple wall types and floors could either be “lit” or “unlit” according to some semi-random system or other which only Nicholas knows about. (His is an arcane art.)


At some point we changed from some kind of traditionally roguelike random dungeon generation (which had varying success in Dredmor; I believe the objection was that the dungeons felt too generic) toward defining room templates in XML which are, in turn, randomly assembled into a dungeon layout.

Here’s the starting room of Dredmor:

As you can see “#”‘s are walls, “.”‘s are floors, “d” and “D” are doors. The doors may or may not be used as doors, and additional secret nooks are generated. There’s a little more to it than just this, like liquids, specially defined decoration objects, and hard-coded objects (like the Entry Staircase you see there).

Aside, I was annoyed at typing rooms out in characters that are taller than they are wide so I made a quick Python app to convert pngs to room code. Here’s the same room as an image:

This makes it much easier for me to crank out room patterns because I pretty much think in Photoshop anyway.


I mentioned special decoration objects: If you have played the Dredmor beta, you will notice that rooms all have randomly generated titles like “The Disquieting Chamber of Fruit”. Using XML definitions, we can tag dungeon decoration objects to be used in rooms with the associated word in their title. In “The Disquieting Chamber of Fruit” you would be able to find the carving of fruit you see on the right:

There are also penguins.

As I recall, we had intended the random room name generation to only apply to certain rooms, but the results were so fun that we give every room in the game its own name and the possibility for unique decorations. There is also the option, as described before with the entry stairs, to script a particular decoration objects to appear in a room template – the combination of this allows for all kinds of strange possibilities.

My job, then, is to provide sufficient graphical grist to the churning vortex of weird that shall be the Dungeons of Dredmor.

And Old Mess

This issue with how liquids bordered walls has been bugging me for over a year but I couldn’t think of how to explain it exactly to Nicholas. Then something else would always come up and I’d get distracted with drawing pictures of breadfruit or animating a pillar of living fire… Finally my aesthetic revulsion built up to the point where I just sat down and drew what I meant, as here:

It took Nicholas just a couple minutes to correct — I had a fixed .exe nine minutes after requesting the change. After so long, just like that?I should have asked for this earlier.

[Also posted to the Gaslamp Games blog.]


Tags: , , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: