Now, the biggest problem with this, as far as I can see, is the
tremendous range of options it opens up. Consider the following statements:
officer, I have a gun
luke, I am your father
marsha, john is dead
These are statements that should provoke a reaction, regardless of
whether they're true or not. By limiting the player's actions to
interacting with objects and a couple of non-specific conversation forms
(like "tell x about y"), we keep the simulation to a managable level of
detail. The space of all possible assertions in even a limited
vocabulary expands the possibilities to the point where we can't easily
code a reasonable fraction of them - and even if we did, the effect may
not be worth the effort.
Still, I'm thinking of coding something with a limited ability to
understand statements, like Infocom did (not altogether satisfactorily)
in Shogun. Implementing "I am", "you are", and "there is" as verbs may
suit my needs. This can be extended to include questions: "who is",
"what is", "where is", even "why is".
Question 1: What other sentence forms are indispensible? "<noun> is" in
general is right out.
So start implementing this in TADS, right? Only it gets stuck on "there
is". After a while I figure it out. It's the word "there". TADS, using
ADV or Worldclass, treats "there" like "it": as a special word referring
to the last applicable object mentioned. I figure I have three options:
a) Remove "there" from the list of special words. Unappealing, as it
would involve direct modification of the library, rather than using the
"modify" construct.
b) Hack up a preparse function that detects "there is" and replaces it
with "there's". Also unappealing, especially since Worldclass has its
own preparse function, and you can't modify it without replacing it entirely.
c) Learn Inform.
Question 2: What is the best course? Is there another option?
-- Carl Muckenhoupt Breakfast Dragon -==(UDIC)==-