I’m thinking about writing an extension.
It will be similar to Aaron Reed’s “Remembering,” and hopefully compatible with it.
Here’s the basic idea:
Sometimes things in the game might disappear. In the case of my WIP, this will happen during flashbacks. They could also happen when the player changes to a different person, or an unusual effect causes an item to be lost (perhaps a pickpocket will take something from your inventory). We want the game to respond with something more helpful than “You can’t see any such thing.”
Remembering might work for this, but it only works for taking, dropping, and examining. “Buy the hen with the gold coin” won’t work if the coin’s been stolen from your person, and “ask Harold about Maude” won’t work if Harold just jumped off the cliff. I want something that will work for ANY verb.
I am considering two approaches:
Add all lost items to the scope of the player, but fight like hell to keep them out of disambiguation.
Follow a Smarter Parser-like approach, and don’t even include them in scope until we’re about to print a parser error.
I think I can get a start on #1, but I’ve had so much trouble with disambiguation that I want to address that issue first. I can never seem to get “Does the player mean” or even Disambiguation Control to really do what I want. Even if I make “doing something with the bread” very likely and “doing something with the bread knife” very unlikely (not a real example), it seems like I still get a disambiguation question. So I’m nervous about adding all the lost things to scope for every command. In fact, just as there is an option in Remembering to NEVER disambiguate, I want to never offer a lost item as a disambiguation choice.
#2 is looking attractive, but Smarter Parser uses indexed text, which I’m still trying to avoid. Plus, my game so far has no need for glulx and it would be nice if it were mobile-friendly.
Any advice on which path to follow, or tips on how to implement either one?