I am starting development of a Roguelike as a way of familiarizing myself with some development practices which I haven’t had a chance to use professionally yet.The whole project will be developed using Test-Driven Development in very short cycles. Normally Agile techniques seem like overkill for single developer projects, but a long term Roguelike generally seems to incur a significant amount of refactoring. Working with a lot of emergent behaviour also justifies heavy unit testing; there really isn’t any other way to ensure that all the interactions continue to work as expected.

Instead of writing out a bunch of requirements documentation, which would just slow me down, I will be focusing on a single goal at any given time. That goal will be summarized using a haiku. Why a haiku? I was inspired by the way that the Adams brothers use short stories to generate goals and requirements for Dwarf Fortress. I want to keep my release cycles very tight, so I wanted to limit the size of any given change. Using a constrained verse structure seems like a natural way to do it. If I can’t fit it into a haiku, it’s probably too much to do at once.

Every time I implement a verse, I will release the latest build and share the next haiku.

Verse 1:1

An empty room waits.

Only four walls and a floor.

Better than nothing.

Get Adobe Flash player

This version isn’t really a game yet. The renderer is operational, and the basic map structures are in place. A single actor is rendered along with a small room. It will be some time before we leave this room. In fact the goal of the game will be to escape the room, until there is enough meat to justify tackling dungeon generation and other large topics.

Verse 1:2

Walk across the room.

That door looks awfully nice.

I just won the game.