2 Theory of the Ask/Tell Paradigm 
<P>
How do we, as people, choose what we are going to say to another person? For the purposes of this article, I will cite four different forms of the human conversation model and relate these to topic-based conversations. It is important to realize that each of these four forms of conversation is used in life to serve different needs, just as each of these forms of conversation is used in a game to serve different needs. 
<P>
2.1 The Librarian 
<P>
The vast majority of IF games use this model. It is a response-only model where the NPC will respond to the player only if spoken to but otherwise does not initiate conversation. In life, this is a model we see in service staff, such as a librarian who does her duties and answers questions but otherwise minds her own business. The advantage of this model is that it is fairly easy to implement. This model has the disadvantage of only being player driven. Creative writing can temper the effect to some degree, but an NPC that simply answers questions isn't really much of a conversationalist. 
<P>
2.2 The Rambling Idiot 
<P>
In life, this conversation model is most often used by people who have just met. Particularly with strangers of whom nothing is known, there is little to do in a conversation than to make some random generic statement such as "How about them Yankees?" or "Nice weather we've been having." In a perfect world these little generic bits of conversation will lead to a more personal level of discussion ("The Yankees haven't played this bad since my freshman year of college." Or "Yes, this is great golfing weather!") but until the other person has "bitten," we are just fishing for a conversation. 
<P>
In IF, the advantage of this model is that NPCs can initiate conversation on their own and do not have to wait for the player to address them. However, if used alone, this model has the disadvantage of not "flowing" from one topic to another. Normal conversation tends to progress in a chain of related subjects ("You followed the Yankees in college? What school did you go to?" or "You like to golf? So does my brother."). Without this relation between topics, the randomness of conversational blurbs makes people (or NPCs) appear to ramble as though intoxicated. This could be exactly what the developer is looking for in a character, but for a "normal" NPC, this model alone leaves something to be desired. 
<P>
2.3 The Lecturing Professor 
<P>
In life, we use this third form of conversation when we have something specific to say. A lecturer in a classroom, for example, has specific points that must be made. As the lecture progresses, the points are made one by one until the lecture is concluded. It is possible that the students will keep quiet and the lecture will occur exactly as written on the lecturer's note cards. It is equally possible that members of the audience will ask questions. 
<P>
When a lecturer answers a question, it can possibly be about related information that would not otherwise have been covered in the lecture. The question could also cover lecture material prematurely, in which case those points need not be made again as the lecture continues. 
<P>
In IF, this third model is ideal for ensuring that necessary information gets conveyed to the player. It is perhaps the most useful technique for writing NPC conversation "scenes" in a story, since it conveys the appropriate information, yet allows the player to be as interactive (or not) as he/she desires. 
<P>
One small disadvantage of this model is that the technique isn't truly "drivable" by the player. That is, there is a predetermined outcome that will come to pass regardless of what the player does. This is most likely what is desired in an IF story anyway; however, this model simply doesn't work well for "conversation" games with multiple endings and "decision trees." For art to more closely imitate life, another model is needed... 
<P>
2.4 The Conversationalist 
<P>
This final conversation model is the logical continuation of the "Rambling Idiot" model discussed previously. In life, when we communicate with other people, we key into what is being said and keep a running pool of things to Ask/Tell which are related to the conversation. Each statement can have several related topics which, in turn, have their own related topics. Together, these weave chains of interweaving topics (or a "Topic Web") which the player can navigate and be prompted with reasonable, natural statements/questions from the NPC. As an example, let's continue with one of the conversation statements covered previously: 
<P>
<P>
<P>
<P>
 "You like to golf?  So does my brother." 
<P>
<P>
<P>
An NPC can be programmed to respond to this statement with a number of related statements, each response having its own set of related topics: 
<P>
<P>
<P>
<P>
 "Well, miniature golf. I worked at 
 'Golf World' after high school." 
<P>
<P>
<P>
or 
<P>
<P>
<P>
<P>
 "Sure I like golf, but not as much as I 
 do water skiing.  I do that every 
 weekend."
<P>
<P>
<P>
or 
<P>
<P>
<P>
<P>
 "Not my brother, he hates golf with a 
 passion.  He got hit in the head with a 
 golf ball as a child." 
<P>
<P>
<P>
or 
<P>
<P>
<P>
<P>
 "I think I know your brother.  Isn't 
 he on the debate team?" 
<P>
<P>
<P>
Obviously the advantage to this system is that it allows for complex conversations seen in games such as "Best of Three" that can be driven equally by the NPC and the PC together. As an additional advantage, the concept of related topics is particularly well-suited to support a menu. The menu in turn addresses a disadvantage with the Ask/Tell paradigm as a whole: the difficulty of leading the player in the appropriate direction. 
<P>
By its very nature, the Ask/Tell paradigm doesn't limit what the player can try to say. This openness of Ask/Tell is both a positive and a negative. It gives the player freedom since there need be no rhyme or reason to what is said to an NPC. The player can play the "rambling idiot" all he wants, but most players will look for clues when trying to determine what to say next. Without a menu, strong hints need to be made. One way to accomplish this would be through protagonist thoughts, but this technique grows more difficult as the number of conversation branches increases. For the four options above, several lines of text must be added: 
<P>
<P>
<P>
<P>
 "You like to golf?  So does my brother."
<P>
 You begin to tell about your tenure at 
 "Golf World" but hesitate at the 
 mention of her brother whom you know from 
 debate.  He always reminded you of your own 
 brother who, oddly enough, hated golf.  You 
 two always had a great time skiing though. 
<P>
<P>
<P>
As with any Ask/Tell system, this puts a fair burden on the shoulders of the author to make adequate suggestions about what the player might say next. Hopefully, with a bit of luck the player will read the above and consider one or more of the following: 
<P>
<P>
<P>
<P>
 >Tell girl about golf world <br>
 >Tell girl about brother<br>
 >Ask girl about brother<br>
 >Tell girl about skiing<br>
<P>
<P>
<P>
Use of a menu system lightens this burden somewhat for both the author and player. This intertwining of menus and Ask/Tell has an additional advantage. Unlike non-Ask/Tell based menu systems, the player is not bound to choose one of these menu items. A menu used in conjunction with Ask/Tell can be exited and the player can "change the subject" by choosing another, non-related topic to Ask or Tell in the conventional manner. 
<P>
The ease of a menu combined with the power of the command. Now that's flexibility!