Parser vs choice entries -- the tally

Every year I update this graph of how many IFComp entries there are and how many are parser-based vs choice-based.

eblong.com/zarf/pic/tally-ifcomp.png

Why? Obviously this is a silly, pettifogging way to view IFComp. On the other hand graphs are nice. And if somebody says “parser IF is dying!” it’s fun to be able to point at a chart and say “Yes, the trend indicates that parser IF will be gone by the year 2028! Enjoy the next twelve years of parser games, you fossilizing relic!”

Which is what I would have said last year. But for the past few years, the parser count has been creeping up again. Even the smoothed (dotted) curve has stopped decreasing.

Now, I said this was a silly and reductive view. One way it is silly is that the definition of “parser” just isn’t that obvious any more. This year there are two games written using Texture, which does not have a parser but does have a noun-verb selection interface that supports a parser-like world model. The same goes for Detectiveland. Then there’s Fallen Leaves, which could be described as a verb-adverb selection interface. On the flip side, there’s Take (parser, but only accepts one verb) and Mirror and Queen (parser, but only accepts single words).

I decided to take a broad view and accept all of these as parser-like. For the splitters, the totals look like this:

18: parser
3: reduced parser
5: parser-like (at least two axes of choice range)
32: choice

So my graph shows 26 parser-like (blue) and 32 choice (green), but if you want to be strict you could call it 21 to 37. (I am confident that reduced-parser games have been counted as “still a parser game” throughout IFComp history.)

(I should note that I have not gone back to earlier years to apply this notion of parser-like-ness. Sorry. Some other time.)

My full notes file is pasted below.

spoiler 16 Ways to Kill a Vampire at McDonalds by Abigail Corfman
© 500 Apocalypses by Phantom Williams
© Aether Apeiron: The Zephyra Chronicles by Hippodamus & Company
© All I Do is Dream by Megan Stevens
§ Ariadne in Aeaea by Victor Ojuel
© Ash by Lee Grey
(? – Texture) Black Rock City by Jim Munroe
© Cactus Blue Motel by Astrid Dalmady
© Cinnamon Tea by Daffs O’Dill
§ Color the Truth by mathbrush
§ Darkiss! Wrath of the Vampire - Chapter 2: Journey to Hell by Marco Vallarino
(? – button-based parserlike) Detectiveland by Robin Johnson
§ Eight characters, a number, and a happy ending by K.G. Orphanides
© Evermore by Adam Whybray and Edgar Allan Poe
§ Fair by Hanon Ondricek
(? – action-adverb?) Fallen 落葉 Leaves by Adam Bredenberg, Danial Mohammed Khan-Yousufzai
§ The Game of Worlds TOURNAMENT! by Ade
© The God Device by Andy Joel
§ Hill Ridge Lost & Found by Jeremy Pflasterer
§ How to Win at Rock Paper Scissors by Brian Kwak
(P – reduced) Inside the Facility by Arthur DiBianca
© Labyrinth of Loci by anbrewk
© Letters by Madison Evans
© The Little Lifeform That Could by Fade Manley
© Manlandia by Rob Chateau
(P – single-word) Mirror and Queen by Chandler Groover
© Moonland by BillyJaden
© The Mouse by Norbez
§ Night House by Bitter Karella
© Not Another Hero by Cecilia Rosewood
§ Pogoman GO! by Jack Welch and Ben Collins-Sussman
(? – Texture) The Queen’s Menagerie by Chandler Groover
© Quest for the Traitor Saint by Owlor
© Riot by Taylor Johnson
© Rite of Passage by Arno von Borries
© SCREW YOU, BEAR DAD! by Xalavier Nelson Jr.
© The Shoe Dept. by Aquanet
§ Sigil Reader (Field) by verityvirtue
(? – roguelike) The Skull Embroidery by Jeron Paraiso
© The Skyscraper and the Scar by Diego Freire, Ruber Eaglenest
§ Slicker City by Andrew Schultz
© Snake’s Game by Nahian Nasir
§ Steam and Sacrilege by Phil McGrail
© Stone Harbor by Liza Daly
© Stuff and Nonsense by Felicity Banks
(P – reduced) Take by Amelia Pinnolla
© Take Over the World by Marie L. Vibbert
© Tentaculon by Ned Vole
© Thaxted Havershill And the Golden Wombat by Andrew Brown
§ Theatre People by Michael Kielstra
© This is My Memory of First Heartbreak, Which I Can’t Quite Piece Back Together by Story, Art, & UX Design by Jenny Goldstick, Development by Stephen Betts & Owen Roberts
© A Time of Tungsten by Devin Raposo
© To The Wolves by Els White
§ Toiletworld by Chet Rocketfrak
§ Ventilator by Peregrine Wade
© Yes, my mother is… by Skarn
§ You are standing in a cave… by Caroline Berg
§ Zigamus: Zombies at Vigamus by Marco Vallarino[/spoiler]

