Author Archives: Andrew Plotkin
As in years past, the People's Republic of Interactive Fiction is organizing a summer gathering of the IF folks of the world. If you are interested in hanging out and talking about IF, you are invited!
The weekend: September 14-15. The locale: Boston (the MIT area).
These are both great events, and I'd happily recommend coming into town to visit either one. Both on the same weekend... is logistically complicated, I confess. But it will only make the weekend more awesome!
Short update this time. Puzzle barriers implemented this month: seven. (Some, again, with multiple solutions.) Also another substantial chunk of the automatic move-around-the-map code. That has been going in slowly because it's so integrated with the puzzles -- going from one area to another usually requires a puzzle solution or two.
As I said in February, this is a weird development process, because I am implementing both the puzzles and the mechanism to bypass the puzzles. So it feels like there's no more game here then there was in January. I can start the thing up, type "ZAP-OMNI" (to mark all the puzzles as understood), then type "GO TO ANTECHAMBER" -- that's the second-hardest room to reach in the game. Zwoop. 41 lines of automated activity, and I'm in the Antechamber.
(This post is not about the definition of "game".)
Eleven years ago, I wrote a post entitled Characterizing Interactive Fiction. I wanted to put the pin in what I called "IF" and, more usefully, why I found that category to be interesting and distinct from other kinds of games.
My definition at that time -- here, I'll quote it:
A program which reveals a story (or related stories), created by an author (or authors), to a player (or players); such that the range of action available to the player is only partially known to him, and must be understood in terms of the story world; and such that the majority of important results of the player's actions are unique results, specifically created by the author to support that part of the story which the player is experiencing.
Notice that I don't say anything about a text parser, or even about text. This is because I was pointing at a structural similarity between (parser-based) text adventures and (first-person) graphical adventures.
I still find this a useful category. But it's not much of an observation these days, and designers have managed to incorporate those sorts of elements into lots of different kinds of games. (When I reworked the essay for the 2011 IF Theory Reader, I went with "a game that is controlled by textual input..." Mostly because the Myst-style adventure genre had more or less faded away.)
These days "interactive fiction" is a whole different argument. My 2002 essay relegated "those pesky CYOAs" to an end-note. That wasn't even controversial, because you could (at that time) still regard choice-based games as the genre of the simple branching plot tree -- Cave of Time on a computer. Those games that elaborated on the model did so in the direction of adding CRPG elements (potentially interesting, but not adventure-like) or by trying to become more like Zork (generally not interesting).
The taxes got done, anyhow.
If we are counting puzzle barriers, I finished... five this month. I'm counting one door twice, because walking out of that room is a different puzzle than walking into the room. Actually walking into the room is one puzzle with two solutions, but that's getting too fiddly to worry about, so let's call it five.
I consider that under par. But number two involved quite a lot of environmental coding -- yet another effect that can be applied to nearly any object in the game. (I don't mean it does something interesting to every object in the game. Trying to stay focussed here! But I still had to write a rulebook and deal with the most obvious special cases.)
I also spent some time cleaning up the verb set, and polishing parser error messages. You may recall in the teaser -- well, you probably don't recall, but I was pretty proud of this: if you type "SEARCH WORKBENCH CAREFULLY", the game replies:
I understood the command "search workbench" (that is, search the workbench); but not the word "carefully" at the end.
The Inform default error is not that specific. I had to do some hacking to get the words to quote correctly. This month I redid the hack and applied it to the current build. (It didn't transfer over exactly, because the teaser was written with an older release of Inform 7.) So, that kind of parser polishing.
That was pretty much Hadean Lands in March.
It feels short, anyway. By more of a factor than exists in reality. Stupid February.
A lot happened this month, but you read my post two weeks ago. The most interesting of course is that Heliopause is now up on the iOS App Store. But I will also repeat my plug for Versu, Emily Short's dialogue-AI project at Linden Labs. (Also on iOS, but coming for other platforms, um, not sure when.)
Also there was this extremely nifty interview with me posted at Gamasutra.
New stuff: earlier this month, I finally connected the goal-seeking part of Hadean Lands up with the map and the map puzzles. It was a very strange feeling: I started the game, typed "DOWN", and the game instantly solved the entire teaser for me. (You will recall in the old HL teaser that the primary puzzle is opening a trap-door. So now the game picks up the necessary ingredients, performs the ritual, applies it to the trap-door, opens it, and goes down.)
Of course this is in a debug environment. I actually had to type "ZAP-OMNI" first, which is the debug command to set every ritual as "known and practiced". In the final version, you'll have to, y'know, solve the puzzle yourself. The point is that the mechanism all works.
(You may also recall that teaser starts out in darkness, and the first puzzle is turning on the lights. I think I'm going to drop that stage. It doesn't really fit into the magical structure that I've developed. Also, the darkness didn't quite follow standard Inform darkness rules, so I had to write an unwieldy amount of code to make it all work right. Also, waking up in the dark? It's been done.)
(I tried to link to an online-playable version of Hitchhiker's there, but the one at the BBC has broken and the one at douglasadams.com is a Java applet. I hope you've all deactivated Java in your browers, it's hitting like two security holes a month recently. Anyway. Sad times for HHGG.)
So, beyond the sheer nervous shock of seeing several months of code actually sit up and work for the first time, HL is moving along okay. I have now implemented, let me count, ten goal barriers. Not all of these are really puzzles -- even an unlocked door counts as a goal barrier, because I have to create an "open the door" goal. Of course, that's a very simple goal to implement -- no requirements, no failures, one step. I got the unlocked ones out of the way weeks ago.
What I am finding is that I can't just implement a locked door or a puzzle with zero description. (Back in December, I thought this would be my plan.) To automate a puzzle's mechanics, I need to implement the puzzle's mechanics; but for this I need to implement the manual solution, with verbs and everything; and for that I need to actually write out the response messages. And the failure response messages for trying the wrong thing. And the descriptions of everything, so that I know the response messages make sense.
So I only have ten puzzles, or "puzzles", out of (very roughly) thirty-five on the map. But they're much nicer than I thought anything in the game environment would be at this stage. Locked doors, stuck doors, locked things-which-are-not-doors. And when I get to the end of the map, I will actually have completed a large chunk of the hard part of this thing.
...Which is not to say I will have anything playable. There will still be all the room descriptions, plus the story elements which are not puzzle-based, not to mention a long hard polishing pass to make all of this out-of-order text flow together. But moving along: yes it is.
Coming up in March: more of the map. Also, doing my taxes. Also, I hope, the release of a secret part-of-a-project which I have not yet revealed, because it is secret. (IF-related! But not a game, nor even programming; it's documentation work.)
Picking up the thread from my last post...
Versu is an engine for choice-based, conversation-focussed narrative fiction. It is currently available as an iPad app; support for more platforms is planned. Authoring tools are also planned, I believe. What you get right now is a free download with a tutorial, a short adaptation of a scene from Pride and Prejudice, and a longer ("30-45 minute") Gothic-ish story. For $5, you can buy an additional story about a polite family dinner party that turns to... well, I shouldn't spoil it, should I?
Versu is the project that Emily Short and Richard Evans have been working on for the past several years. Their team was acquired by Linden Labs, so this is coming out as a Linden project. (In later discussion, I am told that Linden just released an unrelated interactive-environment-authoring tool called Dio. Thus the perils of companies acquiring smaller companies; integration is a bitch.)
Quite by coincidence, all the IF news of the month has piled up into a 48-hour narrative train wreck. No, that's a morbid metaphor. A 48-hour Volkswagen full of news clowns? I don't think it's getting any better. Skip the metaphor.
Coming in this post: My impressions of Emily Short's Versu! My impressions of Zoe Quinn's Depression Quest! My impression of Stephen Fry! (Not really that last.) First, some news about me.
First news: Shade is up for iOS! I started this port back in the fall, as a demo for the Boston Festival of Indie Games, but it dropped off my radar. This month I shoveled the snow off of it... not that we've had much snow up here... and got it out the door.
Then I got swamped by the Mystery Hunt. This was supposed to be a weekend event. It wound up running into Monday morning. The usual rules of long weekends apply: every extra day feels like the event has doubled in length... exhausting. And I wasn't even one of the people staying overnight. (Any of the nights.)
Anyhow, my team didn't win Hunt. We did respectably, though, and had a good time -- despite the gruelingness of it all. (Not everybody did, but that's another whole long argument. Tune in next year to see how it went.)
After that: Hadean Lands! And other projects. But not ones I can talk about yet. So I'll talk about HL.
The Mystery Hunt is over, after a record-breaking 73 hours. I was pretty much out of solving juice by Saturday afternoon. Sunday night, I tried to help out with an invisible-ink puzzle, and wound up setting the puzzle on fire.
Okay, not on fire as such. It was lightly browned, but the invisible ink wasn't any browner. So much for that. Anyhow, that was my Hunt weekend. Congratulations to the winners, Team [text not available due to copyright restrictions]! Let's talk about something else. Myst news!
First: release of a new Riven for iPad app. You could already play the iPhone Riven port, but this has higher-quality graphics. (Also, as you might guess, a larger download size and another couple of dollars on the price tag.) I took screenshots, in case you feel like comparing:
(Original Riven for iOS on the left, displayed 2x to fill the iPad screen. New Riven for iPad on the right.)
If you want a more modern Riven experience, check out the new tech demo of Starry Expanse. (Mac/Win builds available.) Starry Expanse is a fan-built reimplementation of Riven using Unity. It's still very much in process -- this demo covers just a small segment of one island -- but it gives you the sense of what a true 3D RealRiven could be like. It's got a day-night cycle (highly accelerated for effect), cloud and water effects, and a circling bird. You can ride the elevator up, and even open the spinning dome (vs lbh trg gur gvzvat evtug; pyvpx gur ivrjre ohggba jura gur tbyq flzoby fcvaf cnfg).
Finally, Cyan has posted their Making of Riven video (Facebook video link, GameTrailers video link). This was included on the fancy-extra DVD release of Riven -- I don't think I ever saw it. (Still haven't, actually, as I write this.)
I say "looking back from 2013" because it's not December any more; yes, this post is late. I can offer a (small) excuse: I knew I was going to announce a (small) game on Jan 1, and I wanted to delay the post to include it.
This turned out to be a good move, because quite a few other IF items popped up around the end of the year.
First, the new game! Bigger Than You Think is not a traditional IF game; it's choice-based. Although it's not quite a traditional CYOA game either. You are presented with keywords, and you can either type them or click on them. I don't think that a click-or-type interface is really different from simple hyperlink CYOA -- nearly everyone winds up clicking, because it's easier. But the choices aren't handled in quite the normal CYOA form. I won't spoil it further; it's a short game, go take a look.
I created this piece for the annual Yuletide fanfic exchange. It's fanfic in a rather impressionist style, mind you, because the source work is a comic: Click and Drag, the really big xkcd comic from a few months ago. How does that work? Go find out.
(Inform hackers may be interested in the source code, which I have also released. It's not pretty source code, I'm afraid. I did a lot of I6 hacking to set up the hyperlink interface. Then I didn't take the time to split it out into a clean I7 extension.)
On the other side of the fence, Hadean Lands now has a map, as expected. (Not quite as of New Year's Eve; I was working on it Tuesday and Wednesday as well.) The game objects are scattered around the map, and I am mostly satisfied with how they're placed.
Puzzle barriers are not yet in place, however. December turned into the usual holiday lunacy, and I didn't get that far with making the map work. All the doors are currently unlocked. This is great for walking around and getting the feel of the place -- finally! -- but not so great for puzzle-structure progress.
Then, today, I ran into one of those snags that makes one say "dammit". (Or such other word as appropriate to upbringing, disinhibition, and/or proximity to frangible glassware.)
I am initiating this seasonal tradition here at the Gameshelf -- which may turn out to be a singleton tradition, that's always a danger, like New Year's resolutions, but we'll give it a shot, right?
Frequently I play a game and think "Hey, that was a well-designed game." It's not so often that I play a game and think "Wow, that one design element really stands out -- and I've never seen it before! Clever." So I wanted to pick out a few of my favorites from this year.
I'm not talking about featured gimmicks here. I'm talking about ideas that other games might reasonably think about adopting. Yes, Portal has a core game mechanic, it's very clever. If you use it, you're writing Portal 2. (Or Darksiders, but let's not get into that here.) There have been a spate of these core-puzzle-mechanic games -- Quantum Conundrum and Unfinished Swan were two fine examples I played in 2012. But I want to talk about the mechanics that quietly make your game better.
Behold, my choices for 2012. No doubt I'll think of another favorite tomorrow morning.
Plan for the month: get all the shortcutting code finished, before the end of the month. Result: it's 11:59 pm on November 30th. Drat! But it is finished. Pretty much finished.
Sometimes code is painful. Sometimes code don't want to be written. That is to say, sometimes you just don't wanna write it. I am no more immune to this than the next hacker. Maybe the next hacker has a better strategy, but I try to get some progress made every day, and not think about the looming mass of progress I haven't made. Eventually the looming mass shrinks, and that's what's happened this month.
Why was this painful? Just an annoying collection of cases, all of which have to be handled differently, with guards against infinite loops and other such game-creating failures. See, there are shortcuts for going places, finding objects, and creating objects. Sometimes finding an object means creating it; sometimes it means going to where it is. And then there's the distinction between checking if a goal is possible, and actually carrying out the goal. None of this is conceptually difficult, but I have to get the code structure right, which means some false starts and then rewriting once I have a clearer idea of all the requirements.
Here's a question for data-liberation people in Google. (I know some people who work for Google, but I'm not in contact with whoever can directly answer this.)
For some fifteen years, most of the online discussion about interactive fiction -- probably most of the IF discussion, period -- happened on two Usenet groups: rec.arts.int-fiction and rec.games.int-fiction.
We have archives of those discussions from 1992-1997 and some of 1999-2002. (See IFArchive directories for RAIF and RGIF.) Outside those ranges, we rely on Google and its Groups service -- as you can tell from my two links above.
Google Groups has historically been iffy about Usenet. It started by acquiring the Deja News post archive (which itself only started in 1995, and was not completely preserved). Google's Groups service was then built on top of that -- rather in the sense of a rhinoceros being built on top of an old rollerskate -- and its Usenet access dwindled in priority. Its indexing was famously gappy for many years, although Google fixed that a couple of years ago.
I could get into a long post about Google's treatment of Usenet and its long-term consequences, but that's not this post. My question: we, the IF community, would like to hold our own data here. What's the best way for me to get a complete dump of all messages posted to those two Usenet groups, ever?
Scraping through the Google Groups web interface is a way to do this, but it's not very good, for a couple of reasons. (a) Google tends to shut down automated trawlers after some number of requests. (b) I'd have to deal with an extra layer of content encoding, which is more room for encoding to go wrong. (c) I don't know if Google's indexing is really complete, even now.
So it would be way better if some nice Google person could tap it at the source and send me a tar file. Or a DVD, or a hard drive, whatever. Anybody?
Obviously there's no such thing as complete. I'll take whatever Google has, and merge it with the Archive records.
I mean all posts with either
Newsgroups:line. I also want all the crossposts, including the off-topic ones, the ones troll-crossposted to a zillion irrelevant groups, all of them. Think
I think I want spam, too. Probably. It depends on how much spam there is. (Google's index lets through a lot of spam, but maybe there's a thousand times as much which it doesn't show.) Tell me if it's horrible, we'll discuss it.
Original post file format, if possible.
My intent is to take whatever I get, ball it up, and stick it on the Archive. Then (at some point, not necessarily soon) I will go through, cull out the off-topic trolls and spam, and post it as a nice browsable web site on the Archive. Or maybe somebody else will do that part. Collect data first; massage later.
This is a one-shot request, as discussion on those newsgroups has mostly (not entirely) ceased as of a couple of years ago. A dump from beginning-of-time through this month is fine. (The community has shifted to intfiction.org these days. Archiving the web forum is a separate topic, which I also have feelers out on.)
If you can help, please comment here, or email me (firstname.lastname@example.org). Thanks.
Plan for the month: create a major new subsystem, supporting shortcut actions! Outcome: ...part of it. Sorry. This month was a "missed expectations".
What threw me off track was -- well, in part, I admit, The Fool and his Money. It came out last week, after ten years of development, and it's a heck of a game. (See my review from a couple of days ago.)
But that game was released on the 25th, so no, it didn't devour the entire month. The larger time-sucker was a series of improvements and bug fixes to the Inform 6 compiler. This is the IF development language that I started out using. (Well, really I started out using BASIC, and then got serious with Inform 5. But Inform 6 is an evolutionary improvement on Inform 5 -- it's still "the same language", whereas Inform 7 is a whole new deal.)
I6 has been largely superseded by I7, and development on it has mostly ceased, although it's still invisibly present in the I7 toolset. (The I6 compiler is I7's low-level code generator.) Nonetheless, some people still use I6 in its own right. It so happens that a couple of months ago, David Griffith picked up the thread of I6 development, and has been working on a new I6 release -- the first since 2004.
David's work required some new I6 compiler features. I've handled most of the (sporadic) I6 code work in the past few years, so I was in the best position to pick up those requests. While I was in there, I grabbed a bunch of other code cleanup I'd been meaning to do. There went the first two weeks of October.
These updates will primarily benefit I6 authors; most of them will not affect I7 authors. One exception: I added an optimization to reduce the game file size by omitting unused functions. Right off the bat this knocks 6% off the size of Hadean Lands. (The I7 compiler inserts some features that I'm not using, and is also imperfectly efficient about building support code for the classes in my code. Turns out that these total about 6% -- more for smaller I7 games.)
So, okay, this is not a crucial milestone in HL development, but it was important and I didn't want to roadblock David's work. So now it is done.
Returning to HL, I got through a chunk of the shortcut-action feature. The game can now track all the objects you find, and answer questions of the form "Where the heck did I leave X?" Not as trivial as it sounds: the answer might be "You transfigured it into Y, then hammered that into a Z, and then threw it into a furnace, so tough luck, buddy." If you type "RECALL X", the game will actually tell you all of that.
(Okay, it won't say "tough luck". That would be unkind.)
This sort of tracking is necessary, because you might type "CREATE FOO POTION" -- this being after you've learned how to make the Foo Potion and gone through the ritual at least once. So now the game is willing to do all the work for you... but it knows you need an X. Where the heck did you leave that? If X is in another room, you have to be able to get there; but if you've thrown X in a furnace, the game will have to explain why the Foo Potion is now a problem for you.
This is a fairly standard recursive-dependency problem, and it's not going to kill me. I just have to crank through it, and I have now cranked as far as "Where is X?" Cranking will continue.
I've started the next bit, the "walk to room Q (where X is)". But just like an hour ago, and only so that I can get up tomorrow morning in an already-rolling mood, rather than "Ungh, gurk, must start a major new feature, maybe after lunch." Always leave a sentence unfinished before bedtime, sort of thing.
I shall endeavor to get all the shortcutting code finished in November, and hopefully before the end of the month, so I can post a more encouraging update then. Merry Halloween.
As you are well aware, tomorrow is the second anniversary of the Hadean Lands kickstarter going live. I continue grateful to you all. While admittedly distracted by The Fool and his Money, I have taken some lessons from it. One: don't announce a release date that you can't make good on. Two: the game is finishable. No matter what anybody says. I'm really sure that it won't take me ten years.
Okay, I did my moral homily, now I'll talk about the game. It occurs to me that some of my readership may not have played The Fool's Errand.
Well... probably most of my readership here has, because my friends include a lot of Mystery Hunt types. Plus people who (like me) were already gamers when TFE came out in (oy) 1987. Plus people who played System's Twilight, my TFE homage from (gah) 1994.
So, for the rest of you! The Fool and his Money is a puzzle collection wrapped in a narrative, with more puzzles hidden in the gooey center.
It's not an adventure game. The early example of TFE played hell with my notion of what an adventure game was, because it had puzzles and text and a story just like Zork, but it... was... something else. Years of research and meditation (--playing more games) clarified the distinction: The Fool games do not present you with an explorable game world. You don't find a puzzle by looking under a rug; you find a puzzle on your screen. This is not a flaw, this is a different outlook.
I was planning on writing this blog post Friday afternoon, and cueing it up to hit the streets at 9:01 PM. But that rat Johnson has tripped me up yet again and released The Fool and His Money a day early.
My download meter says "5 min 29 sec remaining", so that's how long I have to finish this post.
I was going to make a speech about not being a sardonic smartass about this sort of thing. I guess I still want to make that point. The past seven years have been punctuated by a lot of comments from That Guy -- you know who I mean -- the Guy Who says "Ha ha, 'the fool and his money', you're the fool, Cliff Johnson stole your money, he's never going to finish the game."
If you're that person, be ashamed. Doubt is easy; I've doubted. Calling somebody a liar is also easy, but it costs more. Don't impugn someone's honesty just to make a weak pun about the game's title. That's jackassery.
(Some of my friends are That One, and I'm sorry for lecturing you about this. I think it's important to say this.)
Yes, I am a biased commentator. I am a dude who is late with a game. Nobody's called me a liar yet, but I'm sure it'll come along. It won't break my spirit. That's not the point. The point is this:
If you have been 100% confident all along that Cliff Johnson would finish his game, today you are riding high. Your game is here and you're excited to play it.
If you have been hopeful -- or even doubtful! -- that Cliff Johnson would finish his game, today you are riding high. The world has justified your hopes, or the world is brighter than you expected; you are excited to play the game.
If you have been going around telling people that Cliff Johnson would never finish his game, that he was a liar, that we were idiots to believe it -- today you are horrified. You are disappointed. You're not the smart one after all. You invested yourself in believing the worst of someone, and the world has crushed your hopes. Your soul is smaller today.
I am here to tell you that you can be better than that. Your heart can grow three sizes today. It will hurt, though. Apologies always do.
Kairo was one of the two extremely abstract first-person puzzle adventure games that excited me at PAX this spring. (Is that an acronym yet? EAFPPAG? No? No.) (The other one was Antichamber, which I'm still looking forward to.) Kairo was just released for Mac/Win, with Linux and iOS promised later this year. I grabbed it on Sunday and jumped in.
Kairo is pleasant, but quite short; I finished it in two evening play sessions. Why evening? Because the stark architectonic worlds work better with the lights off. It's not exactly a beautiful game, not like Dear Esther or the highly-rendered graphical adventures of decades past. But the author chose his style and worked the living hell out of it. With little more than rectangles, distance fog, baked shadows, a little focus-blur, and a few concrete textures, Kairo builds an impressive range of architecture -- thematically unified but not repetitive -- and invests it with a startling sense of scale.
(If I was sensible I would have posted this last night...)
I just kicked Pocket Storm 1.1 out to the App Store, and to help spread the news, I'm lowering the price to one dollar -- today only. Call it Thunderstorm Friday! (In real life it's just drizzling out there in Boston, but with technology, we can do better.)
I got the download size down below Apple's 50-meg limit, so you can install the app over 3G now. There are a handful of other small improvements. (The fade-out timer behaves more sensibly now; you can use headphone controls on PS; and I plugged in the necessary vacuum tubes for the new iPhone 5 display size.) But app size is the important change. Apparently people make impulse purchases -- who knew?
And, as before, I am donating 10% of Pocket Storm revenues to Freesound.org, because of the awesome service they provide to indie game designers and other artists. In particular, they provide CC-licensed thunderstorm noises to me! Thus far Pocket Storm has not been a huge moneymaker, but I am hoping that over time, people support it.
A month not of dramatic improvement, but of improvement regardless.
Jumping in a pool now works. Jumping into various other infelicitous environments -- details elided for spoiler reasons -- all work. You can draw metal rods into wire, and pound wire back into metal rods. There are now four different ways you can set things on fire, with different responses. Some of these behaviors support puzzles; others are just to keep the world believably fluid. (If an object is described as "dusty", and then you jump into the pool, it should stop being dusty.)
Why four different ways to set things on fire? Basically, I wrote up one set of responses for the sort of "burn X with Y" action where you hold a match to X. If you hold a match to a candle, the candle catches fire. But then I set up the retort, a glass vessel with a bunsen burner underneath. That's a different situation -- if you heat a candle in there, the candle melts. Maybe now you have a quantity of wax to play with. If you stick the candle into a kiln, it vanishes completely, poof, gone. (I'll leave the fourth as a surprise.)
All of this is a parcel of work, or four parcels, but fortunately I don't have that many cases of heat-responsive substances. (I can ignore rocks and steel tools, for example.) Each rulebook only has to cover ten or twelve cases.
Then, as I work, I think of cases that run into each other -- for example, as I was writing this post, I realized that I have one object which gets damp in water but then dries off in the kiln. I added a rule to cover that. (Most dampenable objects just incinerate in the kiln, so there's no need for a special case there.)
All game design is exponential explosion -- but if you can keep the exponent down around -0.3 or -0.4, the series sums to a finite value and the process eventually ends.
(Or, I should say, the process eventually gets into alpha-testing. That will be another whole ball of melted wax. I know I'm missing things, but the important ones will turn up over time.)
I was at the Boston Festival of Independent Games and it was pretty darn awesome.
(Photo credit to BostonIndies.)
I had Shade and Meanwhile sitting out on iPads, and people played both of them! It wasn't literally eight straight hours of IF demoing -- there were gaps -- but it's not like people ignored the IF in favor of the interactive comic, either. Several people played a significant fraction of Shade. One dedicated player ran through the whole thing. (With some nudges from me. The ending requires a certain degree of relaxed experimentation and persistence, which isn't easy to maintain in a crowded demo room.)
(Yes, I wrote down a bunch of synonyms and action phrasings that I forgot to implement back in 2000. I will add them to the game when the iOS version comes out. User testing!)
Naturally I had a stack of IF cards to hand out to Shade players. I also got to show off the XYZZY Award I won for it, way back. And the puzzle-key I designed for the MakerBot promo game. (In the photo, the puzzle-key is sitting on top of the XYZZY. Sorry, I would have arranged that better if I'd known. Also I'd have been looking at the camera.)
Meanwhile was also popular, of course. It demos very well -- hand it to someone, and they'll get the idea instantly.
(I also had Pocket Storm running on an iPod. You can see the headphones in the photo, but nobody picked them up. Oh well. The good news is, I now know that an iPod can run PS for eight hours without recharging, even with the screen set to stay lit.)