2009 Journal of Visual Languages and Computing

J. Siegel and D. Szafron, Dialogue Patterns - A Visual Language For Dynamic Dialogue, Journal of Visual Languages and Computing, 20 (3), June 2009, 196-220. abstract or pdf (preprint).


A dynamic dialogue is a conversation in which each participant alternately selects remarks based on a changing world state and in which each remark can change the world state. Dynamic dialogues happen frequently as conversations between a player character (PC) and a non-player character (NPC) in a computer game. When it is the PC’s turn to speak, the current game state is used to filter the static set of remarks available to the PC to a contextually appropriate subset that is made available to the player. Selecting a PC remark then leads to a candidate set of NPC remarks as appropriate responses to the PC. The world state is used to filter this set of remarks to a single remark, which is used by the NPC as the reply. To construct a dynamic dialogue, an author must not only create the remarks, but also write the code that determines which remarks are available to both participants at any point in the dialogue. We present “generative dialogue patterns” as a new visual language for designing dynamic dialogs and generating the program code that is necessary to select the appropriate remarks during the dialogue. We use a case study from the computer games domain to evaluate the effectiveness of generative dialogue patterns.