A steady decline, but CYAO Didn’t Kill the Parser Star?

A slow and very noisy decline, you’d have to call it. Anything but “steady”.

Well, yes.

Because of the huge scope, that would be an interesting group project–one person per year, maybe, and it would get done quickly. And given your work on Lectrote, yeah, I think we’d rather have you doing that, and those of us who’d like to do more in the community can maybe pitch in, here.

Also for looking back there’s potential for a “might’ve been better as CYoA” but unfortunately that gets subjective, and I like your objective criteria.

It’d be easier for long time community members to look at the earlier years, but I would be willing to pick a recent year if we have enough people to make it through them all.

This graph is stunning in its starkness. Perhaps a picture is worth a thousand words, for it puts so clearly before us what I find hard to say… which is, that I am so disheartened by this rolling tide of Twine and find it hard to believe that these are being compared side by side with ordinary parser games.

Not to say that some choice games are not fun, or innovative, or beautiful in their own way. It’s just that they are taking over. And there is a greater tendency toward amateurish efforts, which makes it more difficult to discern what merits ones time.

Is it a safe to predict that one year in the very near future, these choice games will eclipse parser games entirely? Will there one day be separate competitions? Time will tell! I wish at least that one could see them in separate lists when browsing games in the competition, or the IFDB.

Poetic, but no.

Every year there is the requisite thread: “Parser is dead!” “Parser is dying!”

The thing is the natural turnaround time on Twine is much shorter than that of a parser game. Someone skilled in Twine can probably knock out a moderate length piece in a week. A beginner could probably make something competent in 2-3 weeks. The testing requirements can be low to nonexistent for a straightforward choice narrative. Parser takes longer to build and often weeks of testing. Skilled Twine authors could probably make 3-4 short to moderate works in the time it takes to make and test one parser piece.

I am in no way intending to denigrate the utility and ease of Twine. There’s nothing wrong with any app that gets out of the way of the creator and lets them put out a story without needing to grok parsing and rules and building an entire world out of objects. Twine is popular due to its lower barrier to entry to make something good. Therefore more people will make more entries in Twine in any competition that permits both.

For people who love parser, there is a parser-specific event (ParserComp) which existed in 2014/2015 and will exist again in 2016/2017. (Stay tuned!)

This sounds cool! I’m in!

The parser comp page lists certain formats as “Tools for writing parser games”:

I notice that Twine isn’t included. Can we have a commitment that ParserComp will allow any game which accepts text input and won’t discriminate against games based on format?

The winners of IF Comp in the recent past were all adventures. It’s just a coincidence that they were made with traditional parser systems. The 2015 winner, Brain Guzzlers from Beyond!, partly uses a choice-based interface. It’s only a slight exaggeration to say that it could have been made in a non-traditional system. I would like to see “ParserComp” broaden out to accept the adventures we love to play and want to make in any format.

This year Detectiveland, by Robin Johnson, is very much an adventure in the traditional style, yet you can’t even type anything! I’m not sure about the rules, would Detectiveland be banned from Parsercomp? People who have never used an interpreter program are playing Detectiveland. Games made with the traditional systems are welcome. But don’t we want to encourage new ideas and innovation?

The list in question (found here) is a list of SUGGESTED tools, with nothing implying it is an exhaustive list. It is also a list specifically aimed at people who want to write a parser game but has no idea where to start. Trimming the context away from a quote until it appears to say whatever you want it to say for your argument to work is quote-mining and it is extremely dishonest. More to the point, it’s just frustrating to be on the receiving end of, as I know from experience. You end up having to explain things people very well know (such as the difference between a prescriptive list and a descriptive list of common systems) while whatever point anyone might have had gets lost in the shuffle.

