Thursday, March 8, 2012

Episode 26: How to Make a 7DRL

Welcome to Roguelike Radio episode 26, where we talk about How to Make a Seven Day Roguelike. Talking this episode are Darren Grey, Ido Yehieli, Jeff Lait, corremn and Joe Bradshaw.

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

Topics covered this week include:
- What is a 7DRL, and what is a successful 7DRL
- Motivations for making one
- How to make a popular and approachable 7DRL
- Keeping a narrow focus
- In-browser vs executible
- Re-using code and making use of engines and libraries
- Aesthetics and disagreements over 16 colours vs 17 million colours
- Ignoring other 7DRLers and cutting out distractions
- Work/life balance during the week and taking breaks
- Stripping out traditional features, starting from a clean slate and adding features in an interesting way
- How to stand out from the crowd and be unique/gimmicky
- Focusing on a feature, having a solid theme, and giving the game an appropriate name
- Getting the right balance and play-testing
- Scheduling polish for the last day
- What to include with a release
- Our various pet peeves in bad 7DRLs
- Bugfix releases
- What some of us are planning this year (link to Darren's multi-tabbed design doc)

Many useful links brought up:
- 7DRL 2012 page on RogueBasin
- Announcement thread on RGRD
- 7DRL Community blog
- Ideas thread on RogueTemple
- Darren's How to Make a 7DRL blog post
- How to make a roguelike in 15 steps (feel free to skip many in a 7DRL!)
- libtcod, T-Engine, Unity, Game Maker, Multimedia Fusion - all useful tools to shorten development time
- Reviews from 2009, 2010, 2011

Join us next week for a look back over some 7DRLs of Yesteryear.


  1. Sweet! I'm in this one. A bunch of guys who make awesome 7DRL's and then me. :-)

    Just checked out that Unity Engine site. It looks pretty hard core.

  2. When you mentioned strange colour choices it reminded of this site that helps you create colour palettes. I've had it recommended to me by artists and it's easier than learning colour theory.

  3. A very good episode.

    Silver sword versus +5 sword... this reminds me of a game where "better equipment will generally have a cooler name" and you had to decide whether "a flail of doom" has a cooler name than "a chainsaw of truth".

    There was some discussion whether should we continue extending the 7DRL after the challenge. On one hand the idea of 7DRL is about creating a complete game in the fixed time limit. On the other hand, the game gets better the more time we spend on it, and our goal is to create great games. These two goals seem contradictory, but in fact they are not! Completeness and extendibility are not mutually exclusive, as completeness only means that nothing is missing, not that nothing can be added. My Hydra Slayer was originally a 2DRL and was intended as a complete game by then, but then I got lots of ideas for improvements, and it is a much bigger game now.

    We could also discuss whether we should really write the 7DRLs as a part of a 7DRL challenge. :) I had an idea for a 7DRL challenge entry in October, but I could not fight the urge to try it, and released Hyperbolic Rogue as an out-of-challenge 7DRL. Got quite popular despite being mostly just a @ moving on a map, and it would have more features if I was not fighting myself. I am going to turn this @ moving on a map into something more fleshed in this challenge. Out-of-challenge 7DRLs often tend to be extremely good. I wonder whether having a good game as a part of a challenge increases its visibility or not...

    Libtcod vs Curses... I used to be against anything other than Curses (or a similar library), but now I have changed my mind. I think it is as easy to create an ASCII interface in Libtcod as in Curses, but Curses seems to do a bad job at reading the input (some keys are hard to correctly recognize on all platforms). One important feature of Curses is that it gives compatibility with lots of older software, which means, for example, that any Curses roguelike automatically can be played on an Android device via a SSH client (sharing the character between the desktop and the mobile device), provided that you know how to set up a SSH server; and that it can be played by blind people who use screen readers. However, unfortunately, you lose compatibility with newer versions of Windows. And the future versions of Libtcod will probably provide all that compatibility (I am working a bit on this myself, NotEye partially provides Libtcod with networking and a terminal output). However, since this is not ready yet, if I were working on a pure ASCII 7DRL, I think I would use a separate IO frontend which can use both Curses or Libtcod (written before the challenge starts). This way we get the best of the both worlds.

    I also think that it is cool to participate in several compatible challenges at once (a bit like Roger Zelazny, who was simultaneously asked to write a story about unicorns, a story about bars, and a story about chess, and has written the story "Unicorn Variation" about an unicorn playing chess in a bar). Creatively using resource management could make your roguelike fit the "economy" theme for the Experimental Gameplay Project, which is also about creating games in 7 days, and help to swamp this project with roguelikes.

  4. Here: Gold Sword > Silver Sword > Bronze Sword > Copper Sword > Stone Sword.

    Steel > Iron. So there you go.


  5. Lots of fun listening this week - thanks. Where can we find out more about rogue the cardlike? What about the cat game that Bradshaw talks about?

  6. So which out of Steel, Silver and Crystal is better?

  7. Cardlike was last available for download here:

    Last thread about the game on roguetemple forums:

    I know of only one roguelike with cat playing a major role except NetHack: robot finds kitten. (

  8. Inversion of control is the one with a cat which can telepathically control the adventurer:

  9. Great podcast, love you guys. It makes me feel part of a scene even though I haven't finished a roguelike game yet. As they say in Soul Calibre though, my spirit burns on! Or something like that.

    One thing though, surely it's pronounced "pref-ruh-blee" rather than "pre-fer-a-blee" ? It just grates a teensy, tiny bit! :)

  10. Ha. I'm the guy who plays with a gamepad and bugged him about the amount of keys. :p I think I've bugged several devs about it. And some have actually gone through the trouble of accommodating me like NON. The biggest thing is being able to use arrow keys and enter key to select from all in game menus and the more menus the better.

    This was a very good episode. Enjoyed it quite a bit.


  11. Just randomize material properties each game. Mwa haha.

  12. You mentioned that "Linux programmer has no respect for others", I would like to put that on its head. How come most of the games in the challenge is a) only a windows binary b) if there is source code there is no Makefile? is that not equally disrespectful to the player?

    I do not want to spend hours trying to fix some Windows programmers broken code b/c they do not have the courtesy to use "/" in paths and use "\"(Which is the escape symbol), or even worse use absolute paths...

    And wine is often not an option due to that the game uses some obscure toolkit that does relay strange calls.

    All I want is a (GNU) Makefile and a README with the information on what dependency the game uses. Or at least a x86_64 Linux Binary.

    And on flash... Totally broken half of the time.

    Just saying.

  13. Thanks for the great radio, I have a ton to learn...

  14. Don't forget to check out the Retrospectives page at Learn from those who have attempted the challenge before.