Narrow Parsers

northnorthThe standard interactive fiction parser is the product of decades of refinements, but in its outline and general concerns, it remains broadly similar to the suite of actions available in Adventure. For a long time, many of the assumptions about improving the parser were to do with expanding its range, getting the game to recognise a higher and higher proportion of reasonable commands that the player might type in. As people like Aaron Reed and Juhana Leinonen started to gather and report on data about how parser novices actually played, however,  the conventional wisdom shifted; the scope of commands that an inexperienced player might try was so vast that expanding the parser began to be seen as a job with severely diminishing returns. Focus shifted to teaching and to automatically catching common input mistakes, but in-game tutorials and autocorrect features were also a huge burden on the author for relatively small gains in accessibility.

The other approach was to change the fundamentals of the parser to make it easier to use. A lot of the things that have been tried are, one way or another, hybrids of parser and choice-based games; but another popular option is to cut the parser down, reducing the number of available actions. This is an approach with a long history, but it’s become a lot more popular of late, so it’s worth taking a look at what it does.

(In general, in this article I’ll mostly be considering actions, rather than synonyms for those actions. I don’t consider eliminating GET as a synonym for TAKE, or X for EXAMINE, to be a tightening of the verb set – it’s just an annoyance. Having a bunch of synonyms for an action is useful even if you’re paring down your actions.)

There are over sixty standard actions recognised as default by Inform 7. (This doesn’t count out-of-world actions like SAVE, RESTORE or UNDO, and it counts all directional movement as the same action, GO.) Many of these, by default, do nothing but print a refusal message. In most games, most of them will either never be useful, or only be useful a single time. And the standard list of Inform actions doesn’t even cover every verb which has a substantial history of use in parser!

Experienced parser players have a list of these actions internalised, and a sense of which are more likely to be appropriate to the circumstances. Avoiding guess-the-verb is largely about the author and player having a similar understanding of this, however, so being an experienced player may not help as much if the author has unusual ideas about how a particular action should be expressed. Even with shared knowledge, every parser game involves at least a little bit of a UI-learning process; even with the same vocabulary, each game has its own dialect of use.

The standard stable of parser verbs may not be very appropriate for a given game – indeed, most games probably don’t use most verbs, and use many of the rest only once or twice. JUMP, for instance, is almost never used, and players probably won’t try it unless the game suggests it very strongly. A lot of those verbs can be traps for novice authors – as a teenager, when I was making my first Grand Unfinishable Epic, I had a dramatic scene which was meant to conclude with a particularly dramatic JUMP. (None of my testers ever figured this out on their own, for some reason.) Even the more useful verbs assume a game with a particular concern with the manipulation of medium size dry goods.

A much-reduced parser is a lot simpler to communicate and learn. If nothing else, players tend to remember actions better if they use them a lot, and if you have a narrow set of actions then the player should be using all of them fairly often. This speeds up play even for experienced players: if all you have is a hammer, you know to go looking for nails. And it gives a stronger sense that the protagonist is someone who knows what they’re doing, that they’re an expert specialist rather than a struggling generalist.

Relying on a reduced set of verbs can also bring a lot of thematic focus to a game. Parser IF is fundamentally driven by player action, by game verbs, in a way that’s not necessarily the case of choice-based IF. When you’re designing a protagonist, a world, a story, a gameplay experience, it’s useful to ask: what kind of action is this story about? What kind of activity is important in this world? What does the player-character do, and how does that reflect on them? That’s true of any game, but in parser you have the opportunity to really foreground that design decision, to turn it into something that the player sees and feels. This is particularly useful if your game doesn’t concern itself much with medium size dry goods.

And for some games, the default messages that respond to these vestigial verbs might not be wanted. As a matter of tone, sometimes the Voice of Graham (really, the accumulation of many voices, stretching back to Infocom) may not be a good fit for your prose, but adding in custom responses is a bunch of work and may not make a lot of sense either.

Finally, a limited parser can reduce the amount of work that an author has to do. Anticipating everything that a player might reasonably try is part of a parser author’s job; this is an impossible thing to do perfectly, and doing a pretty good job of it can take a huge amount of work. There is a certain kind of parser tester – worth their weight in gold – whose strengths include a proclivity to think up and attempt perverse, unexpected yet completely reasonable in context actions. Limiting the parser doesn’t eliminate their shenanigans, but it does limit them.


