|Table of Contents|
THE GAME DEVLOPERS EXPLAIN IT ALL
The Babyz personalities are based on well-established cartoon archetypes, such as the clever naughty kid, the spoiled brat, and the sweet little angel. By making the Babyz sound and act in these recognizable ways, it becomes much easier to design understandable and entertaining narratives. (Interestingly, in the history of traditional animated cartoons, there have been few baby characters, perhaps because cartoons are often a bit violent, for which babies are not as well suited as cats and mice or coyotes and roadrunners.)
Short-term narratives in Babyz: Poops and Pranks
There are a variety of short-term narratives that can occur in Babyz, each of which may last anywhere from twenty seconds to several minutes. These narratives are sequences of actions and behaviors that follow some sort of recognizable continuity. Two examples are described in this section: soiling a diaper (leading to a diaper change), and playing a mischievous prank on a fellow Baby.
The Babyz behavior architecture is designed to allow only one short-term narrative to be occurring at one time. Yet over its duration it is possible that other short unrelated actions and behaviors can occur, either due to interruptions from unpredictable user interaction, or due to other ever-present influences like a character's metabolism (e.g., the character may get hungry and eat a quick snack). However if the narrative is distracted for more than ten or twenty seconds, it may abort and allow another narrative to begin.
Short-term narratives are implemented as high level behavior goals, each goal having multiple possible plans that can be executed in a non-linear order. Narrative goals are often spawned as reactions to user interaction, to other events in the environment, or to the character's own internal metabolism. Note that many goals in the system are non-narrative, such as being tickled or being picked up and carried; in a reactive situation, narrative and non-narrative goals compete for execution. At any decision point, each goalís filter function is queried to compute how important it is for that goal to execute under the current circumstances. Filter functions are custom code in which the programmer can specify when a goal should execute. In a reactive context, a filter function for a narrative goal is customized to respond strongly in situations in which objects its behavior requires are now available. Part of the craft of authoring behaviors is balancing the output of these filter functions; it is easy to accidentally code a behavior to happen far too often or too seldom for believability.
Narrative goals can also be spawned deliberately as a need to regularly express the character's particular personality. This is achieved by regularly querying all goalsí filter functions in a non-reactive context, each using the characterís personality attributes as a basis for evaluating its goalís importance; only the filter functions for narrative goals are coded to respond in this context. Additionally, a "drama manager" is keeping track of how often certain dramatically interesting narrative goals have occurred over time, and will deliberately spawn such a goal if the user hasn't experienced one in a while.
All instantiated goals are sorted in order of priority, with only one goal executing at any one time (the highest priority goal); all others are suspended, waiting to start or resume executing. At any time the current active goal can be interrupted and suspended if a higher priority goal is spawned. In fact goals can spawn other goals, allowing for multiple goals to queue up for eventual execution. Goals may delete themselves if their context conditions become invalid.
As a first example of a short-term narrative, the metabolism model is keeping track of how much time has passed since a Baby last ate, and may spawn a "soil diaper" goal. This goal always begins with the same plan, "poop in diaper", in which the Baby sits still wherever it may happen to be on-screen at that time, making sounds and facial expressions to the effect of dirtying its diaper. After this plan finishes the goal suspends itself to allow other goals to execute, such as "play with toy", "crawl and explore", "build blocks" and so on. (Which goal gets chosen is influenced by, for example, what toys the user may be interacting with at the time.) However each of these user-interactive goals will customize its behavior in context-sensitive ways, by choosing appropriate alternate locomotion animations, facial expressions, vocal sounds and diaper sounds to be seen and heard during the behavior. Eventually the "soil diaper" goal will resurface as the active goal and begin choosing from more crisis-oriented plans such as "act cranky", "cry", "itch bottom", or "babble" with baby-talk words like "poo poo" or "doo doo", each expressing more severe facial expressions and sounds during the behavior. The goal will continue choosing from this set of plans indefinitely until the user puts the Baby on the changing table, causing the goal to begin choosing from plans such as "happy diaper change", "resist diaper change", "act cranky" or "crawl and explore". Once the diaper is actually changed, the goal finishes and deletes itself, thereby ending the narrative.
Note that at any time during this narrative the user could interrupt and cause new higher priority goals to be spawned, such as "being tickled", "being picked up and carried", "react to toy shaken in my face", and so on. However these non-narrative goals are designed to end as quickly as possible if any narrative goals are suspended and waiting. Many user interactions will not disrupt an ongoing narrative at all but instead influence its execution, such as saying "shhh" if the Baby is crying, or the influencing the choice of which toy to play with, as described earlier.
Another short-term narrative example is the goal "play a prank", perhaps spawned by a naughty Baby reacting to the need to regularly express its personality, in conjunction with the presence of another Baby nearby. Before choosing a plan, the goal first scans the environment for objects tagged as good prank toys, such as a glob of wet food or a bouncy ball. (The user can influence this choice by putting certain toys within reach.) The goal first chooses the "pickup toy" plan with the chosen toy. Depending on what toy it picked up, the Baby may choose plans such as "throw toy at other Baby" or "shoot toy at other Baby". Depending on the outcome of the plan, as well as the user's reaction (such as verbal praise or discipline), the goal may finish with a plan such as "point and laugh", "act angry", "act shameful". Note that if this "play a prank" goal is interrupted by the user, for example by tickling the Baby, this goal is designed to delete itself, since the nature of its narrative requires tight continuity, and has no suspension-of-disbelief consequences for aborting. In the case of the earlier "soil diaper" goal, it will never delete itself until the diaper actually gets changed.
Other examples of short-term narratives include "playing musical instruments" to improvise a song, and "reading of a picture book" (a sort of narrative-within-narrative).
Long-term narratives in Babyz: Rivalries, Relationships and Development
The Babyz characters (as well as their Petz predecessors) are designed to be regularly played with over the course of many weeks or months. Over time the Babyz will change and develop, eventually able to walk, talk, and understand a few spoken words. They may change how they feel about and behave towards the user and each other. Over the long-term the hope is that users will suspend their disbelief that these are artificial characters, and bond with their virtual Babyz, forming rewarding emotional relationships with them.
Babyz have an persistent fuzzy "association matrix" memory, where they keep track of how positively or negatively they feel towards the user and the other Babyz and objects they encounter. This memory is constantly being updated as they interact with their environment. When Babyz first meet, their initial attitude towards one another is established as a function of how compatible their particular personalities are, how well their first meeting goes (which can be influenced by the user), as well as some randomness. If two Babyz feel negatively towards each other, this can begin a long-term sibling rivalry, where they take turns playing pranks on each other over time. (The previous section on short-term narratives describes an example of a prank.) At first this rivalry begins with simple mild pranks such as stealing a toy, or startling the other Baby by saying "boo". But over time the pranks get more and more elaborate, such as throwing objects at each other, knocking over building blocks, messy food fights, and so on. The rivalry can continue indefinitely this way, or subside from user intervention such as keeping these Babyz apart to prevent them from fighting, or praising them in the moments when they are together and not fighting.
A long-term rivalry narrative is not implemented as a behavior goal, as short-term narratives are. The history of a rivalry is kept track of with a simple persistent episodic memory, which is queried by the drama manager to decide what short-term prank narrative goals to spawn next, and when. It is the overall continuity of related short-term narrative goals executed over time that constitute the long-term "narrative".
Another set of long-term narratives in Babyz are the development of skills. (All behaviors are pre-authored, with the userís interaction unlocking them over time, to create the illusion that the Babyz are learning.) Over the course of several weeks, through the help of user encouragement, Babyz can advance from crawling on their stomachs to crawling on all fours, to taking their first steps, to walking. (To advance beyond walking, users have to wait for next year's product, Babyz Two Year Old.) When first adopted Babyz only make simple cooing and gurgling sounds, but if stimulated by the user's voice, they will begin trying to pronounce single syllables, and eventually become able to say simple words in a baby-talk fashion. Over time Babyz can graduate from exclusively suckling on a milk bottle for nourishment to eating food from a spoon, and feeding themselves. At first Babyz will only timidly tap at a toy piano or drum, but with the userís encouragement they will begin playing simple songs, eventually in synchrony with the user and each other.
Like the rivalry long-term narrative, it is the overall continuity of related short-term narrative goals executed over time that constitute the long-term development narratives. Each of these development stages are kept track of by a set of simple persistent variables, from which the behavior and animation systems constantly refer to, always modifying how all other goals and plans are performed.
As you may conclude from reading this paper, when implementing Babyz we found it expedient to borrow techniques from many different disciplines, including artificial intelligence, artificial life, videogames, improvisational acting, and traditional cartoon animation. Our goal was to create a complete, polished, mass-appeal interactive entertainment product, as well as to make progress in the areas of lifelike computer characters and interactive narrative.