Working Title: Satisfaction

I’m starting to settle into my new home office. There are boxes and cables everywhere, but at least I have a desk to work from. Time to get back to actual work again.

For the past month, I have made virtually zero progress on my Interactive Fiction game. I could blame this on the stress of moving across the country while simultaneously negotiating building plans for our summer house, and then having relatives visiting the new house over easter, but I won’t. Let’s just say I need a little ignition to get going again, and I’m hoping blogging about it a bit will help.

When I first concieved the idea for the game I thought I’d be done in a day, or a weekend at most. That was back in January, and I think I might be halfway to an alpha version now. Obviously, it took a whole lot longer than I expected, mostly because I was learning Inform 7 and designing the game world at the same time as coding. One thing I did do right though, was actually writing a simple design document before I started. It had a short synopsis describing the game flow and central mechanics, and a section for each important person in the game. Nailing down names, titles, and backgrounds of the characters really helped things later on.

The games is divided into short chapters, with the viewpoint alternating between two playable characters. I want the player to feel like she’s participating in a story rather than trying to beat a game, so there are no obvious puzzles to solve. In fact, right now most of the game can be played just by moving between rooms, and waiting at the correct places. I’m considering using the subtitle A Short Story About Inevitability, but we’ll see.

Much of the plot revolves around discovering things about the player characters, either by exploring or by having conversations with NPCs. Even though the player is largely swept along for the ride, his actions do have consequences for the ending of the game. There are several different outcomes, even though they may not be obvious.

There are two things I’m doing to invite re-play of the game. First, I’m trying to pace it so that the player will never be able to get the whole picture in the first play-through. The challenge here is making the player feel intrigued rather than annoyed, and there’s a cetain risk this will backfire. Second, this will be a short game that can probably be finished within the hour.

As I mentioned earlier, I want this to feel like a proper story. This means that the player should be able to behave like she would in real life, and expect a reasonable outcome. It also means that I have to deal with certain IF staples in creative ways. For example, realism dictates that there should be certain props (like a sideboard with a tea kettle and some breakfast on a sideboard in the Dining Romm) in the game. I want the player to be able to pick up and interact with these objects, but not carry them around the house (which would spoil the overall tone of the story). Thus, I created a mechanism for handling unimportant items:

Chapter - Non-essential props

Things can be unimportant.

A room has an object called the resting place.

Carry out going when the player has an unimportant thing:
let the resting place be the resting place of the location;
let the inessentials be the list of unimportant things carried by the player;
repeat with the inessential running through the inessentials:
if the resting place is a supporter:
try silently putting the inessential on the resting place;
otherwise if the resting place is a container and the resting place is open:
try silently inserting the inessential into the resting place;
otherwise:
try silently dropping the inessential;
if the resting place is a supporter:
say
"You put the
[the inessentials]
back on
[the resting place]
."
;
otherwise if the resting place is a container:
say
"You put the
[the inessentials]
back in
[the resting place]
."
;
otherwise:
say
"You leave the
[the inessentials]
in
[the printed name of the location in lower case]
."

This rule ensures that an item that is declared unimportant the player will drop it before leaving the room. To make it a bit more realistic, you can name a container or supporter a resting place (for want of a better name) for each room. Unimportant objects will then be put back on the supporter or back into the container.

This is the (somewhat abridged) description of my Dining Room:

Section - Dining Room

The sideboard is a fixed in place supporter in Dining Room.
"Along one of the walls is a grand old sideboard crafted out of solid oak. Conveniently placed on it is
[a list of things on the sideboard]
."
The resting place of Dining Room is the sideboard.

The silver kettle is on the sideboard.

The kettle contains the tea. The description of the tea is
"Smells like Earl Grey."
The indefinite article of the tea is
"some"
.

Some breakfast is on the sideboard.
"It seems Watkins has prepared some cucumber sandwiches for you. Just as good, you sincerely doubt you'd be able to eat a full breakfast right now."
The breakfast is edible.

The kettle and breakfast are unimportant.

And this is how it plays:

Dining Room
Along one of the walls is a grand old sideboard crafted out of solid oak. 
Conveniently placed on it is a silver kettle, some breakfast, some china and a 
crystal decanter.

>take kettle
Taken.

>take breakfast
Taken.

>i
You are carrying:
  some breakfast
  a silver kettle
    some tea
  a candle (providing light)
  some clothes (being worn)

>w
You put the breakfast and silver kettle back on the sideboard.

[New room description snipped]

Allright, I should stop now. I just realized I spent an hour on this post instead of actually working on the darn game. See ya next time!