So I'm pretty happy with what I'm hearing about my game, but one CONSTANT coda is that the parser is pretty bad. This is definitely the first game I've made with a robust parser component...and the next game I plan on making is not going to be parser based, but I want to vastly improve Six Silver Bullets based on the feedback I receive from the comp.

What's the best way to improve a parser once you've got a whole game already completed? Does anyone have any general tips on parsers?

I basically lobotomized ADRIFT's parser by disabling everything that wasn't absolutely essential. This was a kludge, but a necessary one because I didn't like the "tone" of ADRIFT's parser ("Pick up the gun" "Okay, you pick up the gun"/ "Jump" "you jump in place"/ "download the data" "I don't understand what you mean"....not good in a story where I want to create an overwhelming sense of doom and claustrophobia). Thus far nothing DISASTROUSLY wrong has occurred, but nearly every review points out, rightly, that the parser is really stingy, leading to a frustrating experience.

This is probably the result of most of my testers coming from far outside the world of interactive fiction, and I expect to make great strides just by going over the transcripts of players who have generously sent them my way...but anyone have other tips?

I think that some of the problems are caused by people playing standard parser games have expectations to the parser, even though you tell the player under help that they should type what you have written in ALL CAPS.

I just played your game again, trying to act more standard parser like and see what responses I got.I think there are ways to improve your game without doing a complete rewrite:

"Beep. A satisfying click, the safe unlocks. You can OPEN THE SAFE now.

> open safe

If only you could.

> open the safe

Treasures within."

Here, OPEN SAFE should have been sufficient, the word THE should be optional.

Also, there is no meaningful response to OPEN SAFE or OPEN THE SAFE if you try it before you have used the right combination. Only a "Your training will not allow this."The same is the case for OPEN DOOR and OPEN WINDOW.

Since you have password protected your game, I cannot see how you have implemented the passports, but I can imagine(?) that you have put "BLACK PASSPORT" in the noun field, and not BLACK in the adjective field as intended. I come to this conclusion since the game did not understand "get passport".

Also, people who are used to playing inform games expect the parser to understand GET BLACK. You can easily make ADRIFT understand this as well, by adding BLACK as an extra noun for the black passport.

Narrow and filthy. Obscene Diagrams. Filth. Garbage. A dumpster or two. Alley is a long curve, Northeast to Southeast. Someone has drawn on the street in chalk. Their message reads TIME IS A LOADED GUN. A message for you? For everyone?

Could SEARCH the alley. Might be more here than trash. A metal door to the East. Locked. How can you tell? Could KNOCK. Who will answer?

> knock on door

If only you could.

> knock door

Your training will not allow this.

The City Clocktower rings out in the fog. Time grows short...

> knock

You knock.A bolt slides behind the door.You are greeted by the barrel of a shotgun. It does not fire...yet."

A standard parser player would type KNOCK ON DOOR or just KNOCK DOOR (verb + noun) so ON and DOOR should be optional.

Ask about THE GREEN AGENTAsk about THE DEAD DROPAsk about THE FINER THINGS IN LIFEAsk about THE RESISTANCEAsk about THE BANKAsk about THE RED DOSSIERAsk about THE ORANGE AGENTNAME the Red AgentBRIBE the Red AgentSEDUCE the Red Agent (Difficult)KILL the Red AgentLEAVE

> ask about the green agentI'm not sure who you are referring to."

Since ASK ABOUT is common in parser games I think many parser players would type something like ASK ABOUT GREEN AGENT, not just THE GREEN AGENT. So I think you should make ASK ABOUT and THE optional words.

Similarly (I haven't tested this though) the following commands should also work: NAME AGENT, NAME RED AGENT, NAME THE RED AGENT etc. The same for BRIBE, SEDUCE and KILL.

Paper is a dull yellow. They call this ivory? Faint watermark. A serpent eating its own tail. Orobos. Infinity and extinction. Who sent this? You must find them.

> read it(Absolutely Nothing)

You must be going mad. You cannot do that."

I have no idea how you made "IT" not work for the note and other objects. For some reason it works for the bag of diamonds. If you could figure out how you did it and then make the word IT work for all objects again it would be good.

I hope some of these examples are useful, since they represent similar situations elsewhere in the game. Example 1-4 should be easy to fix.

-----------------------------------------------------------------------------------------Out now: The Royal Puzzle, The Way Home & The Dragon Diamond-----------------------------------------------------------------------------------------

I think rewriting the parser is the main issue here. As I understand it, v5 should handle things like GET BOOK, GET THE BOOK, GET THE BLACK BOOK, GET BLACK BOOK, etc without any issue, but when you start deleting everything non-essential you're risking running into a whole world of problems.

The other issue is that your testers weren't familiar with IF games whereas the target audience - the IFComp players - are. As such, no matter how good a job your testers did, they're not going to pick up things that your average IF player will. It's a bit like writing something in Chinese and then showing it to a non-Chinese speaker and asking him if it's okay. Whether it is or not, he's not going to be able to tell you.

The0didactus wrote:I basically lobotomized ADRIFT's parser by disabling everything that wasn't absolutely essential. This was a kludge, but a necessary one because I didn't like the "tone" of ADRIFT's parser ("Pick up the gun" "Okay, you pick up the gun"/ "Jump" "you jump in place"/ "download the data" "I don't understand what you mean"....not good in a story where I want to create an overwhelming sense of doom and claustrophobia)

The simplest thing would have been to go through the standard library and modify each of these restriction messages to suit the style of your game rather than deleting them completely.

The0didactus wrote:I basically lobotomized ADRIFT's parser by disabling everything that wasn't absolutely essential. This was a kludge, but a necessary one because I didn't like the "tone" of ADRIFT's parser ("Pick up the gun" "Okay, you pick up the gun"/ "Jump" "you jump in place"/ "download the data" "I don't understand what you mean"....not good in a story where I want to create an overwhelming sense of doom and claustrophobia)

The simplest thing would have been to go through the standard library and modify each of these restriction messages to suit the style of your game rather than deleting them completely.

Oh, I didn't delete them. I made a higher-priority task that triggered when you typed ANYTHING.They are all still there.

I couldn't figure out where various commands lived in the standard library.

In the specific context of Tingalan and Six Silver Bullets, I'd suggest you consider removing the parser completely and instead using a hyperlink-driven system such as Twine.

Ralph is almost certainly correct here, but unfortunately I don't want to do a TOTAL overhaul.