Aug 11

An Initial Game Design

Based on analysis of the text adventure game, and using the requirements described in my previous post, I’ve come up with my initial stab at an object-oriented design for this problem. I’ve broken down the responsibilities into four main classes: Game, Item, Location and Player. Continue reading →

Aug 11

Step Away from the Keyboard

It’s tempting to begin a project like this by hammering away at the keyboard writing code. The gratification is immediate, you can see results and feel some sense of accomplishment. This is also a good way to generate unmaintainable and fragile code. The other extreme, however, can be just as bad, that is: excessive analysis to the point where nothing ever gets built. What I intend to do is define preliminary requirements for this application that will serve as a road map for development. Without this how will we know if we’re on the right track? Continue reading →

Jul 11


I’m currently deep in research for this project 🙂 Now that I’m playing this game I’m looking at it with fresh eyes with thoughts of how it was implemented. It’s truly a clever game and the interaction is very well written. It’s clear as I play the game that a lot of thought went into the responses that are given to the player which is what makes the game so memorable.

The navigation is also quite involved, as illustrated in this partial map of the game: Continue reading →

Jul 11

You’re in a Forest

Thus begins the classic text adventure game Adventureland by Scott Adams. If you’re unfamiliar with text adventures I don’t blame you. Text adventures were popular at a time when graphics and sound for personal computers were limited and so we were left with games which required that we use our imagination (how absurd!). Gameplay would typically involve the display of a short description of the players current location, as well as exits and items that are present (and which might be useful). A prompt is displayed at which the player may enter a one or two word sentence, such as go up, or simply up. An example from the aforementioned game, Adventureland, follows: Continue reading →

Jul 11

Learning Chess: A Metaphor for Software Development

I’d never learned how to play chess, although I’d always been intrigued by the game. For some reason it had seemed inaccessible to me. Perhaps it was that when I was a child I perceived it as a game only for adults, or perhaps it just seemed too incomprehensible with the arcane rules and odd playing pieces. However, one day I was in a toy store with my son, who was seven at the time, saw a chess game and decided on a whim to buy it. It was only $3.99 and I felt there was little to lose and learning how to play might actually be a good experience for both of us. Continue reading →