Writing Novice-friendly Parser Games

On Twitter, a teacher asked me what to tell her students about writing parser games that can be picked up and played by anyone, and therefore will make good portfolio pieces.

This is, in my view, a lot to ask, but there are two basic schools of thinking that people have pursued: the maximalist and the minimalist. (Terminology inspired by A. DeNiro talking about “new minimalism” recently.)

Maximalist: You start by asking if the player has played IF before. (Do not ask if they want a tutorial: they may say no even if they need it.) If they haven’t, give the player a tutorial. Alternatively, thread a mandatory tutorial into your first scene that at a minimum introduces examining, taking, dropping, checking inventory, movement, opening and closing things, and probably instructions on how to save and restore.

Throughout the game, you highlight keywords in output to help them find nouns that they can interact with; ideally, you provide dynamic hints and other features that will help them get un-stuck. You might even provide a suggestions mechanism to identify viable commands.

You might put in parser features that notice if players are trying to use common-but-wrong grammar, such as adverbs or attempts to include their body parts in commands (HIT DOOR WITH FIST, e.g.).

This discussion thread gets into some recent thinking about the maximalist approach.

Examples of the maximalist approach: Bronze, Blue Lacuna. Aaron Reed’s Small Kindnesses extension for Inform and his Player Experience Upgrade implement a lot of these features. These are based on Aaron’s extensive research into transcripting and first player encounters with games.

Minimalist: Instead of trying to make the player comfortable with the full expressive range and genre standards of parser IF, you’re making your game straightforward enough and well enough signaled that they don’t need to understand all that. This is solving the problem through design rather than through implementation, and it is absolutely what I would recommend to students on a short project.

Start by restricting your verb set. Pick just a handful of verbs that are going to work in this context and disable everything else.

Announce your verbs clearly at the beginning, and/or keep them on-screen the whole time. Make sure those verbs are amply implemented and always provide some result for the player: you want to make up for the limited inputs by making sure the player’s experience with those inputs is always juicy.

It may again be useful to highlight interesting nouns in the text as well.

Examples of the minimalist approach: What Fuwa Bansaku Found, Superluminal Vagrant Twin, Treasures of a Slaver’s Kingdom, You Can’t See Any Such Thing. In general, Chandler Groover and CEJ Pacian are particularly prolific in this area.

Orthogonal to the Maximalist/Minimalist choice is the question of allure — how do you make the parser game look good on screen so that people will perceive it to have value?

And there, unfortunately, Inform is lagging hard behind Twine and other options. If you have a game you can compile in a small enough space for the Z-machine, you can build a game that cooperates with Vorple, at which point you have the resources of Javascript at your disposal and can more or less do whatever you want. You Can’t See Any Such Thing is using Vorple, and so is Guilded Youth. Recent versions of Inform struggle extremely to fit anything into the Z-machine size, though — you have to disable features to get even the most default game to be small enough — so in that case it’s more a matter of using Quixe and then trying to make the stylesheet as elegant as possible. Superluminal Vagrant Twin demonstrates some effort in this direction.

