IFComp 2012: Transit
OK, I’ve been quiet for a while, and I still have two games from the 2012 Comp uncommented on. Ye gods, why don’t I take care of that? Spoilers follow the break.
Of the two left, Transit is the easier to comment on, because it’s always easier to complain. It’s set in a foreign airport, or possibly in a domestic airport as a foreigner, if that’s a meaningful distinction — just about our only clue to location is the presence of a McDonalds and a Starbucks in the waiting area. You’re waiting for a friend to show up, circling around through the same locations and not able to do much else because you don’t know the language. At every juncture you get a few sentences of description and a choice of where to go next, but no good reason to choose one option over another, since your only explicit goal is waiting for something you have no control over. Come to think of it, it’s a bit like Kicker, only more constrained, and — crucially — without any explicit “wait” option. To end the story, you need to perform the appropriate action, which is one that seems stupid in context: trying to go through the security check and then running away at the right moment lets you win. Running one or two nodes prior to that just gets you arrested; it is vitally important to try babbling to the guards in a language they don’t understand first.
This work was written in Twine, but it’s skinned differently from all the other Twine games we’ve seen in this Comp, with black text on a white background instead of white on black, and missing the info bar in the left column. More significantly, it doesn’t bring up a new page on each selection, instead appending the new text to the bottom of the page and greying out untaken choices, like Undum does. This is probably the best UI approach for a CYOA text of this consistency: just a sentence or two per page would look bare, but a sentence or two between choices visible on a single page is basically what you get from most parser-based IF. Unfortunately, it causes problems here. Visiting a node a second time results in scrolling the browser to the point where you encountered that node previously, rather than appending a fresh copy to the bottom. When this happens, you don’t get to change your choice; the choice you selected previously is still a hotlink that jumps straight to the text you got before, but the rest of the choices are inactive. In other words, the underlying code treats it like your choices are building up a text, rather than just updating your current state. But the content makes the opposite assumption. It doesn’t necessarily funnel the story toward a conclusion, and consequently, past a certain point, it becomes unconcludable, all the choices that could end the story passed up earlier on the page.