- Just wishing Nicholas, our bold programming wizard, a very Dredmor birthday. Today we unshackle him from his hole in the Code Mines and allow him all the sewer-brew he can pour into his gullet. Cheers!
Category Archives: Uncategorized
Some Recently Asked Questions
Old Business: I think I have finally banished the last of the issues to do with scaling. The game now handles any resolution we throw at it up to 1680 x 1050, and that should last us for awhile. I think we will also kill 800×600 off completely, meaning that our minimum in game resolution will now be 1024 x 768. This gives us some extra real estate on screen.
New Business: Hello, new readers from linuxgames.com – and also Reddit, apparently! In response to our recent blop of extra publicity, here are some answers to your recently asked questions:
Hi-Res Screenshots Ahoy!
Alright, Derek fixed the uploader for the weblog, so we can now put up some new, hi-res screenshots of Dungeons of Dredmor. These are running at my native monitor resolution of 1680×1050. This is still very much an alpha version of the code; liquids are still broken, item sizes are all over the map, spell sizes are hoopled, and I haven’t even begun messing with font sizes yet. More damningly, the scaling algorithm we are using chokes up on some of David’s pixel art, which does not adhere to Pixel Art Formalism and hence contains lots of colors with small delta values instead of a fixed, 8 or 16 color palette. (The art for the characters, on the other hand, was drawn by Pixel Art Formalists and is therefore Perfectly Safe.) There is an interesting trade-off to be made here: we can either fix it before or after we ship (it will be fixed – we’re all perfectionists!), but I don’t know if we will do it before Dredmor ships or as a patch afterwards. My inclination at this point is to get Dredmor out to you lovely people as soon as we have gameplay in an acceptable state, and we can fix the few visual glitches (as you can see, it still looks perfectly acceptable) post-ship. On the other hand, it really would be nice not to have to upload a massive art patch. It may also be possible that there is a code solution.
The characters look great, though, and as there is a *lot* of animation that we simply cannot redo at this stage in the game, it’s fortunate indeed that we are able to get results that look this good. I mean, look at that giant-feet-with-an-eyeball monster. Anyhow, get some fresh screenshots under the cut…
Auditions for the role of Director
We are fairly well-convinced that this is the way to go: the game is actually a lot more engaging now, the only problem is our current director thinks that rooms *literally* full of traps are a good idea without so much as a “hey, this might be a trap room” sign, so we’re working out kinks.
Also, I would currently analogize our relationship to our bug tracker with a guy with a shotgun and a horde of shambling zombies. Thankfully there’s lots of ammo and it’s a big shotgun, and he’s smoking a cigar.
How to make a malicious random number generator
Nethack players, really experienced Nethack players, know that nothing is more cruel and unusual than the Random Number Generator. It is capricious and can either grant you great powers and wisdom (I remember being astonished at finding Grayswandir on level 4 of the Dungeons) , or can instantly kill you (“An endless stream of snakes flows from the fountain! The water moccasin hits… you die…”)
As part of our ongoing work with beta testing, we discovered that users never really felt compelled or pushed forward to keep moving, or to find some sort of pace. We looked at this, and decided that our best approach would be to implement something similar to the Director system that Valve uses for Left 4 Dead. For those of you who haven’t seen this, L4D measures player “experience intensity”, and then spawns mobs or allows for cooldowns based on this information. It’s crude, but it works. We therefore decided to try lifting it, with reasonable success. If your gameplay experience is not intense enough – i.e. you’re not Having Fun, the game will ratchet up the monster spawns in your area. If you’re having too much Fun, the game will give you a breather. We also track reward in the same manner; we will spawn more rewards if you haven’t been rewarded frequently enough, or we wlil spawn a really big reward. Similarily, if you’ve been getting too many items the item supply may dry up a little.
So, yes. We really *do* have a random number generator that cares. Is this entirely in line with the Roguelike philosophy? Maybe, maybe not. At the heart of the game the spawns are still random. We simply generate the contents of a room only when it first becomes visible and bias how many items/how many monsters are in a given room, as well as the spawning of other things (new monsters spawned post level creation, quests, et cetera.) So far it’s working out well and it will be interesting to see how we proceed from here.
Braindumps
Some quickies:
- Dredmor 0.8: I have three bugs remaining to get to 0.8, and 17 in total. This is the first time I’ve been *near* the single digits camp in over a month. Exciting.
- We got a lot of web traffic recently due to David’s Goblin Camp article. It looks like it got picked up by Something Awful, a Russian website of some sort, and also the Temple of the Roguelike, who were kind enough to give us a plug on Twitter. They describe Dredmor as follows: “Dungeons of Dredmor is an upcoming graphical Roguelike with impressive style/video trailers. One to watch for!” Thanks for the praise, guys. We’ll send you some exclusive screenshots or something. This reminds me, I need to make another video trailer.
I’m particularily pleased, actually, that some of the SA folks thought we were worth checking out. I can’t say quite how much of Dredmor has been inspired by Boatmurdered, but I think that we can directly blame Boatmurdered for the fact that you can find rooms with names like “The Theatre of Cake”, as well as the ridiculous randomly generated artifact system. At one point we had runic names for artifacts too, but that… seemed to fall by the wayside a little. I’m not sure what happened to that. I might re-enable it. More interestingly, I remember the original Jeff K. nonsense from back in 2000 when I was working for Loki Software. So, yeah. Looking forward to the first Dredmor Let’s Play.
Talk, Talk, Talk
I am giving a talk on the material that I wrote about for Game Developer Magazine – plus expanded content! – tomorrow (today, I suppose – Thursday, whatever day that is) at the Vancouver Erlang Meetup Group meeting. Page here.
Abstract:
Concurrency is a thorn in the backside of modern game programming. Not only do we have to consider the interaction of concurrent processes across multiple CPU cores, but modern game development involves looking at concurrent interactions between the CPU and one or more GPUs, where parallelization and scheduling is not necessarily something that we can control. As a result, the modern game developer not only needs to wrap his brain around concurrency, but he must deal with additional issues such as vectorization and how to deal with a processor that wants to pretend that everything in the entire world is a triangle. Join Nicholas for a riveting, exciting, and horrifying look at the state of the art in concurrent thought, see why everybody might start doing functional programming in the next five years, and understand why game developers across the world are desperately ripping off the good ideas from Erlang and haphazardly reimplementing them in C++.
Hope to see you there!
Lurking
So this week has a been big for the website back-end, and my beautiful console. Wordpress 3.0 came out and has been promptly installed. I’m pretty excited about a couple of the features; the most notable of which is the ability to generate the navigation menu in the admin panel. This will help me from having to make hard edits, something I LOVE!