If it was up to me, I would simply ban everyone who deals in these (non)visual novels.

The issue here is that Twine is not a parser engine. Accepting text input is not the sole criteria for a parser game.

While Twine and other choice-based engines will accept text and use it in the story, it is just a variable input and is not being “parsed” in the technical sense. While some talented Twine programmers could do some nifty tricks to simulate that the game is parsing their input, it would still be simulation of an actual parser.

Robin Johnson has stated that he wrote his own parser in Java for Detectiveland, and pressing the buttons actually creates a sentence that goes into the transcript. He can verify if this input is actually being parsed or if each button command is built as 1:1 recognition

Saying that games which are not built using a parser engine and don’t qualify for a parser competition are being “discriminated against” because they don’t use a parser is like saying that the Westminster Kennel Club competition discriminates against cats.

“Discriminate” is a thorny loaded word which (IMHO) should be limited to situations involving discrimination against people, and not rules for game jams. Nothing prevents anyone from writing a parser game and entering it.

To forestall the obvious retort, it would be possible to implement a full IF-style parser in Javascript, build enough of a world model to react to the parser commands, and then embed that in the Twine framework.

(It would be a lot more work than using an existing, well-tested parser engine, so I don’t recommend it.)

However. Backing up. The original ParserComp site has, as its first question, “What is a parser game?” And the nut of the answer is: “To play a parser game, players type commands at a prompt, and the game attempts to parse those commands and carry out actions.”

This seems like a perfectly reasonable common-sense description. If there are judgement calls to be made, Carolyn is capable of making them as necessary.

Agreed. And I will say if someone did that, it would fall into the “experimental roll your own parser” category that would be welcome and a great experimental showpiece for ParserComp.

One of my controversial statements last year was “A parser can reject a player’s command based on its evaluation of rules and the game state.” which is arguable that Twine can offer a choice but then disallow it if a flag isn’t set. My counter was that’s a 1:1 simulation of parser that the author sets up. Parsers can account for unexpected input and make a judgement. Choice-based systems, by definition, don’t allow for unexpected input.

It’s similar to the difference between a multiple choice test where answers are phrased explicitly and can be instantly scored right or wrong, and an essay question which needs the answer input read, comprehended, and judged based on interpretation.

Well, you could say that Inform 7 merely “simulates” that the game is parsing the input, since it doesn’t have any knowledge of what a brass lantern actually is, but that way lies philosophy.

(Javascript, not Java.) It doesn’t create the sentence and then “parse” it as a string, no. It creates a model action containing a verb and (usually) an object - the concept of getting a lamp, which can then be run through the item-object “lamp” and the verb-object “get” - the same sort of model as a simple two-word parser would produce from an input like “get lamp”. You could say that the parser is precisely what is missing, since the player is directly inputting the action through a button without the game needing to parse text to find out what the action is. The rest of the game is structured similarly to a parser game, in terms of rooms, items, declarations of what happens when you apply a particular verb to a particular item, and so on.

I’ve written parser games in Javascript too (see links in my signature), but I wrote that engine 13 years ago as a much worse programmer. It pretends to be a lot cleverer than it actually is, and doesn’t really create a sensible action-object internally. For some definitions of ‘parser’, it’s a much worse parser than Detectiveland. But I’d hope a game made with that engine would be eligible for Parsercomp.

For the record, I would not expect Detectiveland to be eligible for ParserComp. If someone were crazy, stupid, masochistic and/or brilliant enough to write a parser in Twine - or a convincing thing that pretends to be a parser, though I’m not sure what the difference is - it’s not up to me of course, but I’d be disappointed if it wasn’t allowed. (And I don’t think Parsercomp’s listing of some sensible parser authoring systems implicitly forbids it.)

Glad to hear it. :slight_smile:

(I figured that’s how Detectiveland was constructed.)

(Because including a full parser would have been both harder and more error-prone.)

It’s just occurred to me that Detectiveland’s engine has an unparser, since the action creates a string (usually, but not always, the verb and the object noun separated by a space) to put into the transcript window.

It can even do ambiguation.