I did a back-of-the-envelope count of verbs used in ClubFloyd transcripts a while ago. In the typical parser game, the vast bulk of well-formed, in-world actions are either movement, INVENTORY, LOOK or EXAMINE. Parser IF is centrally about walking around and looking at stuff. People talk all the time about the stereotypical parser protagonist being a kleptomaniac who will steal anything that isn’t nailed down; but more importantly, they’re a tourist who keeps anxiously checking their pockets. To be fair, TAKE is also pretty central to orthodox IF, and if you have TAKE then players generally expect DROP.

That’s baseline. That’s invisible. Which is to say, messing around with it is a bold and potentially interesting move, but not messing around with it doesn’t really make much of a statement one way or the other. It’s like tap-water in a soup; you could use white wine or coconut milk instead, but you can accomplish flavour effects just as potent by sticking with tap water and messing around with the other ingredients.

Periphery and Core

One approach to limited verb sets is to select a core suite of actions, design the game to be winnable with only those actions, strongly suggest those actions to the player, and make any other actions optional.

This is what I did in Invisible Parties; there’s a listed set of special-talent verbs which act as both inventory items and actions, and the game can be won by using just these plus INVENTORY and directions. EXAMINE and TALK TO are also fairly important for understanding the world, but you don’t need them to win; and beyond that everything is optional. The other verbs remain in place, and sometimes they offer responses; for instance, there’s a mildly complicated piece of code in there to generate random responses to the player typing swearwords. Some of them even change the state of the world a little (TOUCH, ATTACK), although they don’t really accomplish anything which couldn’t be done with the core verbs.

I went with a narrow core verb set for Parties in part because I was on a deadline, and figured that limiting player action would allow me to cover more ground with less work. I also hoped that it’d serve as a good shorthand method of characterisation, showing the lead characters in terms of what they were good at.

Games which stress a core verb set – particularly of special or unusual verbs – are nothing new; nor is restraining yourself to a small set of verbs necessary to win the game. But the approach offers a good portion of the advantages of a pared-down parser without having to make quite as many sacrifices.

Block Everything Unnecessary

Treasures of a Slaver’s KingdomS. John Ross’ consciously-pulpy take on Conan, relies upon five main commands.

Five “action commands” are the heart of the barbarian’s experience: REGARD (examine, consider), SEIZE (take into your possession), USE (make use of in some way), PARLEY WITH (converse with peaceably), and ASSAIL (do violence upon).

toask3Most of these are standard verbs (EXAMINE, TAKE, TALK TO) with some theming; the officially-approved versions of the verb suggest that particular fantasy-RPG tone that combines pseudo-medieval floweriness with awkward precision, which is precisely the tone that ToaSK is going for. (Getting the player to use your words, not just consume them, is a big part of the parser’s appeal.) The orthodox versions of the verbs still work, but presentation matters.

It’s worth stressing that ToaSK predates the current trend for cut-down parsers; rather than looking forwards, it was looking back to an era of primitive parsers. The barbarian player-character is a simple soul, and the limited verb set reflects his limited perspective on the world. He’s a specialist, not a general-purpose adventurer.

It’s worth considering the suggestive effect of lists here. Parser interactive fiction is very well-versed in the aesthetic of an inventory listing, but a verb list is pretty potent too – the goofily specific phrasings evoke the awkward wordings of games design in general and old-school fantasy RPG in particular.

This is not the complete list: ToaSK also uses the basic stable of out-of-world actions and tap-water actions. Venturing beyond these approved verbs earns you one of a variety of stern reprovals, exhorting you to check your game manual.

Gun Mute is another game which pares down the usable verb list to something quite tight. The protagonist can’t speak, so social interaction is limited to a very narrow set of actions: nodding, shaking your head, pointing, kissing, and waiting to see what happens. Most of the game is about a verb-set imported from FPS games; SHOOT, RELOAD, HIDE BEHIND, HOLSTER. It also restricts navigation to a single axis: FORWARD and BACK. (Whether through conscious imitation or convergence, many limited-parser games end up feeling like existing genres of graphical game: Dirk, Light My Way Home, portions of When Help Collides, Grandma Bethlinda’s Variety Box.)

