The Digital DM
Here’s a crazy idea for a piece of software I just had in the shower. I’m hoping writing this down will get it out of my system and I won’t waste any time actually thinking about how to implement it. If anyone cares to steal this idea, be my guest, just tell me where to download the finished product. The inspiration for this idea comes from Delta’s recent musings on the DMG’s Appendix A: Random Dungeon Generation and Chase Bank.
You know how if you call customer support for any large-ish institution these days you end up talking to a computer? I mean literally talking, speech recognition seems to be all the rage in automated answering systems now. I hate those things, I always feel horribly self conscious knowing that I’m talking to a machine. Probably because they make you sound like a crazy person to anyone over-hearing your end of the “conversation”. Anyway, let’s put these systems to good use: let’s make them DM.
Basically, all you do is load up a randomly generated dungeon (just steal one of the many good ones out there already), and write an algorithm to have the computer describe the layout one section at a time. Have the computer know where the players are on the map, and then write an interactive system whereby the players can tell the computer where they move and the computer describes the next section. I’m envisioning an interaction like this:
COMPUTER: You are in a north/south facing corridor that extends 30 feet to the north and 20 feet to the south. At the south end it turns west. The north end extends into the darkness. A door to the east stands on the wall 10 feet to the north.
PLAYER: North 10 feet. Listen at door.
COMPUTER: You hear muffled voices.
PLAYER: Open door.
COMPUTER: Beyond the door is a 30 foot square room with doors to the west and north. Five goblins sit around a table bickering over a leg of mutton. They attack immediately.
You get the idea. The players could enter key stats at the beginning (what light sources they have, movement rate, etc.) and the computer would make rolls for things like listening at doors, searching for traps, etc. It would be a very basic dungeon crawl, at least to start. You could then add features from there, such as:
- Combat algorithms. Let the computer roll for monsters. Use Target-20 so the players just state who they attack and what they rolled, the computer then figures out if it was a hit, and if so asks for damage.
- Extra sounds. As long as our interface is audio only, let’s take it up a notch and add some sound effects. Could be anything from dungeon drips and spooky wind effects to the clatter of dice every time the DM makes a roll. And of course then you must add the randomizer that makes the DM clatter some dice every now and then for no reason other than to make the players nervous.
- Special rules. Would be nice if the computer allowed for things like sneaking thieves, invisible magic-users, etc.
It would probably still be maddening talking to the computer. “I said listen at door, not open door! No I will not roll for initiative!” Still, might be kind of fun. I especially like the idea of sitting there with a piece of graph paper trying to map out what the program describes to me. Maybe at the end it could display the map so you could see how horribly off you were.
Anyway, that’s my crazy idea for the morning. Time to go to work and write some serious code.