Parser Integrity

In an ideal world, would you allow abbreviations in a free text parser?

Assuming that the promise of a parser-based game is that you can enter text as you would speech.

By allowing abbreviations, do we pop that balloon?

I’m thinking of cases such as allowing i for inventory, when in speech, I would be a reference to the player.

Do these historic conventions limit the evolution of free-text parsers?

Annoying the player doesn’t make a game better.
Even the very first release of Zork I included I, L, Q, and the direction abbreviations.
They already recognized that things you’re doing all the time should be easy.
Z, G, and O came later. All of these are good and helpful. They matter even more on a tiny touchscreen.
You still can enter text as you would speech, but a game better not force me to keep typing TOBOGGAN or HURDY-GURDY or PALIMPSEST.

1 Like

Yup, I get that. But is ‘n’ always to be short for North? What if it could better mean next or no?

“n” for north is a convention developed over many decades of IF. If a parser game wanted to use it for a different abbreviation, it would be on the individual parser game to explain how it would interpret that abbreviation (especially if it would change what it meant according to context, something both very speech-like - bear vs bear - and totally unintuitive in a software control mechanism).

1 Like

This answer (no criticism of it) suggests to me that IF parser language is always to be separate from speech as spoken.

That’s a good thing. We play parser games in a domain-specific subset of English. Idiomatic IF commands are simpler and terser than grammatical standard English. No game should ever require articles, and most adverbs don’t really belong. It’s simpler to write a parser for this subset, and an important part of learning to play these games is learning the boundaries of the language. Expanding it to all of English is too hard, for a programmer or a player–and it wouldn’t add to the fun.

3 Likes

OK then. Suppose I’m an author of French IF. What is my abbreviation for a westerly direction? Is it W or O (l’Ouest)?

As an author of French IF (and also the maintainer of the Inform 7 French translation), the answer is: we use O instead of W. :slightly_smiling_face:

It’s the same as @Nathan said, really, but instead of a subset of English it’s a subset of French. And also, each language develops its own conventions. (For example, because we use the letter O for “west”, we cannot use it for “oops”, which is “oups” is French.)

I’m not sure I see how this French/English/other language question is relevant to the original question.


I don’t see why we wouldn’t use abbreviations even with a natural language input. It wouldn’ be fully a natural language strictly speaking, but the player’s convenience is more important.

And anyway, when a command only consists of the letter “i”, then it’s pretty unambiguous the player wants to look at their inventory: it can’t mean “me” since there is no verb after it. (There are some fringe cases, though. If, say, an NPC asked “Who should go, you or me?”, then the “i” command is ambiguous, and ideally the parser would ask to clarify instead of guessing.)

Same for north/n and so on. But I think using a subset of the language will still be easier for the player, except maybe when playing with the voice: in that case, it’s natural to use complete sentences.

4 Likes

Basically, I concur with Alianora and Nathan.

Even if parsers were actually perfect and could understand natural language, it’s not clear that people would want to type out everything in full.

They might, and most probably would, still resort to abbrevations, because it’s more convenient. The only exception might be if everything was voice-driven, because it’s not much of a difference between saying “L” (“ELL”) versus “LOOK” out loud, and it would be more like a real-life conversation. (But it’s not unlikely that even in a voice-input system, abbrevations would get established soon.)

Consider chat (IRC/messenger). When humans are chatting with each other via the net, they use abbreviations a lot, even though their addressee has human-level understanding and would have no problem comprehending even very long and difficult sentences.

Presumably, in the ideal parser world, people would simply use whatever they want. Sometimes, they might write or say: “let me bring the flowers in the vase into disarray in order to annoy my fussy aunt Margret”, and sometimes they might just say “look” or “x table”, and the parser would understand all of it.

But it’s not the conventions which limit the evolution of free-text parsers.
What limits the evolution of parsers is the difficulty of Natural Language Processing and general-purpose AI.

Edit: Partly ninja’d by Natrium729. :slight_smile:

3 Likes

Well, I found it relevant this way. I wanted to understand whether the abbreviations derived from the natural language, or whether they were a technical convention (like WASDX).

