Based on the subtle fracas in this thread, I wanted to open up the floor for some clear-headed discussion regarding what a parser is, and what it is not. I myself am not a programmer so my observations and conclusions may not be correct.
Please note this is not solicitation for the “What is IF?” argument, nor is it really constructive to bash AI in yet another thread. I am curious if it would be constructive to define a clear distinction between “Parser IF” and what I tentatively will refer to as “AI-Assisted IF”.
I think AI is fascinating, and I having been an old-school parser player and creator, I also understand the AI pratfalls, and agree that it shouldn’t be used as a “cheat” for actually writing a good IF.
In my brain, parser and AI accomplish a bit of the same thing at different levels.
A parser maintains a world model, and responds to player commands based on the world model using authored prose and occasional mechanical responses that are programmed: “I don’t see a mailbox here.” “It’s too dark to read the leaflet.” “The door is locked, you’ll need a key to open it.” This is mainly limited to rules and the parser isn’t going to understand certain commands that aren’t implemented in the rules. Unless the author has accounted for extremely deep action implementation, a parser is rarely going to have a cogent response to >PLACE MY EAR AGAINST THE DOOR AND LISTEN FOR HOBGOBLINS - at best, you might get >LISTEN TO DOOR to work. Most experienced parser players understand this and have learned through experience how to simply phrase commands. This is the usual stumbling-block for new parser players - sure you can type “anything” but the best commands are verb-noun [with/on second noun].
An AI on the surface seems like a great improvement to a text adventure. It can literally improvise responses and dialogue to practically any player command and fulfills the “you can type anything” promise of early parser IF. It is practically a tireless Dungeon Master. An AI is trained on a dataset (which may be the entire internet!) and brings out-of-gameworld knowledge. I was impressed by an AI implementation of Zork where I typed >PARKOUR THROUGH WINDOW and the game responded by having me climb through the window. Most games will not have “parkour” defined as a some synonym for “move” and this wouldn’t be considered a failure of implementation and action synonyms outside of a game that is about parkour. The AI was able to go “off board” and understand that “parkour” is a form of locomotion and I probably meant I wanted to >GO THROUGH WINDOW or >ENTER WINDOW and re-phrased my command into something the parser could understand and act upon.
This type of interaction and comprehension is something that could definitely raise the barrier for new text adventure players. An AI can be far more responsive to unexpected commands based on outside knowledge. If I type >SCUFF CARPET in a game where there is no “carpet” object in the world, an AI can interpret this as basically a parser error, but disguise it by improvising, “You drag your toe leaving a subtle mark in the carpet pile, but that doesn’t seem to accomplish anything here.” which is much more friendly than an “I don’t understand what you mean by ‘carpet’.” response to player. It could also be confusing if the room description described a concrete floor or floorboards, or the player is swimming in the ocean where there obviously is no carpet but that’s a stylistic nitpick. Ideally the AI would understand if the player is swimming in the ocean that the existence of carpet is unlikely. “You could probably do that if you were in a furnished room with carpet, but you probably would be better off not letting your mind wander since there are sharks around…” or something like that.
I am all for AI improving the performance of a “parser”. The place where it gets dicey is when the AI is allowed to improvise or make up significant world-detail as co-author so as not to break the illusion for the player. If I’m playing a game where the PC is stranded on a desert island, and I say >TALK TO WOMAN it is less than ideal for an AI implementation to improvise, “You nod to a pedestrian pushing a baby carriage politely, and she acknowledges with another nod, continuing on her way.” That breaks mimesis[1] in all but the most intentionally absurd game-worlds.
A peripheral but related issue is AI can be used to generate volumes of text. It’s more than happy to write the prose that can be used in any game. Whether that prose is valid, artistic, or legitimate is subject to debate, but many people agree that it can be considered a “cheat” or even plagiarism on the order of using an uncredited ghost-writer to create a story and claim it as an author’s work - and another subject for debate whether an AI author even qualifies to be awarded a prize in a competition.
I’m in the middle. I think AI has great potential to bridge the gap between player and parser interpretation to make a text adventure easier to play.
I am less keen on using an AI to generate all the player-facing text in an adventure created in Inform or TADS or any other actual parser-authoring design system. I would still call that a “parser work,” just one where the author didn’t do the writing. I also am not comfortable with the AI varying and re-generating descriptions on the fly. While text-variation is a subtle art of IF implementation, having an AI improvise ten different descriptions in response to >EXAMINE LANTERN means the author didn’t write the game. The author said “give a spooky description of a lantern here” and didn’t do the writing work.
What I think we need is a definition and separate category for “AI Assisted Adventure.” While it’s obvious from the referenced thread that “thousands of people” enjoy this type of game and wouldn’t touch an old-school text adventure, it’s completely different from an authored parser game that can only describe the world as the author wrote it without an AI as a DM or GameMaster.
I would suggest the simplest demarcation would be that a “parser game” is self-contained. It may do tricky things or include AI-like routines in it, but it’s using the parser and author implementation only to communicate with the player. If a game has to “ping out” to a separate AI to consult about game content to devise a response, it’s not technically a parser game; it’s the new category of “AI-assisted Adventure” - or whatever better name we might come up with to set expectations with players.
I could be wrong, and I’m definitely interested in other people’s opinions about the difference.
The representation or imitation of the real world in art and literature. ↩︎


