Sunday, February 12, 2012

Episode 23: Interview with David Ploog

Welcome to episode 23 of Roguelike Radio. Today we take a break from our usual schedule to interview David Ploog, former lead designer of Dungeon Crawl Stone Soup. Joining David are Ido Yehieli, Keith Burgun and Jeff Lait.

The mp3 of the podcast can be downloaded here, played in the embedded player below, or you can follow us on iTunes.

Discussion covered this week includes:
- How David got into roguelikes and into Crawl development
- Highs and lows of acting as a pure designer
- Why David gave up on development of DCSS
- Of minotaurs and mountain dwarves
- Responding to playerbases
- Differences in design between big and small roguelikes
- Several interesting anecdotes and insights from David's five years of Crawl design

This episode also features a couple of snippets of music - excerpts from Birdflesh's 'Dance on the Frozen Desert' and Threatener's 'Meth Crawl'. David was rather keen to have these in... Quoth he: "The second one was not just a gimmick -- there are some reasons why I chose it. Apart from the obvious (the 'Crawl' in the track title), there's more. To an outsider, roguelikes are (almost) as far away from 'computer game' as the noise (the genre is called grind core) is from 'music'. ... Originally, I had prepared a series of similar short pieces, which would range continuously from the bizarre/experimental (like the first tune) to the insane and mental (the second one). I love this kind of transition from normal/calm to twisted/insane. It's a reason why the Abyss is my favourite Crawl branch (together with Slime)."

