Archive for category Interactive Fiction

A (Graphical!) Text Adventure

Posted by on Monday, 26 March, 2012

It’s that time of year again — when Jack and I write another open-source text adventure together!

Every time we do a project like this, we try to push our own boundaries and try something new. Rover’s Day Out was our first full-length work and was our first foray into taking advantage of the deeper features of the Inform7 programming language. Our second work, Hoosegow, was an attempt to create humorous and relevant non-player characters in a constrained environment. Our third work was a quickie challenge — we wrote 95% of Lobsters on a Plane in a single day for a ‘speed’ competition.

Our fourth and latest work, Narrow Your Eyes, was written as part of a ‘tribute’ collection for the 20th anniversary of the Apollo 18 album by They Might Be Giants. There’s a short interactive fiction game written for each album track, and I suggest you go play them all!

In this game, we decided to push the boundaries of the Glulx interpreter a bit by creating a puzzle that requires graphics and utilizes sound. It sounds a bit heretical, but we assure you that there is still important textual accompaniment to the graphics portion. For this reason, the game isn’t yet playable in a web browser. You’ll need to download a suitable interpreter for your operating system: either Spatterlight for Mac, Glulxe for Windows, or Gargoyle for Linux. You can grab the game itself from our downloads page and open it with the interpreter. Once you start, don’t forget to turn on your speakers!

Another challenge this game was an attempt to write some basic artificial intelligence (AI) algorithms in the Inform 7 language. If you’ve already played the game, you can read about that in the spoiler below.

Spoiler Inside SelectShow

An Interactive Fiction Gathering

Posted by on Thursday, 25 March, 2010

I’m flying to Boston today for a dual work/fun trip. I’ll be hanging out at the local Google Cambridge office. I’ll meet with some teams. But the fun part of the trip is visiting the PAX East gaming conference that goes through the weekend. It’s a bit like Gencon, but smaller and more focused on videogames than roleplaying games.

Why PAX East? Because for the first time in the ~15 year history of the indie interactive fiction (IF) community, a large number of us are finally congregating in meatspace. Most of us only know each other from mailing lists, competition entries, game reviews, and chatting on a MUD. The fantastic Andrew Plotkin (a major technical and creative leader in the IF community) is setting up a hotel suite for people to gather in and geek out over interactive fiction. It’s not just for longstanding community members though — we’re hoping to evangelize newbies from the conference and get them excited about the genre. We’ll be demoing games, passing out CDs, coins, cards, and even doing some mini-talks.

My own schedule and agenda is deeply entwined with this event:

  • Thursday night: dinner with IF folks.
  • Friday morning: I’m giving an academic talk on the history of IF at the Google Cambridge office. I’ve given it twice before and it always is a huge success — there are a lot of closeted fans out there who show up. Interestingly, when I gave the talk in Mountain View, Don Woods (co-author of Colossal Cave Adventure) showed up to listen. And for my Cambridge talk, Marc Blank (author of Zork and co-founder of Infocom) will be in the audience. Who knew that these guys work for Google? It’s weird to give a talk on computer history when the historical figures keep showing up to listen. 🙂
  • Friday afternoon: watching a panel discussion on interactive fiction, which includes prominent community members as well some original Infocom alumni. I’ve been asked by SPAG Magazine to do some basic photojournalism and make some pictures of this event. I’ve got a new monopod to try out with my telephoto lens…
  • Friday night: the premier of GET LAMP, the new documentary on the history of Interactive Fiction! It’s done by the same guy who did that excellent documentary on 1980’s Bulletin Board Systems. Should be really fun. I’ll be taking photos of the post-screening panel discussion as well.
  • Saturday: hanging out in the IF suite. Gonna try doing the Speed IF contest with Jack, put up wall portraits of all the participants, play some games, watch some discussions.

I should also direct readers to a new website for IF virgins. If you’ve never tried interactive fiction, head on over to the Play IF site, and you’ll see that Andrew has posted a bunch of “newbie friendly” games that you can play directly in your web browser. See what it’s all about… it’s come a long long way from Zork. 🙂

