Mailbag: The Unique Selling Points of Parser IF

@mattlaschneider writes: I’d love to see a series of posts geared towards people who are interested in learning to write parser IF in a post-Twine era… I could be totally off base, but I do think that parser IF has a lot to offer people who would normally otherwise be attracted to Twine.

We then had a long Twitter-thread argument about whether it was even appropriate to try to recruit people to writing parser IF, especially because I think many people who come to IF because of Twine have motives or needs for which parser IF is a terrible fit.

So let’s start with the reasons not to write parser IF, and we can come back to the question of how to write it if somehow none of my persuasions work on you.

Should I write parser IF?  To which my answer would be almost always no. Let me inflect that a little, though.

If you want to write a game that you have a reasonable prospect to sell for money, you should not write parser IF. There is a commercial IF scene that makes money, but essentially none of it is parser-based.

If you want to write something quickly and easily, you should not write parser IF.

If you want to create something that will have a large built-in audience, you should not write parser IF. Likewise if you’re hoping to get a lot of feedback on your work. This is an area I’m sad about. When I came up, in the late 90’s/early 2000s, the parser IF critical community was still very active, and a game submitted to IF Comp could look forward to dozens of responses from people very experienced in the form. Now admittedly those responses could be extremely curt or harsh if a game was perceived as not-up-to-snuff, and the definition of IF was a lot narrower than now. But an ambitious and experimental game could get a lot of really thoughtful engagement, too. That is less true now.

If you want your parents to play what you build, you should not write parser IF. (My mom plays parser IF. She introduced me to it. But lots of people find it challenging to get into, even when created by loved ones.)

If you want something to put on your portfolio that will look snappy to potential employers, or that they will even know how to play, again, do not go to parser IF.

If you’re curious about natural language processing, parser IF is still not for you. What you can learn from parser interactive fiction is how to wield tools from the 1970s for a very particular craft purpose. That’s fine. I like old things. But what you learn here doesn’t always completely translate to the modern version of that domain. (It’s not totally useless either, as I’ve found — but if this is your goal, there are more direct ways to go.)

You should write parser IF only if you have goals outside those categories. Perhaps you are nostalgic for Infocom; perhaps you think parser is just so cool; perhaps you have a game concept that really fits parser and there’s just no better place to do it. Possibly you are tickled by a medium where you can spend half your time writing responses to commands like LICK PARROT. Maybe there’s something you aspire to learn about game design that you think parser IF could teach you.

I played parser IF as a child and always wanted to write it. I would have wanted to write it even if there was no one to play what I wrote. I’ve stopped because it doesn’t serve other goals that are now more important to me, but if those considerations went away, I’d probably go back to it. I finished the last of Counterfeit Monkey next a pool in Hawaii, and The Mary Jane of Tomorrow on a hillside in Yorkshire. It’s a self-indulgence.

Okay. If that’s you, then yes, you should write parser IF.

What special things do you find a lot in parser IF that are not represented as much elsewhere in interactive fiction?

I’ve written before about the process of mapping narrative to a space, on which parser IF thrives.

Puzzle design is another. Puzzles not just as a locking mechanism to pace bits of the plot, but puzzles that explained the world and puzzles that communicated character and puzzles that required the reader really understood the plot. Games with a choice of puzzle difficulty. Dynamic hinting. Puzzle-jokes, where the solution was the punchline.

Wordplay, language games, and pieces where the manipulation of the text itself is core to the experience, or where the precise phrasing of a command matters. Linked with that, games that involve interacting with abstract concepts or other constructs that could really only be represented in text rather than through graphics. Games that noticed which words you used to refer to particular objects, and subtly changed as a result.

Exploration and easter eggs. Most hypertext and choice-based IF surface their affordances, which makes them more playable in some ways, but also means there’s less to discover. There is hypertext where the links are not explicitly marked, which reintroduces this challenge; and Texture does the interesting intermediate trick of not showing you link points until you’ve picked a verb to use. But parser IF is full of this kind of thing, games with possibilities you wouldn’t even have guessed at initially.