There was some opposition to my suggestion that the abbreviation ‘n’ could supplant ‘North’ for ‘Next’.

But now I find comfort in your information that in the French IF community, ‘O’ goes compass-west.

So I’m concluding those abbreviations are derived from the natural language and are therefore living and mutable.

Thanks for the explanation. But I would say that it’s a mix of both (abbreviations sometimes derive from the natural language, sometimes come from technical conventions).

We use NSOE for the directions because that’s the standard way in French in other domains too (on compasses and maps, for instance), so French people are already used to it.

For other things, we sometimes keep English words along with their French equivalent; for instance, “undo” is still understood by the parser in French, along with “annuler”. I believe a reason is that people familiar with the IF world (even French people) might still have the habit to type “undo”, and also it’s shorter. (So one might consider that “undo” is some kind of abbreviation in French! :stuck_out_tongue:).

Returning to English, what about the abbreviation for “wait”? I always wondered why it’s “z”. That surely doesn’t come directly from the natural language. (My guess is that “w” was already taken, so we chose the next letter that wasn’t used yet.) (For those who wonder, in French it’s “a” for “attendre” but we still accept “z”, just like “undo”.)

I wouldn’t say abbreviations are fully living and mutable. I mean, yes, but once a usage caught on, it’s difficult to change it.

1 Like

Really enjoyed reading that, thank you. I’m fascinated by the subtleties of this :slightly_smiling_face: .

There’s a class of IF which implements its own game language (Klingon, Orc-Grunt).
I hope we’d forgive a well-implemented parser for substituting classic abbreviations for those which made more sense in the game.

I’ve always assumed it was because “zzz…” is often used to represent snoring or sleep…

8 Likes

In Gostak, you can pell (go) hoff, jirf, kirf, and loff, abbreviated h, j, k, and l. You can also pell jiloff (jl), kiloff (kl), jihoff (jh), and kihoff (kh).

I think the key thing to consider here is that typed abbreviations are different from spoken abbreviations. w is easier to type than west but “west” is easier to say than “double-you.”

As long as the player is typing, we’re going to want to offer typed abbreviations. If the player were speaking, we’d want to offer spoken abbreviations for common actions, if needed. Monosyllabic directions like “north” don’t really need abbreviations in spoken language, but “inventory” would probably benefit.

4 Likes

Hehe, interesting, another case of an influential convention, since those have of course been the movement keys in vi (and nethack) since time immemorial. :slight_smile:

2 Likes

Actually, that’s my headcanon too! :grinning_face_with_smiling_eyes: But surely, if that was really the reason, it would have been the abbreviation for “sleep”, right?

1 Like

Going back to the original question of whether using abbreviations would cross the frontier between “I’m using natural language” and “I’m speaking to a stupid computer” (if I understood it correctly).

Thinking about it more, I don’t see why it would be the case. People use abbreviations and acronyms all the time: lol, ASAP… That’s the case especially in jargon: DPS in gaming, OOP in computer science, IF on this very forum…

Now, maybe some of them are never used in speech and only in written language, but written language is still natural language.

1 Like

You’re right.

I’m working on a little piece right now where I’m going to need a command to wait.

Typing wait fits well with the dialogue, but w pulls me out of the narrative a bit. Maybe just Return on an empty command would do as well.

Thanks for all the replies. I don’t play a lot of old-school IF and I wasn’t aware of all the conventions.

When making the Swedish translation of the Inform 6 library, I opted for “L” for “inventory” (I thought the most natural way to say “take inventory” in Swedish would be “lista mina tillhörigheter” or just “lista”, and the library recognizes this as well), and “T” for “look” (“titta” in Swedish), and NSÖV for the directions. Some people were irritated about these choices, and some non-Swedish-speakers suggested I add NSEW as synonyms for the directions and have I and L work the same as in English, so English-speakers could at least run around and explore Swedish games a bit. I decided Swedish games had to be Swedish games and can’t be obliged to understand English abbreviations that make no sense in Swedish.

6 Likes

As a Naval historian, I must point that N,S,E,W ecc., is a convention much older than IF, since, well, XVI/XVIIth century…

Best regards from Italy,
dott. Piergiorgio.

2 Likes