Another Interactive Fiction Contest Win!

Posted by on Tuesday, 2 March, 2010

It’s old news now, but our second text adventure has won a second contest. If folks haven’t figured it out by now: our secret weapon is a secret cadre of crack beta-testers, copyeditors, and writing critique-ers. They are invaluable! You haven’t tried the game yet, you can play it in your browser right now. Type ‘help’ to see all the people who helped us out.

In other Interactive Fiction news:

  • Jack and I were recently interviewed in an IF e-zine about our history and writing process
  • Jack and I will be attending an historical meeting of all the big IF personalities at PAX East at the end of the month. I’ll be taking lots of photos, so stay tuned for stories coming out of that conference.

Another text adventure released!

Posted by on Monday, 1 February, 2010

Jack and I had great success with our first text adventure game, Rover’s Day Out. It won first place in the 2009 Interactive Fiction Competition last November. I figured we were done for a while; after 5 months of furious coding and testing, we could take a break and start brainstorming up a sequel for next summer.

But no, Jack found us another competition to get into. Just before the new year, he insisted we get going on a “one room escape-themed” game for the Casual Gameplay IF Competition. But it was due January 31st! Could we scrape together a one-room game in only 5 weeks?

Answer: yes we could, and did. But it was a bit nuts.

We spent the first week arguing about the plot and puzzles, over videoconference and in shared notes. We spent the second week actually writing the “finished transcript” that represented the final game we wanted. Jack very cleverly solicited writing feedback from at least six peers in the IF community; at least two or three were folks that hated our first game, so it gave us some great perspective on our writing style and sense of humor. For the third week: code, code, code, day and night. We then spent the last two weeks fixing bugs from beta-testers. In other words, it was the same basic development strategy we did for our first game, just compressed down to 1/5th the time.

So without further ado, head over to the Hoosegow Game Site to try out our game! This game is much smaller and quicker than Rover; it’s designed to be played in a single lunch break, rather than over many hours. We did this because the game is going to played and judged by a much more casual gameplaying audience who aren’t as familiar with the text adventure genre. We also did some old-school things, like award points for solving puzzles. 🙂

If you’d like to judge the competition, take a look at the main competition link above. You need to play at least 5 competition games for your scores to count.

Let us know how you like it!

1st Place in the Interactive Fiction Competition

Posted by on Wednesday, 18 November, 2009

Jack and I are giddy with glee, as our recently released text adventure just won 1st place in the 2009 Interactive Fiction Competition. As someone who’s been tracking the community of IF authors for 15 years, this is a bit of a fantasy come true. Most of the really accomplished, famous authors didn’t enter games this year (or released games outside the competition), thus making room for a new generation of authors. We owe the old-timers big thanks for inspiring us, writing great tools, and giving us a chance to shine!

If you haven’t played the game yet, go do so! Cuddle up with a laptop and cup of cocoa. You can get the game (and the source code too) from the main main website we set up. You can file bugs there too.

Note: My one frustration is that genre seems to have a bad reputation among gamers. The natural-language parser is mocked for being overly primitive and unfriendly to casual players. Paraphrased (from a friend):

The creature approaches!

> swing sword
What do you want to swing the sword at?

> creature
What about the creature?

> attack creature
What do you want to attack it with?

> the swod
I don't understand "swod".

> sword
What do you want to do with the sword?

I'm sorry, the creature has eaten you.

In reality, enthusiasts of text adventures consider the primitive parser to be a feature, not a bug. It expects commands of the form “verb noun” and only understands about 30 verbs. So it’s an easy interface to master; experienced players know them all by heart. If you haven’t played text adventures before, be sure to have this crib sheet with you, as it explains the sort of commands most games understand.

