Introduction
Computer gaming has changed plenty since those first text games played on the very first computers. Today, we have snazzy graphics, spoken words, full orchestral soundtracks for background music, and even full screen movies. But, with the advent of all of these new technologies, the concepts behind all of these games has remained the same: large decision structures used to determine statically what will occur next in the current sequence of events. This is both time consuming and makes the program size increase dramatically with each new conceptual section added to the game. Add to this the increased size with all the video clips, the sound files, not to mention all the drivers you'll need to have if you don't use an environment that provides graphical routines for you (e.g. MS-DOS). This alone can fill up a single 600 Megabyte CD-ROM, possibly up to four in some cases! But what if there was a better way?
In the entertainment industry in general, there are several set ways of doing certain
things. For example, in the movies, if you need to create an effect that can't be done
easily with models, you use a computer. As in the movie Jurassic Park, where all the
dinosaurs were computer generated. However, this effect can take many, many weeks,
even years, to complete, with all the research and design that it takes to model each
individual's movement. However, with concepts extracted from the field of artificial life,
more realistic effects can be generated in only a fraction of the time. For example, in the
movie Batman II, the bats were generated using algorithms brought about through
artificial life research. [1] This could only be the tip of the iceberg.
Agents
In order for there to be artificial life in an application, and being that the goal of artificial life, according to the field's founder Chris Langton, is to "model life as it could be so as to understand life as we know it," [1] there should be some sort of life for the application to use. These artificial lifeforms are commonly referred to as agents. To understand what agents can do, we must first understand what agents are, and how they came about.
Agents, in their basic, "physical" form are nothing more than a computational system, designed to inhabit a dynamic, complex environment, using senses provided in the environment to act autonomously within it, advancing towards a set of goals they are designed for.[1, 10] These agents are designed to interact to interact with the local environment, other agents in this environment, or with the user/creator of the environment. [6, 10]. On a less technical level, these so called autonomous agents are the lifeforms being simulated.
These agents can be virtually anything from a small neural network, to a grand simulation of a single ant in an ant farm. Sometimes, these agents can even take a true physical form, as robots that can explore environments that are hazardous to human health, such as in a volcano crater.[1] Currently, however, a majority of work has been done on the side of the software agent.
Now that we have a basic idea of what an agent is, we should look at what they have the potential to do. As I eluded to earlier, these agents are ideal to send to hostile environments in the physical world. But is that all we can do with them? No. In fact, with cuts in the spending for defense of the country, artificial life experts are looking in a new direction: the entertainment industry. One major idea that reoccurs with noticeable frequency is a lone character (or characters) that interact with an environment. This theme appears in movies, television, animation, puppetry, video games, toys, and even in some party lines. Each of these could benefit in some form or another from the infusion of artificial life techniques.[1] In fact, some forms of entertainment, most notably online MUDs(1) already have some of these ideas implemented. But more on that later. [9, 11]
Interactive Worlds and Social Agents
One application of these agents in the world of entertainment is through the generation of emotional, or social agents. These are agents designed to simulate human behavior in interaction either in an interactive world (possibly for use in an interactive story) or in a conversation with a user.
One of the main concepts involved in creating an effective simulated world is suspension of disbelief. This is essentially what occurs when a user becomes so involved with the world that he or she doesn't pay much attention to "reality". In order to achieve this lofty goal, the agent(s) must not jar the perceptions of the user away from what is simulated. For example, if you are in the middle of a Middle Age battlefield, hacking and slashing through your Black Knight foes with your trusty sword, you wouldn't expect to make it across, only to be "blown away" by a BFG9000 straight out of Doom(2)! Each agent must mesh well with the environment, and with any other agent in the environment.[3, 5, 6] In addition, the only true, effective test is that of going in and testing the environment as a user.
One way to make an agent effectively maintain this veil of suspension of reality is by making it a "broad agent". The theory behind broad agents is simple: make an agent that can do more things, at the cost of some of the speciality of one particular field. These types of agents specialize in being general. A good way of doing generalization of this is by directing the agent using goal-based reactive behavior. [3, 4, 5, 6]
By using goal-directed behavior, we can more effectively model realistic behavior of increasingly complex creatures. In fact, the simulation can be so complete, that you can have an artificial cat that will listen just as well as your live cat! With internal states that represent how close the simulation is to a certain one of it's goals, along with effects of current emotions of the simulated animal, which were based on the interaction with the human user, you can effectively model a cat who goes away when you call it over, and sits in your lap when you're angry with it, just like the live animal. [4, 5, 6]
These artificial emotions are generated through the use of the goal-directed behaviors. As the simulated animal moves closer toward completing a goal, its happiness level will increase, and vice versa. In addition, if the user (or possibly another agent, in the case of a multi-agent environment) assists the virtual animal towards its goal, it would trigger an increase in the feeling of gratitude. But if the user hinders the virtual animal, then feelings of anger are generated. Even complex emotional responses can be represented by using multiple "simple" emotions to generate a certain response.
Now, you may be wondering how this could be of any use to the general world of entertainment. Well, in order to have an entertaining system, it is generally a good idea to have emotion involved. For instance, when you come to the final adversary in the simulation-type game you've been playing for 2 straight months, you want to have something that's worth the wait, not something that just sits there like a pillar. In addition, if you were working in an interactive fiction system, watching two automatons "acting" between one another, you're going to regret buying it.
MUD Artificial Life and Julia
One of the earliest programs that appeared to have a form of Artificial Intelligence was a simple parsing, conversational program called Eliza. This program written in 1975, was touted for its ability to successfully pass the Turing test, albeit by using tricks. This program was the basis for several future interactive programs, including Julia, an interactive "lifeform" designed to run on any number of MUDs. [9, 11]
Julia, the brainchild of Michael L. Mauldrin, has two main parts: the utilitarian functions and the turing test and related capabilities. Looking at the former, these mostly pertain to the everyday MUD items such as knowledge of money, maps of where things are, awareness of her own and other players description, as well as global descriptions and genders of different characters. She also has the ability to, when a definitive answer cannot be reached on a particular subject, do her own "Delphi Poll", and create an average result that will generally work as an answer. She can also perform calculations, and even knows Pi and e to several hundred digits. [11]
More than just a storage house for various player and world information, Julia has a distinct personality. It has even progressed so far that once every month she gets PMS and gets cranky. [11]
Inside of Julia there is also a certain amount of randomness, in order to avoid using the same answer repeatedly, so as to not break the veil of disbelief. For example, if you ask it the same question over and over, generally you get a different response, until she gets fed up and leaves, that is! [11]
While a lot of the concepts contained within Julia are closely related to artificial life, there are still some tricks that are used to make her appear more human-like. One trick is to have her spout off a controversial statement, to draw the user into the program's conversation. This allows her to talk about things she "wants", so as to avoid stray conversations outside of her realm of expertise. Another one of her tricks is to use humor. Humor is often interpreted as a human idea, and by telling a joke or two, or even the funny insult here or there, Julia can appear that much more human. A final trick that clinches humanity is introducing typing errors. A realistic delay and inserting random typos allows Julia not only to look more human, but allows her more time to come up with an answer, so as to not look the part of the fool when she answers. [9]
Miscellaneous Artificial Life Entertainment
ALIVE
ALIVE is the Artificial Life Interactive Video Environment. This environment is unique, as it it the only current implementation of an environment that is totally self-involving through full body graphical interface. The main difference between normal interactive environments and this one is that this one is totally wire free. No goggles, no gloves, nothing. The system works with images recognition to pick up the movements of the user, and then projects the digitized image onto a large screen in front of them.
As if this marvel wasn't enough, there are several intelligent agents that survive in this world. There exists a hamster who reacts be being fed and having its belly scratched. In addition, there is also a highly sophisticated dog named Silas. Silas responds to both visual and audio commands. [1, 7]
Cyberlife Creatures
Through the merging of biological metaphors and complex software programming comes the next innovation in artificial life. This time, however, it is not from some university advanced graduate research program. This time, it is for sale.
Cyberlife is proprietary artificial life technology by Millennium Technologies which they used to drive their new Creatures software. They use the computer not as a platform to run a program on, but as a container and life-support system for cyberspace. This new way of looking at things allows the programmers to program little "machines" that feed off the environment, not run in it. This has led to programming bottom up, instead of the standard artificial intelligence way of top down programming, which can just end up too cumbersome. Imagine a binary game tree depicting the path through an adventure game. As you begin to descend down the tree, say 32 choices deep (that's at 2n branches), you have over 4 billion choices for the route. This is highly inefficient to search though, no matter what search type you use. And with games becoming so big these days...
The "game" Creatures (and the word game is used lightly here, it's more of an experience!), is one of the first commercial applications of artificial life. When you install and run the program for the first time, you are presented with six eggs: 3 mail and 3 female. Each one of the eggs has its own virtual DNA.
Once you hatch the cute little Norn, you need to begin to teach him or her what is right and wrong. Since they don't understand language yet, you can tickle them for doing something good and slapping them for doing something bad. Later on, as they begin to develop language skills, you can do the same things with a simple yes or no.
The environment that the Norns live in isn't safe, either. There are natural obstacles to life, much like in "real" life, with diseases, and poisons, and there are also the predatory Grendles, who just love a tasty Norn treat.
When the Norns finally come of age, they are ready to breed. Much like in the real world,
when the Norns breed, evolution takes over. DNA is combined, and genetics determines the
outcome of the offspring.(3) [2]
Lyotard: <*GO-TO "the bedroom"> | Lyotard: <*GO-TO "the kitchen"> |
<*GO-TO "the sunroom"> | <*MEOW> |
<*GO-TO "the spare-room"> | User: <*GO-TO "the sunroom"> |
<*JUMP-ON "the chair"> | Lyotard: <*MEOW> |
<*LICK "Lyotard"> | User: <*GO-TO "the diningroom> |
<*LICK "Lyotard"> | Lyotard: <*WAIT> |
User: <*TAKE "the glass jar"> | |
User: <*GO-TO "the spare-room"> | |
Lyotard: <*JUMP-OFF "the chair"> | Lyotard: <*GO-TO "the diningroom"> |
<*RUN-TO "the sunrom"> | User: <*GO-TO "the kitchen"> |
Lyotard: <*JUMP-ON "the table"> | |
User: <*GO-TO "the sunroom"> | |
Lyotard: <*LOOKAROUND NERVOUSLY> | Lyotard: <*JUMP-OFF "the table"> |
User: <*PET "Lyotard"> | <*GO-TO "the kitchen"> |
Lyotard: <*BITE "user"> | <*MEOW> |
<*RUN-TO "the diningrom"> | User: <*POUR "the glass jar" IN |
"the kitty bowl"> | |
User: <*GO-TO "the spare room> | |
Lyotard: <*LOOKAROUND NERVOUSLY> | Lyotard: <*EAT "the sardine"> |
<*GO-TO "the sunroom> | Lyotard: <*EAT "the sardine"> |
<*POUNCE-ON "the superball"> | Lyotard: <*EAT "the sardine"> |
<*LOOKAT "the superball"> | Lyotard: <*EAT "the sardine"> |
<*NUDGE "the superball"> | Lyotard: <*EAT "the sardine"> |
<*POUNCE-ON "the superball"> | |
<*POUNCE-ON "the superball"> | User: <*PET "Lyotard"> |
Lyotard: <*CLOSE-EYES LAZILY> | |
Lyotard: <*GO-TO "the diningroom"> | User: <*TAKE "Lyotard"> |
Lyotard: <*CLOSE-EYES LAZILY> |
Bibliography
[1] Pattie Maes, "Artificial Life meets Entertainment: Lifelike Autonomous Agents", WWW
Paper,
http://pattie.www.media.mit.edu/people/pattie/CACM-95/alife-cacm95.html.
[2] Millennium Technologies inc, "What is Cyberlife?", WWW Paper,
http://www.cyberlife.co.uk/info_wha.htm.
[3] W. Scott Reilly & Joseph Bates, "Building Emotional Agents", Carnegie Mellon School of
Computer Science Technical Paper CMU-CS-92-143, May 1992.
[4] Garrett A. Pelton & Jill Fain Lehman, "Everyday Believability" , Carnegie Mellon School
of Computer Science Technical Paper CMU-CS-95-133, March 1995.
[5] Joseph Bates A. Bryan Loyall & W. Scott Reilly, "An Architecture for Action, Emotion,
and Social Behavior", Carnegie Mellon School of Computer Science Technical Paper
CMU-CS-92-144, May 1992.
[6] Joseph Bates, "The Nature of Characters in Interactive Worlds and the Oz Project",
Carnegie Mellon School of Computer Science Technical Paper CMU-CS-92-200, October
1992.
[7] Pattie Maes, Trevor Darrell, Bruce Blumberg & Sandy Pentland, "Alive: Artificial Life
Interactive Video Enviornment", AAAI '94 Proceedings, 1994.
[8] Genius At Large Software Creations, "About the Multiventure Engine", WWW Paper,
http://greed.isca.uiowa.edu/~greed/multi.html.
[9] Michael L Mauldin, "ChatterBots, TinyMUDs, and the Turing Test: Entering the Loebner
Prize Competition", AAAI '94 Proceedings, 1994,
http://fuzine.mt.cs.cmu.edu/mlm/aaai94.html.
[10] Sarit Kraus & Daniel Lehman, "Diplomat, an Agent in a Multi-Agent Environment: An
Overview", Technical Report CS-87-3, April 1987.
[11] Leonard N. Foner, "What's An Agent, Anyway? A Sociological Case Study", WWW
Paper, http://foner.www.media.mit.edu/people/foner/Julia/Julia.html
1. Multi User Domains or Dungeons. These are Internet (usually) programs that textually simulate a world, typically with a fantasy or science-fiction theme. Players from all around the world can log in and interact not only with the world, but with each other.
2. BFG9000 and Doom are both registered trademarks of I.D. Corp.
3. Creatures and Cyberlife are both registered trademarks of the Millennium Technologies corporation.