Making Code Speak

A weblog of tools, techniques, styles and habits for programming with fluency.

A Coding Exercise: Seven Days of Haskell Roguelikes


To improve my skills, and learn new ones, I periodically do small coding exercises. Sometimes I’ll write a little application or script. Sometimes I’ll follow a set of style constraints, like Object Calisthenics. Sometimes I’ll solve the same problem again and again, such as the Game of Life.

The exercises I have been using have mostly gotten a bit stale, so I feel like it’s time for a new one. And since I’m experimenting with blogging, I may as well do it in public!

The Challenge

Inspired by the 7DRL Challenge, my plan is sheer elegance in its simplicity: I will release a simple roguelike game, written in Haskell, every day for the next week.


When planning an exercise like this, it’s worth considering what you hope to gain from it. In this case, I’ve got three big goals:

The Tentative Plan

I’ll probably start very tiny: acceptable first releases for me would include navigating your character around the screen, navigating left and write on a single line (a 1D Roguelike!), or, if I’m having a really tough time, just clearing the screen. I’ll try to do a mini-retrospective after each release to consider what I’ve learned. On Wednesday, Friday, and Monday I’ll also try to post something here, and in the mean time folks are welcome to follow along on the Git repository. At the end, I’ll back up, consider what I’ve learned over the course of the week, and decide whether I recommend the exercise to others.

And with that, I’m off to write some games!

posted by Moss on 03 February 2014