A particular kind of control over prose. If you’re writing for parser IF, you have to know where you’re placing every noun, because every object you name to the player is a promise of future interactivity. So you learn to be sparing and thoughtful.

A conversational push-pull exchange with the player. Ryan Veeder is expert in this. The text hints at something to do, notices when you try it, redirects you when you go the wrong way. Or, conversely, the game intentionally misleads you about its own goals, and it’s only after the fact that you realize where and how you went wrong; see various works of Adam Cadre.

Mood communicated through setting. Sometimes that’s a game where horrific foreboding comes through in every room description, or where the landscape feels inexpressibly lonely.

Extremely intricate simulation of particular tools, spaces, or objects. TADS 3 is the tool that carried this to its greatest height, with lots of abstract classes to represent concepts like “a barrier through which odors pass, but not light or sound” or “something that looks like an exit, but that you can’t actually move through.” Return to Ditch Day is a game by TADS 3’s creator that shows off some of the cooler or flashier aspects of this. And Adam Cadre has a great review of simulation being used in aid of participatory comedy in Fine-Tuned.

Do I have to use a parser to do those things?

No, you don’t. Not all of them, anyway.

Some of the wordplay and conversational interactions I just mentioned are tricky to do without textual input.

On the other hand, the spatial presentation of narrative, the detailed world model, the puzzles and exploration are possible to do in other formats. They’re simply less common for reasons of genre and available world model tools (which is to say, it takes more work to code a puzzle in Twine). All else being equal, if you can offer people an accessible format they can play in their browser and where they never have to guess the verb, you will get a lot more players than you can get from a parser IF publication.

But people have done those things with home-grown tools: for instance, Robin Johnson’s Detectiveland and Draculaland. (If you’re local and you’re interested in how he did those, we’re having a London IF Meetup May 31 that will feature him presenting his toolset.)

Screen Shot 2016-04-02 at 10.23.58 PM

Meanwhile, Glulx-compatible Vorple means you could write a world model and puzzles in Inform and surface them to the player via generated hyperlinks. Juhana will be talking about Vorple at the May 31 Meetup too.

Some ambitious writers have bolted sophisticated features onto Twine, as well. Alcyone is a QBN-style narrative system executed with a lot of code and display features on top of standard Twine, and SPY INTRIGUE does narrative node mapping as part of the play experience.

Finally, Quest provides a way to drive some or all of a parser narrative via hyperlinks. In practice, that often results in hybrid projects, but in theory one could do something that was mostly link-based.

I’ve also written before about various experiments that incorporate alternative user interfaces or change the way the parser is being used. The parser v choice and user interface categories on this site contain more articles on these topics.

I’m determined, despite your warnings. Can I learn to write parser IF?

Sure. And you don’t need me now to write you a bunch of new articles about how to do it, because people have already spent decades doing so.

This is an art form loved and developed by extremely verbose people who wrote an epic amount of instructional material, tutorials, and criticism. Inform comes with hundreds of built-in examples to help with the code perspective. Aaron Reed published an additional book as a companion to Inform. The IF Theory Reader contains a whole bunch of received wisdom from the early 2000s, and some of it is out of date, but there is a load of information in there about puzzle design, geography, writing room descriptions, characterizing protagonists, and a lot else. There are the craft discussions and postmortems linked at ifwiki, while this index points to topic-by-topic Usenet archives from about 1990 to the early 2000s.

I’ve collected a bunch of other links in my Writing IF page, and a lot of my craft articles, especially the older ones, are about parser IF craft.

I ignored your advice and I wrote some parser IF and now I am sad that I can’t get money or attention for it. Could you help?

Um. Well, honestly, probably not much. I’m so sorry. I tried to warn you. I don’t have time to cover everything people ask me to cover; long-form parser games are especially hard to budget time for.

But if you want, you can contribute to the culture of covering parser IF by writing some reviews for IFDB or opening a discussion thread on the intfiction forum.

