26
Feb 12

Ruby: First Impressions

As a initiate into the world of Ruby, and as someone coming from a C++ / C# background, I thought I’d jot down some of my initial observations of the Ruby language that I’ve gleaned so far from reading Michael Hartl’s Ruby on Rails Tutorial. As I progress further into my understanding of Ruby and get familiar with the syntax it’s very likely that I’ll forget what initially struck me as peculiar and interesting about Ruby. At that point everything will have become obvious to me and I won’t be able to fathom how it could ever have been done differently. But for now, here goes my initial reactions to Ruby: Continue reading →


23
Feb 12

3.times { puts “go!” }

I’d been meaning to learn Ruby on Rails for quite some time now, but hadn’t committed myself. I’d heard so much about the beauty of the Ruby language and the power of Ruby on Rails that I wanted to find out what made this language so special. The impetus to finally begin learning Ruby on Rails came while browsing Hacker News one day a few weeks ago. I saw a posting for a free online course Programming for the Web with Ruby. On a whim I signed up for the course and began working through the lessons. Continue reading →


06
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 →


05
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 →


26
Jul 11

Research

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 →


22
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 →


21
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 →