We'll be back in just a few days time to return to our usual schedule with a discussion of themes and settings in roguelikes.


  1. The rune lock is an amazing idea and should go in. There is already the per-existing requirement of 3 runes for the end end game so needing at least 1 for the end game make sense.
    Also I don't know about others but I did not want Mountain Dwarf to go because I am from Bay12 and Dwarf Fortress will always be my favorite game so having the closest thing to being able to play a DF dwarf in Crawl being taken out was saddening for me.

  2. Brilliant episode. I could listen to David's ideas and anecdotes all day. Might need a part 2 to hear him hold forth on Brogue.

  3. Great episode. A couple of immediate thoughts:

    1. How do you make unexplored areas a resource for the player, so that it is worth trying to flee into them? I'm thinking not just healing based on exploring (the Desktop Dungeons model), but also the Dark Messiah style resources which get consumed as you fight - explosive barrels, spikes, traps etc.

    2. Is there a roguelike with an interesting midgame which isn't resource limited?

  4. ^ Expendable terrain features / resources would be a very nice roguelike feature, not just for the sake of encouraging fighting into the unknown, but also as a way of forcing the players constantly deeper into the dungeon (instead being able to scum already-explored levels) in order to stand a chance against respawning monsters. And they would make procedural dungeons that much more varied. Most roguelikes seem to ignore 'catch this rock pillar in an area of effect attack to collapse it and hopefully squash or trap your enemies' in favour of 'step on this random invisible tile to explode a fireball in your face' traps though ... :-/

    So much hate on healing over time. It's an entirely valid and interesting design choice so long as there's an auto-wait-until-healed-or-interupted command (no player tedium) and that using that command comes with a serious tradeoff in form of a well-implemented food (or any turn-based) clock or a serious risk such as more dangerous monsters spawning faster (and searching for you) as you cause a disturbance in any given area. If a player is able to freely wait around healing after any fight then the game is poorly designed but it's not accurate to globally blame one mechanic for it.

    Player preferences aside, there are some serious problems / design challenges with having *every* fight be meaningful and challenging. It's hard to convey a feeling of progress when you're fighting tooth-and-nail all the time forever so the endgame can feeling no different to the early game. Instead of the player feeling rewarded and excited about finally reaching deep into the dungeon it just becomes one long blur. It's hard, as a player, to stay constantly focused for long playing sessions. Throwing in a few easier fights gives the player's mind a much-needed break and makes the tense fights feel all the tenser by comparison.

    The fact that a skilled player could win every game is *really* a good thing, because otherwise you're left with dumb luck killing off characters you've invested time and effort into, which is not an enjoyable thing, especially in a game that's still as utterly brutal as DCSS is.

    Another point in favour of roguelikes having an explicit endgame and being winnable is that it promises additional content to the player at least until they've reached that point - a much more tangible reward and motivation to continue practising than simply beating your own highscore.

    IMHO ultra-rare occurances are not a great use of developer time. There's little point adding a cool feature if few people actually experience it. (Set endgame content is excluded from this because it serves as a motivation and reward for playing well.) If it's balanced and interesting, there's no reason it shouldn't occur more often and add to the fun. If it's rare because it's unbalanced, it shouldn't really be there in the first place (encouraging dumb luck over skill) and is just going to annoy the players who don't ever find it. The feeling of finding something new is nice, but of little importance in the roguelike genre compared to the far greater time you'll spend on tactical decisions within the unique combinations of already-known content. Something like uncommon vault layouts are the exception because they're quick to code, don't overly (dis)advantage the few players who do find them, but still keep experienced players on their toes by their mere existence.

    ... my ears. ;_;

  5. Thanks for the comments. Some quick replies:

    Akhier: Sorry about that. I hope you could see that the MD vs Mi decision was not out of spite (and surely had nothing to do with DF). Sentiments are non-negotiable, but our reasons were: MD flavour is Tolkien and D&D; Mi flavour is Greek; also, there's been a Mi monster already. And as some consolation, Mi got retributtal!

    Moniker: I'd love to talk about Brogue. So much brilliance there... reminds me of when I played Crawl for the first time and realised just how much that game got right. Same with Brogue.

    Andrew: 1. Good question -- part of the more general "how can we make cowardice less prevalent in roguelikes?". Something could be done... if the player is good at creating explosions, say (from consumables, so only limited), then you wouldn't want to fight monsters one on one, but rather in groups.
    2. I have no idea (but how would I, having played only four or five games in the genre). In Crawl, we've been cutting levels: Hive (4), Lair (2), Elf (2). Keeping doing this should make the game shorter and at some point the midgame will hopefully stop being as lackluster as it sometimes is right now.

    Nameless: I realised how but healing over time is when we made Crawl's tutorial. Basically, we tell the player all the time "Rest Up!". We have to do so because it is not natural. Yes, pressing the rest-all button has become second nature to us and it works -- games are not broken by heal over time. It's just that it could be a bit better. Smaller dungeons like 100 Rogues or Brogue feature get away with this, also since they have very tight food clocks. I can only repeat that I consciously added DD and Vp so as to try to circumvent heal over time within the Crawl restraints.
    Yes, nobody really wants every battle to be a boss fight, sorry if it came across like this. But the fact is that Crawl does spawn solitary goblins on D:20 -- they are pointless and even harmful (relaxing the food/piety systems, questionable story value). Yes, roadkills are one source of player gratification, and that's completely fine by me. Your first ogre is generally a challenge and it's okay to have a third and tenth lone ogre, so you can assess the progress your character made. But after that, wouldn't it be more interesting to have ogre groups?
    Winrates: It is ultimately a matter of taste (i.e. a developer/design decision). Yes, with 100% winrate a game becomes devoid of luck and a pure matter of skill. On the other hand, this seems to go against the idea of randomly generated content. Or, put in other words, the game might feel like a puzzle. Again, it's a subjective matter and different games will have different ideas about this. In my personal opinion, one should strive for a winning rate of something like 90%. (And I would be really happy if those 10% would come from all parts of the game, not just the early bits!) 90% is enough to allow streaks. But most importantly, there will still be margin left between "good" and "really good". Compare, for example, Nethack: not so terribly much skill is needed to create streaks there -- in my opinion, this means that the game is too easy, once you've learned the drill. Rephrasing, Nethack players have to jump through hoops (conduct play) in order to distinguish between "good" and "really good".
    I think you misunderstood the bit about the probability distribution. In Crawl, we happen to have a huge number of temple maps (or maps for the early portal vaults) etc. Let's say 30 temple maps for definiteness. I believe it is more interesting for the player if they're weighted a 50 for ten of them; 10 for another ten; and 1 for the remaining 10. Same for speech lines. Note that temple maps and speech lines are easy to come up with. Players do not lose content by not seeing some of them regularly; rather, they may find it intriguing to see something new (temple map, speech line) even after long play.

  6. No problem with the Dwarf thing. I know why it was removed and in my head I know it was right.

  7. Re: Popcorn enemies -
    I too agree that not every fight should be a boss fight, but each one should be interesting. In shmups, popcorn enemies are easily killed, but they're often still dangerous because they are able to attack before the player can get rid of them. I think a similar attitude might be worth investigating in roguelikes, by having enemies be glass cannons. Not in the sense of a gnome with a wand of death, but ones that can be killed in one turn but can kill you in two. Monster combinations, like having a glass cannon and a low-damage tank in the same room immediately forces you to think more tactically, while killing an enemy easily still gives you that gratification.

    Thinking further about shmups, I'm suddenly struck by the absence of delayed attack types in roguelikes. Consider, e.g., if dragon breath doesn't just zap you from across the screen; rather, it breathes an irregular wall of fire that advances one square each turn, giving you time to avoid it. You then either pick your way across the room using gaps in the fire to engage in melee, or dodge as you fire off missiles/spells. It would limit movement possibilities and would give you an alternative to the usual all-or-nothing analysis of whether to fight or flee.

    Just some thoughts.

  8. The slow attacks are something I have so wanted to do for a while. Its not just dragons breath either, a spell which creates a wall of fire which advances every turn, A fireball that hits a spot and spreads, A slow homing magic missile, and all kinds of neat affects would be so fun. I will say though that taking it too far would probably not be that fun as it would end up being a bullet hell game without the real time...
    which on second thought sounds like an interesting idea actually but whatever.

  9. Check out Unstoppable for the quintessential bullet hell roguelike. Also ToME has varying projectile speeds that can be dodged with the right movement. Enemies can do the same of course. Makes things interesting since depending on the situation you might prefer to take on opponents in open spaces instead of corridors.

    There are ways for popcorn monsters to be used as q utility for the player - blocking enemy shots for instance. On the other hand they can also block retreat or restrict you in other ways. Not everything has to be a direct threat, as long as it makes the battlefield more interesting.

  10. Hey, Crawl does have the Orb of Destruction spell! Try it out; if you cannot get it running in normal play, it's definitely worth switching to wizard mode to see it. (That's a delayed, ranged attack -- essentially a slow projectile, which also happens to travel along interesting trajectories. This makes it unsuitable for close quarters and for corridors, intentionally of course.)

    Re: popcorn monsters
    They're not per se horrible. But that lone rat stopping my autotraveling character on D:17 doesn't have to be there. If the rat happens to coexist with a lich and two dragons, it is interesting, all of a sudden -- almost a resource to be used :)

  11. My problem with autoexplore is that it destroys the feeling of the large and beautiful levels in Crawl. But I don't see how you can have large levels of this size without any speedy way of exploring it.

    IMO the NetHack forks benefit from autoexploring and there the levels fit on one screen. Even in 100 Rogues I often am a bit annoyed that I have no way of just letting the character run along a corridor until something interesting happens.

    Making the automatic stops happen more often, so that you don't have the feeling of randomly jumping around, would be a possible improvement, although taken that to the extreme would lead to something like Crawl Sprint where you no longer need autoexploring, but then you've also got a complete different kind of game.

    With the way roguelikes work (random content and encounters) you can't always make sure that every single input of the player needs a conscious and non-automatable action of the player.

    Crawl tries to cut down on the boring stuff the computer can do for you, because you can't always get rid of it (although I've often been joking on IRC that the real design goal of the DCSS DevTeam is to let the computer play and win the game without any human interaction :-)

    That's also a part of game legacy that you mentioned in the episode. You can design a game where every single action is important (for example: chess). If you start from scratch, it's possible but if you already have some code, you can't do this easily and you might even add new stuff that open some automatable actions but it also adds non-automatable actions that makes the game more interesting.

  12. Re: Ultra rare events,

    These are actually very interesting. As the community talks about these. Just seeing the whole lot of hammers in a screenshot made me smile. So I have not experienced it ingame, but it did entertain me.

    Re: popcorn monsters.

    While I think some popcorn monsters are nice, rlikes tend to go a little bit overboard at times. If you have already explored a level and run through it later to go to temple/stash/whatever, none of the spawns are dangerous. It should try to spawn some sort of revenge squads, goblins with more armor+weapons (Problem is of course, that this is also exploitable) designed to take revenge on the player. (Player uses a lot of fire spells, give the revenge squad fire res equip). Or just spawn a higher level unique, those are always 'fun'. :D

  13. Great episode. I found David's ideas all very interseting.