33 thoughts on “Mailbag: The Unique Selling Points of Parser IF”

  1. For me there’s another reason to make parser games, and specifically for using Inform 7: It’s a fantastic platform for experimental games. if I just have an idea that I want to explore or play around with, as long as it’s narrative and turn-based, I’m very likely to reach for I7 as a tool.

    Using I7 cuts away 90% of the boilerplate labor associated with game development: You don’t have to think about or make UI (it’s text input), UX (it’s bad), assets (there are none). You write almost no boilerplate code; everything you write is doing work in defining mechanics, narrative, or environment. I really think more game designers should learn I7 because of its value in that role; even if the thing you make using it isn’t the final form of what you’re making. The 0 to 60 on it is just incredible compared to any other engine or game development tool.

  2. On the subject of money and a built-in audience:

    In 2010, my Hadean Lands kickstarter got 700 backers and $31000. In 2017, Bob Bates’ Thaumistry kickstarter got 1000 backers and $35000. Those numbers are basically identical! So we can say that there *is* a built-in audience for parser IF… if you’re a well-known author with a strong reputation… and it’s always going to be the same, smallish fan group. They haven’t gone away, but they haven’t gotten more numerous either — even in this modern age of IF attention.

      1. Not much of a path. One could become generally well-known as an indie game dev, and then say “Hey! I’ve decided to write a parser game!” That message would probably get out to the same fan-base that Bates and I reached. But of course such a developer would be intentionally shifting from a large (indie) audience to a small (indie-niche) audience.

        (Of the people who *have* already gotten that parser rep, they’re probably all reading this! Hi.)

  3. I think one major special appeal of parser is the ability to build in otherwise-unspecified leaps of logic that can be incredibly satisfying to discover. My go-to example is Buster Hudsons OPPOSITELY OPAL where the player character is cursed so that the spells they cast only work backward, and intuiting what the reverse of your known spells will accomplish on a room filled with potential targets (and reading the sometimes hilarious effects when they don’t work) is the joy of the game. If this had been done in a choice engine with a list of things to try, it would have been a tedious task of lawnmowering that quashed experimentation.

    Learning Inform 7 can be complicated, but it allows the author to build incredible functioning systems and physics-bending effects that aren’t always possible or easy without creative manipulation of a choice-response game system.

    1. If this had been done in a choice engine with a list of things to try, it would have been a tedious task of lawnmowering that quashed experimentation.

      I very strongly agree with this, but what I take from it is “we need a robust world model combined with a more expressive choice interface than the typical one-click hypertext” — because I really think this experience *is* doable with a choice interface, and would get so much more widely played as a result.

      1. I think Texture takes a step toward this. The variation I imagine is a verb set of toggle-buttons that an author could vary on different pages and perhaps serve as “modifiers” – If I press EXAMINE it would stay highlighted and then any word I click on the page would give the equivalent of EXAMINE [THING]. Perhaps there would be a database table of combinations that could link to specific passages or change variables as required, no matter where the word existed in the text – selecting TALK TO and PIERRE would work to bring up his conversation tree whether in chapter two or chapter five.

        Another fascinating idea was prototyped in a Quest game called _Spondre_ which didn’t highlight specific words; any text on the page could be a potential link without sticking out from the prose. Also, selecting certain words could drop down a further set of choices that would then roll back up and disappear after selected. It was extremely elegant.

        I think one issue with choice/hypertext is it triggers a weird sense of OCD (for me at least) that makes clicking the defined choices sometimes distractingly more important than reading the text.

      2. Thanks Hanon, for pointing towards Spondre. What a technical marvel. I think I will support this debate with examples as this, at Textadventures social networks. THANKS!

  4. Your “Adam Cadre” hyperlink leads to a post about your mother, with a very obnoxious little man in the comments. I’m hoping that’s an accident, and not Mr. Cadre himself?

    1. Oh, heavens, no, that is not him. Let me see about fixing the link — WordPress has been doing a very aggravating thing lately of mixing up links (or else paste isn’t working right when I go to paste URLs during blog editing…)

  5. My favorite thing about parser IF falls squarely under your Exploration category, but I think it’s worth naming explicitly: Invisible Boundaries. You can, as a player, literally never know where the boundaries are in IF beyond what the game elects to reveal. Even things like unmarked hyperlinks only restores a fraction of this, because even if the hyperlink is unmarked, it’s still part of that finite stretch of text. The possibilities in a parser-IF imaginary space are not ACTUALLY infinite, but they’re finite in a way that can never be known, and that’s the magic, for me. Invisible Boundaries.

    1. I agree, and would extend to say that parser IF can do a much better job providing an illusion of total agency and infinite possibility, as long as the author provides detailed and careful implementation and the player respects the conventions and constraints of the form.

      The major problem in my opinion is that despite the fact that choice-based fiction (in my opinion) is not capable of reaching the same maximum theoretical level of simulated possibility as parser fiction, it often does a better job in practice. It’s harder and more time-consuming with current parser fiction tooling to do a suitably complete job of implementation, and the conventions and constraints of parser fiction are more complex and unfamiliar to novice players than the familiar web browser and list selection mechanics of most choice-based fiction.

      1. One of the other issues here for me: the typical world model underlying parser IF is good at simulating certain kinds of physical interactions, but not much else. I was really excited about that for a couple of years in the late 90s (here is a slightly embarrassing, extremely antique list of things I thought were SO COOL). The reason I shifted focus is that I realized that, once you’d come up with a lot of different ways to burn, smash, open, disassemble, repaint, re-view in different lighting, etc your immediate environment, there were still only so many interesting puzzles that emerged from that, and fewer interesting narrative possibilities. I’d expended a lot of my ideas on the topic in Metamorphoses and Savoir-Faire, and a richer simulation of the effects of fire (for instance) wasn’t going to buy me many new stories to tell or novel experiences for the player.

        Meanwhile, if you want to do a simulation of, say, social causality, existing parser IF systems don’t really provide a model for that. Of course, such a world model is flexible enough to be extended to add other interaction types; it was a great place for me to prototype the conversation work that’s become the basis of a lot of my career.

        I feel, actually, like there’s a good two-part mechanics education to be gotten from a) writing parser IF, where you are focused on verbs, what your verbs will be, how to make new verbs, which objects you’re going to affect, etc.; and then also b) writing ChoiceScript, where you’re focused on which stats are thematically meaningful in this story, how the protagonist is characterized, how your relationships and other resources respond to the things you do, etc. ChoiceScript gives you only a first layer of abstraction there; you still have to hand-author every option in every node the player encounters. But that exercise of asking which features of the world are important enough to the story to track, that’s very useful.

    1. I think this is possibly a second case of WordPress’ link function Messing With Me… but I actually wrote this post some days ago and scheduled it, and I don’t actually remember what else I meant to put here. And the Anchorhead setting is also pretty lonely. So I’m going to pretend that was intentional.

  6. I’ve always enjoyed parser IF, I’ve tried writing some in the past, but I’ve never managed to finish them, I’ve enjoyed what I’ve done though and I think that’s more important than making money, one day I will finish one, I just hope there is someone left to play it by then.

  7. I’m pretty sure my love of parser IF comes from growing up obsessed with logic puzzles and discovering Adventure and Zork at the same time at 16 years old. The dynamic nature of parser IF, the “not knowing what to do” part, is for me the single coolest thing. Oddly I gravitate towards tool development now so I can develop the stories I want with the user interface I want. I tried to commercialize this hobby as everyone knows. Now this is purely a hobby and a lifelong passion. I write parser IF for no other reason than that I like story-telling in this format. Someday soon I will release a story. If anyone plays it, that will be great. But I do it purely for my own enjoyment.

  8. Emily, I found this article distressing. First, I love to write parser IF. (I am a self-taught hobby programmer.) For me, creating something close to a VR world where the “player” can wander about exploring, discovering new things, solving puzzles, and manipulating that world both directly and indirectly is one of the most fun things I do. However, what you say about the vanishing audience is exactly what I found distressing. After all, the artist creates only half the content of any work of art, the other half exists in the mind of the viewer. The question naturally arises: Is there any art without an audience? I think not. But does that mean I should abandon parser IF?

    I have tried. My experience with authoring choice-based IF has shown that it isn’t as much fun for me to author. It is like authoring a conventional one-path story, but it’s more work for the author. And, that extra work does not necessarily bring better, or more inspiring stories to the reader. But more importantly, where is the interaction between reader and world, which I view as a dialog between author and reader? Yes, it is there to some degree or other, but it’s just not up to the standard that is possible with parser IF where the illusion of being able to write anything on the command line is key to the reader’s experience. Yes, it’s quite challenging for the author to create and maintain that illusion. However, that challenge is at the heart of what keeps me writing parser IF, which I’ve decided to continue doing, even if there is but a few people in my audience, or even an audience of one.

    One final note for upcoming parser IF authors: I’ve written non-trivial games in TADS3, Inform7, and Alan3. I must say that Alan is much more approachable than the other two. And, though easier to learn and use, it’s capable of doing just about everything I’ve been able to dream up, and that is saying something. Plus, it has not been “orphaned” like many other IF authoring tools have been. It truly is a labor of love for its creator, and it shows.

    1. “…parser IF where the illusion of being able to write anything on the command line is key to the reader’s experience.”

      As you say, this is the key. There’s something powerfully synergistic about the combination of the “medium sized dry goods” world model of parser IF and the blank canvas of the command line. That this synergy has resulted mostly in an emphasis on physical / mechanical puzzles as Emily discusses in one of her comments above is a separate issue — personally I think reification offers a lot of opportunities for stories of much more diverse scope to be fruitfully mapped into the parser space.

      Lots of people have problems with the parser command line, but none of the alternatives I’ve seen in common use come close to combining the illusion of complete freedom with a simple interface mechanism. When choice-based interfaces are augmented to provide affordances beyond the one-dimensional click, they quickly become a chore to actually use. When they attempt to hide options to promote the illusion of freedom, they often either fail or else fall into the same usability trap as the command line — instead of “guess the verb” it’s “find the hotspot” or “twiddle the text”.

      Maybe these problems will be solved in the future. Certainly good progress is always being made. But I’m not convinced anything will ever supplant parser for the niche you and I are talking about — and I think there will always be an audience (however small) for experiences of that type.

    2. I’m sorry you were distressed — as I said: if you want to write it, then yes, go for it!

      Still, it’s important to me not to _mislead_ anyone about the experience they were likely to have, especially if shifting from Twine authorship to parser authorship (what the original poster asked me about).

      I’m also aware that there are a sizable proportion of Twine authors and ChoiceScript authors in particular who are looking at IF as a stepping stone into either a career writing commercial games or at the least being able to publish work as a supplemental income.

      I think as Andrew indicated above, there is still _some_ audience, and possibly the size of that audience hasn’t really even changed that much in the past ten years or so. But said audience is a) nonetheless much smaller than the audience for hypertext/choice work; b) typically too small and too disinclined to pay for their IF to support any but rare Kickstarter projects headed by known authors; and c) less likely to give feedback than it used to be.

  9. Humm… I guess my distress comes because that Emily has confirmed my darkest inner thoughts about how the IF audience has changed. Also, thanks, Andrew, for your comments. They were well thought out, and kind of inspiring. Your encouragement has meant a lot to me during the last few years.

  10. This is an excellent article and all the points thoughtful and well-made. Although….for Worldsmith, which was originally released as a commercial game, we have reached, I think, an audience that was not necessarily ‘tapped’ previously. We have had several thousand downloads and the game has been incorporated in a few bundles.

    Strangely, this has occurred, ‘despite’ a complete lack of engagement by the traditional IF community. And that’s ok. As part of the outreach, we have attempted to popularize other parser games – I would be interested to know how successful this has been, if at all.

    In general, I agree entirely with the thrust of the article. We took Mike’s game on to try and build an audience. Specifically, we’ve marketed the game outside of the trad IF community. What we don’t have is the core of discussion and community that that community has – it has been an interesting experience and one we probably won’t be repeating.

    It begs the question – is the trad IF community still even interested in parser games?


    1. The traditional IF community has never been interested in commercial parser games, outside of Hadean Lands. Textfyre, Once and Future, etc all did very poorly in the traditional IF community, probably because IF attracts people with limited funds. Why pay for games when so many great ones are free?

      I know of several very high quality parser games coming out this fall. Interest in parser games seems steady, or increasing; Coloratura and Color the Truth received the same number of ifdb ratings in the 7 months after the comp (27, although the highest of all time was 44 ratings in 7 months for Violet).

      A non-traditional parser game won the comp, but I think it won because it was really well written and packed with good content, not because it was click-only.

      As one group fades away, another comes in. There is still a path to achieving well-known status in the parser community: release at least 2 big, well received games, and some smaller ones. Ryan Veeder did it. Pacian is there. Lynnea Glasser and Steph Cherrywell are there. Sure, there was Being Andrew Plotkin, but there’s also The Veeder and Foo Foo. Emily has been and is the premier voice for IF, but Glasser is doing in-depth analyses of games from a position of authority.

      I like a small parser community; in a large commercial market, we’d end up with a situation like Choice of Games, where any serious author get a commercial release and the quality of the free games goes down sharply, and where market forces end up with largely homogenized storylines and mechanics. I love Choice of Games; they’re like summer blockbuster films. But parser games are like indie art festivals.

  11. I though we have learned something about

    “Everything I said was wrong” conference

    Joking aside I think there’s space for short pieces where the parser and the conventions don’t get in the way. Things like Her story, Aisle, Lime ergot, Take, etc. Exactly the same audience as hypertext. I think.

    1. Oh, sure! Definitely take any of my pronouncements with salt. And yeah, I think restricted-parser and some of the variants have shown a little more ability to cross over to a wider audience.

      1. nah! I was joking.

        I want to report that the second link in this paragraph is duplicated from the first one. Probably you mean So Far, but both links point to Anchorhead.

        “Mood communicated through setting. Sometimes that’s a game where horrific foreboding comes through in every room description, or where the landscape feels inexpressibly lonely.”

  12. From the complaints I have heard from fan fiction authors, including some “big name” ones, this decreasing level of detailed feedback is not confined to parser fiction. Perhaps the increasing population of the hobbies, or the internet itself, makes people less chatty? A bit like going from a cosy club house to a packed convention hall. I’ve also noticed in myself a tendency to the (false) feeling that my feedback is negligible, as another ten people will surely post nearly the same thing. Of course, if everyone thinks that…

    1. Yes, constructive comments and public discussion are pretty much always welcome to authors, in my experience, even if you think “someone else may already have said this.” I find that there is still some discussion on Twitter, but of course Twitter is a *terrible* place to build up any kind of substantial critical culture; everything said is immediately lost again, and it wasn’t allowed to go into much depth anyway.

  13. Sorry for the five-year-late comment, but I’m really thinking about this.

    “Possibly you are tickled by a medium where you can spend half your time writing responses to commands like LICK PARROT. ”

    I absolutely do. Perhaps this explains my lifelong fascination with parser IF perfectly. It might also explain why I never finish writing an actual game, but I’ve written a heck of a lot of gracious parser responses and half-finished toys for games. Sometimes I think I would need a collaborator to write an actual game, since all I want to do is write the dead-ends.

    …or “Exploration and easter eggs.” Maybe this explains it. That’s what I’m always looking for in a game (and why my other preferred computer game genres are city-builders and the like, and open-world games).

    …or maybe it’s neither of those. “…the process of mapping narrative to a space, on which parser IF thrives.” Practically everything is organized in my head in terms of maps; I visualize everything spatially. Perhaps the spatial world-model simply fits my brain?…

    Well, I’m convinced. It’s always going to be a medium I will be drawn to. I do something else for a living so I have no worries about career or money, and I’ve never cared that much about fame or recognition.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: