Avatars in graphical chats either have to be controlled manually (the user has to switch between avatar control and typing messages), or are playing predefined animated sequences (more or less randomly).
As the tracking of the user is no solution for desktop systems (means, the avatar "imitates" the motions of his/her user), the avatar has to be an autonomous agent. It has to act on its own (particularly the spontaneous reactions), controlled only by some "high level" commands of its owner. The authors present a simple but nevertheless very interesting approach to solve this "division of responsibility":
The BodyChat system consists of a server and multiple clients: each client produces its user's view of the scene, mainly the other avatars. The user has (only) three control parameters: his own AVAILABILITY (means, if another user can start a chat with him or not), BREAKING AWAY (means, the user wants to stop the ongoing chat or not), and the POTENTIAL CONVERSATIONAL PARTNER (another user, mainly by clicking on his/her avatar).
The avatars behaviour control is organized in four layers:
1. Reaction to Events
2. Conversational Phenomena
3. Communicative Behavior
4. Animated Geometry
1. Reaction to Events: A set of functions which can be called by the client software. These are, e.g., user moves the avatar, another avatar comes within reaction range, users shows interest in having a conversations, another avatar spoke, etc. This layer is the "heart" of BodyChat avatar automation, since here will be decided how to react to a given situation.
2. Conversational Phenomena: This layer maps the reactions of layer 1 to the set of visual behaviors of layer 3. There is a clear distinction between Conversational Phenomena and Communicative Behavior, e.g., Salutation is a Conversational Phenomenon which is associated with a set of
3. Communicative Behaviors, like (in the case of Salutation) Looking, Head Tossing, Waving, and Smiling. Others are, e.g., Short Glance, Raise Eyebrows, Head Nod etc. Finally, each of these behaviors starts the corresponding
4. animation engine, which manipulates the corresponding avatar geometry. In the following paragraphs, the authors describe some example situations. E.g., user A wants to chat with user B, who has set his/her "boolean availability variable" to "false", so A's interest draws the attention of B, but nothing else. In another example, A chooses another avatar which is ready to chat, so the automatic processes of distant salutation, close salutation etc. are triggered.
During the conversation, each word is displayed over the head of the avatar, and BodyChat tries to add an appropriate facial expression, e.g., "very" comes with a nod, an exclamation mark with raised eyebrows, etc.
And finally, as a user wants to break away, he/she places a special character within the next sentence (a forward slash), which lets his/her avatar divert its gaze. If the partner notices this behavior and reacts in the same way (means, places an "/" in his/her next sentence), the avatars automatically farewell and break their eye contact.
*Note*:
It would be interesting to see how users react, if their corresponding avatars make choices which conflict with what the user would do in real life!
E.g., if I'd like to talk to a very attractive woman, but I am shy or not self-confident enough to do so-but my avatar just goes ahead, not knowing my real intentions and communicative capabilities! Could one use BodyChat as a sort of psychological therapy for people with communication problems? This means, could BodyChat learn people lacking basic communicative behaviors through showing them how a "normal" person would behave? Because of the "division of responsibility", the patient would have to learn to chat in situations, which are initiated by his avatar! A sort of "behavior flight simulator" for psychiatric patients?