Controlling the Behavior of Animated Presentation Agents in the Interface: Scripting versus Instructing

Article excerpt


Lifelike characters, or animated agents, provide a promising option for interface development because they allow us to draw on communication and interaction styles with which humans are already familiar. In this contribution, we revisit some of our past and ongoing projects to motivate an evolution of character-based presentation Systems. This evolution starts from systems in which a character presents information content in the style of a TV presenter. It moves on with the introduction of presentation teams that convey information to the user by performing role plays. To explore new forms of active user involvement during a presentation, the next step can lead to systems that convey information in the style of interactive performances. From a technical point of view, this evaluation is mirrored in different approaches to determine the behavior of the employed characters. By means of concrete applications, we argue that a central planning component for automated agent scripting is not always a good choice, especially not in the case of interactive performances where the user might take on an active role as well.

A growing number of research projects in academia and industry have started to develop lifelike characters or agents as a metaphor for highly personalized humanmachine communication. Work in this area is motivated by a number of supporting arguments, including the fact that such characters allow for communication styles common in human-human dialogue and thus can release users from the burden to learn and familiarize themselves with less native interaction techniques. Furthermore, well-designed characters show great potential for making interfacing with a computer system more enjoyable. One aspect when designing a character is to find a suitable visual and audible appearance. In fact, there is now a broad spectrum of characters that rely on either cartoon drawings, recorded (and possibly modified) video images of persons, or geometric three-dimensional (31) body models for their visual realization with recorded voices or synthesized speech and sound to determine their audible appearance.

Audio-visual attractiveness, however, is not everything. Rather, the success of an interface character in terms of user acceptance and interface efficiency very much depends on the character's communication skills and its overall behavior. On a very low level of abstraction, the behavior of an agent can be regarded as the execution of a script, that is, a temporally ordered sequence of actions including body gestures, facial expressions, verbal utterances, locomotion, and (quasi-) physical interactions with other entities of the character's immediate environment. It comes as no surprise then that behavior scripting, in one way or another, has been widely used in projects that deal with interface characters. For example, a straightforward approach is to equip the character with a library of manually authored scripts that determine what the character might do in a certain situation. At run time, the remaining task is to choose from the library a suitable script that meets the constraints of the current situation and at the same time helps to accomplish a given task. What is specified in a character script is also a matter of the level of abstraction and the expressiveness of the scripting language. In some cases, the scripting language is built on an existing general-purpose script-based programming language. For example, the Microsoft (1999) AGENT characters can easily be scripted either in VISUAL BASIC or in JAVA script, allowing the script writer to use the standard control structures of these languages, such as conditional statements or loop constructs. As an alternative to character-specific adjuncts to programming languages, XML-compliant scripting languages, such as TVML (Hayashi, Gakumazawa, and Yamanouchi 1999), can be defined. In any case, the script can be seen as a kind of application programming interface (API) that allows users to specify the agent's behavior at a certain level of abstraction. …


An unknown error has occurred. Please click the button below to reload the page. If the problem persists, please try again in a little while.