With all this, Gun Mute‘s action set is still about nineteen commands, not counting out-of-world actions. You don’t have to cut the action list back incredibly hard to get the feel of a limited parser; more important is to really stress the core actions, and to establish a pattern of play that’s centred around them. Stressing some of the limits helps, too; Mute Lawson’s inability to speak, and the fact that he’s guided inexorably towards his goal by techno-shamanry, are major elements of the narrative.

A much stricter approach to parser-cutting shows up in Grandma Bethlinda’s Variety Box, which allows precisely four in-game commands – LOOK, EXAMINE, USE and WAIT. The effect is very much like a point-and-click game. The only real advantage that the parser offers here is as an easy-reference system – rather than have all the nouns visible on the screen at once, you can just type anything you can remember. That’s a mixed blessing, since it also means that you can forget important details a lot more easily.

The trick with restricting the parser is that you still need to leave enough flexibility to justify having a parser at all. Here’s Dan Shiovitz on Kristian Kirsfeldt’s IF Comp 2003 entry, Rape, Pillage, Galore!:

This isn’t really an IF game, despite having a prompt. Each turn you can type either >SLAY, which generates a random Arabian Nights-style fight chronicle; >LAY, which generates a random Arabian Nights-style smoochies scene; or >QUIT. I gravitated to the third option pretty quickly.

If your parser is pared down to two verbs, neither of which takes a noun, you and the parser may not have very much to offer one another, and things would probably be simpler if you went with choice-based (as with Chandler Groover’s Rape, Pillage, Makane!)

…unless you’re really concerned with negative agency, as in The Northnorth Passagein which the sense of freedom denied only works if the player feels the range of parser commands that they would like to type in if only they could stay. (It still manages to contain a guess-the-verb, just to be contrary.)

Back in 2013 I issued the Two-Word Title challenge: to make parser games that were winnable with only two verbs, which also made up the game’s title. In large part this was just a play-on-words exercise, taking advantage of the fact that a lot of English imperative verbs are also nouns, and as an imaginary-games exercise, but it did produce a number of small games – PaulS’s COCK BLOCK, Mike Snyder’s Trollface and Joey Jones’ Bus Stop. None of these are completely trivial to play, largely because their verbs all take nouns.

So, to recap, important motives for narrowing the parser include:

  • helping the player learn how to play
  • streamlining action; avoiding guess-the-verb
  • thematic focus on certain kinds of action
  • characterisation: protagonist as specialist, defined by their mode of action
  • consistent voice
  • adopting the gameplay of non-IF genres
  • making life easier for the author
  • negative agency.

The original prompt for writing this was the release of Alice Grove’s Parser Parer, a simple tool for disabling or conflating Inform 7 actions en masse. Parser Parer doesn’t add any functionality that isn’t in Inform already – you could just disable all the unnecessary actions yourself – but it’s nice to have them presented as a checklist, so that you know exactly what you’ve covered. (If I was going to add anything, it’d be to display the standard synonyms alongside each action, so that you’d know exactly what words you’ve dealt with.) [Edit: this feature has been added.]

Stay Natural

Reducing the parser defines the possibility space more tightly – and sometimes that’s exactly what you don’t want. A sense of broad and unbounded possibility is an important species of player agency, for all that it comes with some health warnings.

Emily Short, So, Do We Need This Parser Thing Anyway:

Fundamentally, however, we’ve got a bigger problem, which is that the command prompt is a lie. It tells the player “type something, and I’ll understand you.” Which it won’t.

The lie part is right – but that sense of broad and unbounded possibility is always a lie. Artists are inherently liars to some extent; the question should be about what effects of the lie we’re concerned with. (Emily was specifically thinking about outreach, in which case a broad parser is demonstrably a problem.) The main problem with the parser’s lie is that it doesn’t sit decoratively in the background, but actively invites you to test it.

So under what circumstances, and for what purposes, would you not want to cut back the parser?