12 thoughts on “Writing Novice-friendly Parser Games”

  1. You mention a “mandatory tutorial” but I think the state of the art is an “opt-out tutorial” where the game says, “you can type TUTORIAL OFF to turn off tutorial mode.”

    I don’t know whether this is “maximalist” or “minimalist,” but I strongly recommend allowing noun-only commands (in addition to highlighting nouns worth trying). Blue Lacuna does this, as well as Simon Christiansen’s games (PataNoir, Death off the Cuff) and a number of others on your list of both maximalist and minimalist games; IMO, it’s a big help.

    1. I think the state of the art is an “opt-out tutorial” where the game says, “you can type TUTORIAL OFF to turn off tutorial mode.”

      Fair — or rather, it’s probably reasonable to do that, failing the even better but much harder trick that is “make your prologue teach what you want to teach so elegantly that no one realizes it’s a tutorial or forms the desire to opt out.” (Though it’s not in the parser space, I think of Ice-Bound Concordance.)

  2. I think there might also be room for an in-between approach. I’ve recommended Gun Mute (Pacian=minimalist) a couple of times to newbies, and it seems to work well, but I’ve also used Lost Pig. It’s not quite minimalist: it’s got a full verb set, a fully explorable map, standard-ish puzzles, and a typical setting, but it’s also small enough that you can hold the map in your head, is very good about gating the player’s options at the beginning to teach them how to play, and presents a compact, polished, and clever experience. My young kids had a great time with Lost Pig.

    1. I’d still consider Lost Pig maximalist (on this metric), because it’s solving the player experience problem by doing as much as possible for the player. You’re right that it probably does help that it’s small in scope, so it’s applying some design constraints as well. (I’ve also had a fair amount of luck with newcomers and Aisle, but that’s a sufficiently unusual solution that I hesitate to recommend it as a general-purpose approach.)

      1. I’ve often heard Lost Pig recommended for newbies, but I’m not sure I understand why. Lost Pig has no tutorial except an invitation to type “HELP” and operate a menu. It also has some fairly tricky puzzles for anyone not already used to playing IF, including a number of guess-the-verb puzzles (lbh unir gb “oybj va ghor,” “fgnaq ba punve” naq “svyy ung jvgu jngre”) that forced me to open the hints. (I guess it does have hints, so.)

        Is it just the story content of Lost Pig that makes it recommendable to newbies? A fairy-tale setting, an adorably “dumb” protagonist, and a kid-friendly plot?

      2. > I’ve often heard Lost Pig recommended for newbies, but I’m not sure I understand why

        I wouldn’t recommend for someone brand-new to IF to try to solve on their own. (I’d go the minimalist route for that.) It worked for my kids because I could stand behind them and help them. I think it does three things well for introductory parser stuff though:
        1) It gates progress. The first puzzle can only be solved in one way, and you can’t do anything until you solve that puzzle. This allows the player to initially grapple only with the parser, without having to deal with geography or multiple puzzles. There’s a bunch that gets communicated with that first puzzle: looking for detail in descriptions, the structure of parser responses, directionality, etc
        2) It provides a (retrospectively obvious) narrative justification for the parser’s limitations. This is more important than it might seem to a veteran. And once you get used to typing like Grunk, it’s a skill that carries over.
        3) I’ll confess that I hate mapping. I like the idea of a large game-space, but I hate having to take my hands away from the keyboard to jot down notes on graph paper. It ruins immersion and showcases one of the worst (unavoidable) features of traditional parser games: the sense of space as a connected series of boxes. Some games get around this by being logically laid out: Bronze and Varicella are both fairly large, but you don’t need a map because they have a rectangular geometry and the layout makes contextual sense. Lost Pig takes the easier route of just having a small space. I think a putative beginner game with a large geography (cough, cough The Dreamhold, cough) is a huge ask, since mapping is another separate skill set beyond the parser and puzzle solving and reading for clues, etc.

      3. Lost Pig has a really solid depth of implementation (for setting pants on fire, etc). So it works *really well* for a group which is *mostly* IF newcomers plus a few people who get the parser thing.

      4. > I’ve often heard Lost Pig recommended for newbies, but I’m not sure I understand why

        “Lost Pig” has one huge advantage for us non-native English speakers: understanding Grunk is extremely easy. I guess the game even boosts self-confidence in those whose English is far from perfect – when they think “Hey, I see where he makes mistakes; I know how to say these things right.”

        I used “Lost Pig” to introduce my friend to parser IF – the language barrier was the main obstacle. We played together making alternate moves (with me mostly doing things like EAT PANTS) – and it went swimmingly.

        And I learned to appreciate Grunk as a narrator even more after playing “Down, the Serpent and the Sun” recently. The writing was… well… painful.

      5. > Lost Pig has a really solid depth of implementation (for setting pants on fire, etc). So it works *really well* for a group which is *mostly* IF newcomers plus a few people who get the parser thing.

        That makes perfect sense.

        > I think a putative beginner game with a large geography (cough, cough The Dreamhold, cough) is a huge ask

        Dreamhold for iOS has an in-game automatic map, which is a big help.

  3. It seems simply a matter of scope then? You can have a game that does all the things that traditional parser games do, or you can have a game that does a small, disciplined subset of things. It follows naturally that the former needs to explain more things and implement more helper-features than does the latter. That is the intuitive consequence of a game’s Amount Of Stuff Players Can/Must Do (spectrum, not binary)?

  4. “Announce your verbs clearly at the beginning, and/or keep them on-screen the whole time.”

    The Common Commands Sidebar extension is designed for exactly this purpose–displaying useful verbs for novice players.

Leave a comment