The potential of simple ASK/TELL

With all the thought, discussion, and experimentation that has gone on about conversation systems in IF, I think the full potential of the basic system relying on ASK and TELL has rarely been realized. Most games that use a simple ASK/TELL format, both old and new ones, simply have the player digging for information, making the NPCs essentially databases. However, a game made with any of the primary authoring systems could be fairly convincing using only the out-of-the-box conversation functionality if the game treats TELL separately from ASK, allows for one word comments with a SAY or ANSWER command (especially YES and NO), responds to commands given to NPCs, and keeps track of what topics the player is aware of.

Consider the following example:

Apartment
Your friend John’s apartment is small and rather cluttered […].

John is standing here, looking conversational.

ASK JOHN ABOUT HIS AUNT
That’s not something you can talk about. [This response is given when the PC isn’t yet aware of the topic, or when the player inputs a nonsensical topic].

SAY SORRY
(to John)
John just shrugs.

TELL JOHN ABOUT HIS SHOES
You don’t know anything about John’s shoes that is worth telling John about. [Another default response.]

ASK JOHN ABOUT HIS SHOES
John rolls his eyes. “My sister picked them out for me. She saw them on a closeout, and they happened to be just my size.”

ASK JOHN ABOUT HIMSELF
You ask John how he has been doing, the great awkward cliche of conversation.

“Well, not too bad, I guess,” he says. “But it’s been hard to keep up with college and all. I’ve been taking care of my great-aunt May from time to time.” He shrugs. “That’s just life, you know.”

ASK JOHN ABOUT HIS AUNT
“Yeah, she’s been in an out of the hospital; they don’t know what exactly is wrong. She’s just been really weak and frail, and they think she might have cancer somewhere. Then there’s her arthritis. She doesn’t have anyone to watch out for her, so my cousin and I take turns spending the day with her, and my sister often stays the night at her place.” [Now the player can ask about John’s aunt because the PC has heard of her.]

SAY NO
(to John)
John just shrugs.

SAY SORRY TO JOHN
“I’m really sorry to hear about that,” you say. “I’ll be praying for you. Let me know if there’s anything I can do to help.”

John nods and grunts. “I know. Thank you.”

ASK JOHN ABOUT HIS AUNT
“Yeah, she’s been in an out of the hospital; they don’t know what exactly is wrong. She’s just been really weak and frail, and they think she might have cancer somewhere. Then there’s her arthritis. She doesn’t have anyone to watch out for her, so my cousin and I take turns spending the day with her, and my sister often stays the night at her place.”

Granted, the simple ASK/TELL is not right for every game, and there are certain failings of the system. For instance, it’s a little beyond the out-of-the-box system to implement multiple responses for asking/telling about the same topic multiple times. Topic suggestions and conversation menus are better mechanisms for controlling the plot. My point is only that the basic functionality of ASK/TELL can produce good NPC interaction if the conversation topics are thoroughly implemented.

I don’t disagree with anything you’ve written, but I hope you’re not under the impression that nobody has done this kind of thing yet? :stuck_out_tongue:

I’m feeling a lot like a stuck record lately, but while this may be true for whatever tool you’re using, it’s not true for TADS 3 - multiple/random responses in the same context and different responses in different contexts are both available from the library.

I’m not sure what system Bainespal is using, but even I7’s minimal conversation resources do in fact handle all of this. There are separate ask/tell commands, and it’s not hard to write multiple responses for the same topic. Eric Eve’s conversation extensions for Inform 7 bring the TADS 3 system to that platform as well, including topic lists and a number of other features. (And Inform 7 will soon, I think, have a second complete conversation system, also centered around ask-tell, that is quip-based and provides simple support for multi-threading.)

–Erik

I was really just making the point that the “simple” ASK/TELL format is better than we normally give it credit for, and it may be all that some games require. I didn’t mean to belittle any games that have implemented this basic system well in the past.

The example is based on what I think Hugo’s default conversation system would look like, if implemented thoroughly. I’m aware that TADS 3 supports a much better system by default (I followed Eric Eve’s tutorial some years ago). TADS 3 and Inform 7 are both great systems, to be sure. I like Hugo’s default handling of conversation better than that of Inform 7, and I don’t think that every IF author necessarily needs to implement a system as complicated as the one that TADS 3 sets up by default.