The most obvious answer, I think, is a very classic style of IF: a slow-paced, lengthy game with a resourceful but inexpert protagonist and a broad sense of possibility, and action that’s varied but largely comes down to slow-burn puzzles and exploration. You may not want Nancy Drew to CLIMB over that particular fence, but she’s the sort of person who should be allowed to at least try.

A broad parser is also helpful if optional or hidden content is a big part of your game. In Aisle, Galatea and Pick Up the Phone Booth and Aisle, dreaming up unexpected-yet-reasonable things to try is a central element of the action. And adding little obscure details is an attractive element of games even if it doesn’t form the main action. This is one of the things that I miss most when I’m writing choice-based games – the ability to stuff the game with unnecessary details, odd little things for the player (but not every player) to discover. (You can do this in choice, but the main method to do it is to have the content unlocked with a very specific sequence of choices or a precise range of stats, which I find way more annoying than guess-the-verb.) I can hear a distant chorus of authors crying ‘why would I make cool stuff if most players will never see it?’ – well, that’s entirely your call.

Certain games include lateral-thinking moments or leaps of intuition which require the player to be ready to try an unexpected verb, and which would be spoiled if the player had a full verb list. These are risky, and will probably elude a substantial number of players, but for the players who do figure it out it can be a peak experience.

Finally, a parser’s scope can also be a signal of how much the game wants to engage with tradition. The parser is often thought of as a dialogue between the game and the player: “well, what do you have to say about this, game?” Perhaps the clearest example of this is with the shibboleth magic-word verbs, particularly XYZZY (one of those verbs with a long history that isn’t among the default I7 set). To type XYZZY is to directly ask a game about its attitude to IF nostalgia.

This entry was posted in interactive fiction, parser-based. Bookmark the permalink.

9 Responses to Narrow Parsers

  1. Pingback: Narrow Parsers | Jerz's Literacy Weblog

  2. Hah, and I was just about to fuss about how there’s no single flag you can set to turn off all default normal-action responses in one stroke (without also messing up more meta “actions”, IIRC). Thank heaven for Alice Grove, then! I must bookmark this.

    As far as streamlining what the parser demands/understands, it is also a thing that can be applied to “nouns”; that is to say, not implementing a bunch of separate objects to interact with, but making the “clutter of heavy bronze implements threaten[ing] to collapse acid-pitted worktable on which they rest” a piece of scenery that provides only a single examine message. But it is nice to have a nice pond or lake sometimes rather than a stream, yes.

    • I think nouns are a different bag, because they’re presented to you a lot more immediately. Yes, density of nouns is an important factor in pacing, and it’s possible that parser novices might be more accustomed to a fast-moving, Veeder-ish narrative than a slower one. But that probably depends a lot on background, and I don’t know that anybody has asked that question in a methodical way.

  3. Ludi says:


    I’m developping an multilingual IF system. Due to its complexity I’m using clicking instead of typing. The user first must click among the available items and then choose among a list of enabled actions for this object.

    However, I’m starting thinking of a halfway approach, allowing two ways of playing: the easy one (clicking on the enabled actions as said) or, showing all the allowed actions in the game (without any help of enabled actions) but with a filter box where the player will be able to type the action. So if the player is blocked could switch to the easy mode for a while.

    • It’s hard to really tell without seeing your system in action, but my general sense is that two-tiered systems are a bad idea, and you should aim at one approach to interaction and stick with it.

      Hybrid systems that allow you to switch back and forth between modes of interaction are typically kind of awkward. Quest does this quite a lot – you can either type commands parser-style, or click on noun lists and interact using drop-down menus. In practice, though, authors generally strongly prioritise one or the other, making one mode of interaction difficult and uncomfortable to use.

  4. Pingback: Weekly Links #121 « No Time To Play

  5. Pingback: IF Only: Text Adventures For People Who Hate Guessing The Verb | Game info

  6. Pingback: IF Only: Text Adventures For People Who Hate Guessing The Verb | Rock, Paper, Shotgun

  7. Pingback: Rescuing the interactive fiction parser from oblivion « No Time To Play

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 )

Twitter picture

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

Facebook photo

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

Connecting to %s