And now the obligatory post-mortem on the experience, taken from a post I made on the newsgroup yesterday.

  1. The methodology of “write the transcript first” really works. Emily Short mentioned this technique on her blog, and I’m here to testify. As a programmer, I’m always tempted to start fiddling in I7 in technical ways, wondering if I can implement some clever algorithm — and then later trying to figure out a way to justify its use. This is not the way to write a good game. Instead, come up with a GOOD STORY first (or partner yourself with a great writer like Jack), and write out the entire hypothetical transcript first. Think of it like a screenplay: first conceive the whole experience from the user’s point of view, and decide if it’s a good script. If it is, then worry about the implementation. (For the curious, the original transcript Jack wrote — before a single line of code existed — is over here.)
  2. Keep the player captivated at all times! We goofed by requiring too much repetition of mundane routine for the first half of the game. IF geeks and programmers generally had the patience to muddle through (or noticed the status bar changing, and were intrigued about the double-meaning of things). But at least half of the players out there — including some beta-testers — rightfully had no patience for such a thing. “Just let me do something INTERESTING already!” Many people simply weren’t able to delay gratification (or keep faith) as long as we’d hoped. Especially when you have 20 other games standing by, ready to test. Given the blog reviews, we were convinced we were headed right for the Banana of Discord. Emily’s review and Jim Aikin’s reaction were the canonical example of this. We’ve learned our lesson here.
  3. Avoid linearity. This was my fear all along, when I first read Jack’s transcript… particularly in the second half of the game. I liked the story enough to overlook it, but reviewers correctly called us out. Killing invading bots may be fun, but this still ain’t no Photopia. In the future, we need to really construct some non-linear mid-game plot flow.
  4. Write a hint system.This seems to be the most requested feature, and I was surprised. I grew up playing Infocom games, when games were supposed to take weeks to solve and ‘walkthroughs’ were expensive InvisiClues you had to mail away for. Ordering the walkthrough was a badge of shame, an admission of defeat. These days, the culture seems to have changed quite a bit. People not only expect every game to have a walkthrough, but they check it after being stuck for 10 minutes (!) Maybe that’s just the environment of the Comp (when people are in a rush to “get through” quickly and judge), but clearly an in-game hints would make the game much more accessible to a wider audience. Perhaps fewer people would have run screaming from the repetition. 🙂

New game released!

Posted by on Friday, 2 October, 2009

What did I do with my summer?

Answer: helped a friend write a new text adventure game. After extensive beta-testing on our friends, we’ve released it to the public this week and submitted it to the yearly Interactive Fiction Competition to compete against twenty-something other new games.

The whole experience was really fun. Jack normally writes brilliant D&D adventures, and bunches of us travel the country to gather once a year and play them for a day. This year Jack decided to write the adventure as a solo text-adventure concept. Emily Short has written quite a lot about methodologies for writing a text adventure, and Jack used the “transcript fully” method: he started the entire process by emailing me a complete script — that is, a hypothetical start-to-finish transcript of what the entire game would look like to somebody playing it. The plot and puzzles were fantastic, so I got excited and volunteered to help him code it.

Over the next few months, I did help with some coding, but I mostly played ‘product manager’ and ‘editor’ roles. Jack has huge ideas, and I helped him edit them down, sculpt the shape of the plot, sanity-check puzzles and assumptions, manage beta-testers. As my buddy Andre would say, “everybody needs a friend who can be an ass-filter.” I also forced us to use standard software engineering tools and discipline: a real bug tracker, version control, tagging, etc. (Writing interactive fiction is traditionally a solo sport, so I think the whole experience of applying traditional collaborative software-development processes was particularly interesting.) All of our collaboration took place (of course) on this Google Code Project. We’ve released the source to the public under a Creative Commons license; however, I don’t recommend you start reading through it until you’ve played the game first. Spoilers, you know. 🙂

To play the game:

If you’ve never played a text-adventure before, it takes a little while to get used to the paradigm and limited parser-syntax. The IFComp website has some great pointers which introduce the genre, but here are my nutshell tips:

  1. Always type commands in the imperative: “look at dog”, rather than “I want to look at the dog”. Your best bet is the form verb noun.
  2. Examine everything to get a better understanding of your surroundings and objects available to you (abbreviation is “x”, as in “x chair”)
  3. In this particular game, you can learn a lot of backstory by typing remember THING.
  4. If you’re stuck, try typing “help”.
  5. Save your game often (“save”), so you can resume progress whenever you wish (“restore”).