Islands Far Away Post-Mortem

I had just done a ton of art on mini-17, so I just kinda wanted to stay away from anything too art intensive. I had actually started to prepare a C++ engine using Gosu that I was planning to use for the competition. But then a new “real money” opportunity looked like it was going to prevent me from having the time to enter the contest at all. When that fell through at the last minute, with my c++ engine incomplete, and my lack of interest in doing anything with artwork this time around, I suddenly decided this would be the perfect opportunity to try to make my first interactive fiction game.

I was several hours late on Friday when I went online to see what the theme was. Clearly from the posts, most people seemed to hate the selected theme. That gave me the idea all at once of what my work should be about. I would make a game about a programmer trying to make a game about islands in this competition. I wanted to limit it to about one room to keep the game finishable, and so this idea seemed feasible.

I had no problem getting started. Inform 7 is a natural language. If you’ve never heard of a “natural language”, it is pretty amazing to say the least. You actually write the program in what is more or less normal sentences. For example, this is the description of a room:

‘The kitchen is a room. Southwest of the kitchen is the closet. The description of the kitchen is “This kitchen looks like it’s never been used.”. There is an oven in the kitchen. There is a turkey on the oven. The turkey is a portable thing. The description of the turkey is, “It looks frozen solid.”‘

Well, you get the idea, that is actually good code that will compile (maybe, not tested).

So doing all the descriptions and the text was easy, but going beyond that to do anything interesting took a ton of work. Every time I wanted to do something non trivial, I would have to search through all of the documentation and examples looking for a clue on how to do something. The language is incredibly powerful, but I was running into problems all the time where I would word something slightly different than the parser would allow and then the program wouldn’t work (funny, kind of just like the game itself). But I started to figure out the use of the language, using if and case statements (natural language versions) and how the language is actually pythonesque. I started to understand supporters and containers, how to create variables, the use of time, etc. For example, you might say something like this:

The turkey is a portable thing. The turkey is frozen, raw or cooked.

Instead of eating the turkey:
If the turkey is frozen:
say “You break a tooth off trying to dig into it.”;
Otherwise if the turkey is raw:
say “What are you, a werewolf?”;
Otherwise:
say “Yum, that turkey tasted just like chicken!”.

So after a while, and I had gotten more familiar with it, it became a lot easier, but I didn’t have time to go back and really fix some of the stuff I had done in the beginning that was essentially broken.

What I liked about making an interactive fiction game:

1. I got to tell a story, and actually I think it came together pretty well at the end. I think the storytelling aspect of games is perhaps what I enjoy the most about making them.

2. I never felt like I wasn’t going to be able to finish. There are contests where you try to make an interactive fiction game in 2 hours and the results are impressive. If I had known at all what I was doing, I could have probably done it easily in 8 hours or less. As it was, it took about 20 hours total with all the research I had to do. And also, I really could have cut it off and put in a forced ending if I didn’t have time to finish, so I was never really worried about not finishing the game for once.

3. No graphics and audio. Oh man, usually I spent so much time fiddling with art and stuff. I have probably spent 2/3 of the time of my last two projects on art. And I spent time trying to create musical scores and sound effects, though that was probably never more than a few hours for each game. It was really nice not to have to delve into that stuff and all the tools required to do something.

4. My entry was actually socially relevant. It touched on a hot topic regarding Apple’s decision to ban Middleware. It is kinda fun to think that the game is putting itself in the conversation of something important, even if it’s only satire.

Can’t wait till the next contest it was so fun!

My Entry
Islands Far Away