Learning Center
Plans & pricing Sign in
Sign Out

MOO Agents


									                                              MOO Agents
                                              Nem W. Schlecht


       MOO Agents are fully to semi- autonomous, rule based, software elements that interact

with objects within a MOO environment. In other words, MOO agents are pieces of code that

can extend the virtual environment and add functionality to items that normally would be static

objects. Agents differ from other pieces of code in that they are often mobile, allowing them to

follow a particular object, such as a player, throughout the game. The term agent can be used to

describe human elements in MOO environments, usually referred to as "human agents". Agents

are often referred to by the term "Bots," a shortened form of "robots" that roughly describes their

behavior to the uninitiated (Doppke, 1999).

       This paper describes several aspects of agents, how they are currently used, and

possibilities for future use. First, agent roles or behaviors are discussed, followed by specific

examples in WWWIC and comparing them with others agent implementations, including

learning and interface agents. Finally, we will discuss future agent use of agents and legal issues

concerning agent liability.

2.Agent Roles

       What an agent does and how it responds to certain situations determines the role of that

agent. These roles are defined as a set of rules. The rules allow for the agent to examine aspects

of one or more objects and to decide on a course of action based on its observations. For

example, a "housekeeping agent" is an agent that monitors the state of any number of objects in a
Nem W. Schlecht                                                                               Page 1
Moo Agents                                                                     Electric Words: I.V.E.

system and resets parameters in any objects, as needed. When a human agent (player) is required

to interact with that object, the housekeeping agent steps in afterwards and resets any objects that

were modified by the user to their original state, making the objects ready for the next player.

       Another example of an agent role is an agent that simulates something found in the real

world. This may be something as simple as a calculator that uses RPN (reverse polish notation)

or as complex as fully simulating another player within the system. For the calculator, a simple

input method, parser, and output method are all that are needed to simulate it. Players can enter

in RPN formulae and are given the corresponding result or error. If there is an error, the agent

may give the player help or it may leave such an action to another agent. The simulated player is

a more complex role, requiring a much larger set of rules to determine its behavior. For

example, an agent that is interacting with a newer player may play less aggressively than if that

agent is interacting with an experienced player.

       Another less obvious example is a GUI agent, whose role is to provide a transparent

interface. Such agents do not directly modify or interact with the environment, but rather

translate actions from a graphical environment to a text based environment, and vice versa. This

is one of the possible solutions to the learning curve problem with MOOs, where many new

players find it difficult to use because of the large number of commands, the typing that is

involved, and for those who are not spatially oriented, to visualize their current surroundings

(Haas, 1999).

3.Agent Use in WWWIC Projects

       Agents play an important role in all of the environment that the WWWIC has created.

The agent with the most visibility to players is the tutor agent available in all of the

Nem W. Schlecht                                                                                Page 2
Moo Agents                                                                   Electric Words: I.V.E.

environments. Tutor agents are covered in detail in chapter ??, by Ganesh Padmanabhan.

Briefly, tutor agents monitor the actions of the player and direct the player's actions when the

player does not seem to be following their assigned task. For example, when a player in

Geology Explorer first arrives on Planet Oit, they may start wandering around the planet right

away. If a player does this, the tutor agent will appear and inform the player that they should

purchase supplies and learn more about their goal before they start to explore.

       The second most visible agents are the customer agents in Dollar Bay and Blackwood.

These agents have a complex set of rules that determine their actions. Each customer agent can

represent a certain type of customer, including their age, income, and purchasing preferences. In

rare cases, these agents can even execute esoteric behaviors, such as stealing. An interesting

concept about the customer agent is that there is the possibility to replace it with a human agent,

expanding the system to not only teach participants about selling items as a store owner, but also

to teach them about market trends from a purchasing perspective.

       A less visible agent in the Geology Explorer project is the housekeeping agent called the

"gull". The gull is responsible for cleaning up any samples that have been left lying around.

When a student uses their rock pick to remove a specimen from an outcrop or other formation for

identification, they can leave that sample at the site, since it is no longer needed. However, if

every student in a multiplayer game were to simply leave these samples lying around, the object

descriptions for each room would become unnecessarily large. Each student entering that room

would see a long list of similar samples along with the original formations. The gull was

implemented to prevent this. The gull simply flies around (moves from room to room) looking

for specimen samples. When they are found, they are removed from the room and taken to a

"rock pile".

Nem W. Schlecht                                                                               Page 3
Moo Agents                                                                   Electric Words: I.V.E.

4.Related Work

       One of the reasons why agents are effective, is their ability to act in a dynamic manner.

One of the first "first person" action RPGs (Role Playing Game) was Castle Wolfenstien. In this

game, a player walked around a maze-like environment obtaining weapons and killing enemies.

Later games of the same look and feel include Doom, Quake, and Unreal. In all of these games,

the enemies (often monsters) can be thought of as agents. They wander around their

environment waiting for something to come along for them to attack. The interesting thing about

them is how they respond to their environment. For example, the enemies listen for noises or

gunfire. A player has to be careful to not make too much noise, otherwise more enemies will

will hear them and rush towards them. Also, an enemy will attack anything that attacks it,

including other enemies. This means that each enemy is aware of other enemies around it and

what they are doing. Implementing such functionality into an economic game, like Dollar Bay

or Blackwood, would introduce some interesting possibilities into such a game. Currently, the

customer agents in Dollar Bay and Blackwood are not aware of each other. Each virtual week,

when the agent receives its shopping list, it blindly goes from to store to store in the environment

looking to make purchases. If these agents were able to view only a small part of their

environment, the possibility arises for there to be a "rush" on a store, where suddenly customer

after customer arrives as they can all sense a good deal. Another possibility is that an agent

observes many other agents frequenting a certain store and purchasing the same item. The

observing agent may not originally want the item that the other agents are purchasing (not on

their list), but the agent buys the same product anyway, figuring it must be a good deal. Finally,

an agent representing an elite class (wealthy or retired person) may purchase an expensive item

near an agent of a lower class (blue collar worker or college student). The lower class agent may

observe this and decide, against their usual judgment, to purchase the more expensive item, since
Nem W. Schlecht                                                                           Page 4
Moo Agents                                                                    Electric Words: I.V.E.

it now carries the weight of being purchased by someone who is wealthier. By giving the agents

in Dollar Bay and Blackwood the ability to dynamically change their shopping list, new and

interesting aspects could be added to the games, giving participants a more realistic simulation.

       Another possibility is to have an agent that is aware not only of the current player's status,

but also of the status of other players. Currently in Geology Explorer, a player is monitored for

how many moves they make to accomplish each of their goals. This is not used to calculate their

score (although it could be), but rather as a statistic to gauge how easy or difficult each of the

assigned goals are. This data is currently stored in a MySQL database and is only looked at after

a class has participated in the virtual environment. However, it would advantageous to have the

tutor agent able to know who is effectively completing the assignment and who is not. In what is

termed as a computer-supported collaborative problem, Dillenbourg et. al. introduce the concept

of of a "super-agent" that monitors the actions of users (Dillenbourg, 1997). These super-agents

extent the collaborative environment by inviting students who are having difficulty with a certain

task to communicate with students who have completed the task effectively. In a classroom,

students can gauge which students are correctly grasping the concepts being taught by in-class

discussions. Although this same evaluation is possible in a virtual environment, it is more

difficult for the students to obtain. Not all of the students log into the system at the same time

and those who are logged in simultaneously may have completely different goals. By having an

agent evaluate the actions of players and invite collaboration between them helps the students

who are having difficulties complete their given tasks. Of course, there are problems with such

an implementation. A student who excels in the exercises may receive multiple requests from

the super-agent to help out many students. A solution may be to have the super-agent contact a

player only a set number of times before it starts to contact another player. Another solution

Nem W. Schlecht                                                                                Page 5
Moo Agents                                                                  Electric Words: I.V.E.

would be to have the super-agent contact the instructor for the course for assistance. A dynamic

online help system, involving human agents with an intervening software agent, is yet another

way to extend virtual environments to create a better learning environment.

       Another aspect of virtual environments is the ability for the environment to be a unique

experience, even if played several times. In Geology Explorer, there are a number of tasks, with

in increasing difficulty, that the student must complete. Each new player is assigned an initial

task at random. Although this tries to ensure a unique experience, no initial interaction is done

with the student to find out their strengths and weaknesses before assigning them their task. This

could be accomplished with a simple multiple choice questionnaire when a new user joins, but it

would be more advantageous to have an agent that monitors a student's activities and assigns a

goal accordingly. For example, if a student completes their first task in very short amount of

time (very few moves), the system will assign them a more difficult second task. A similar

dynamic is used by Textronix to train their Panels of Experts (POEs) for customer support

(Mateas, 1996). In the virtual world that they have created, experts are challenged with a

customer agent that simulates a conversation. How the expert answers questions and queries the

agent affect how quickly the expert completes the given task. After the conversation, an exam is

given to the expect by another agent to evaluate what knowledge the expect needs to learn in

order to complete the conversation in a more helpful manner.

       Following the course of the Internet, there have been attempts to implement a MOO that

is not interfaced with just a text based client, but also with a web browser using HTML. Called a

WOO, one such implementation has been created by Charles Willgren along with Mark Haas

and Clinton Gardner (Haas, 1999). By using the layout of the student union at DSU (Dakota

State University), the VTCMOO (Virtual Trojan Center MOO) was created to help students

Nem W. Schlecht                                                                              Page 6
Moo Agents                                                                     Electric Words: I.V.E.

locate resources available to them. The WOO works the same way as a MOO, except all

information and navigation is dynamically converted into HTML. The web is a natural tool for

delivering such information, as many students are familiar with the workings and navigation of a

web documents. Although the implementation details are not given by Charles Willgren, et. al.,

such a scenario is desirable to be implemented as a transparent interface agent. Currently, the

graphical interface to Geology Explorer is done through a transparent interface. The Java web

client connects to the MOO via a telnet session. The interaction between the transparent

interface and the MOO is the same as any normal user would see, with the exception that some

directives are given to the interface in a more computer friendly manner. Although it is

stretching the definition a bit, this can actually be considered an interface agent.

5.Implementation Issues

       Agents are one model for extending MOOs into a distributed server environment. For

example, every room in an environment contains an invisible agent that can not only track what

is happening in that room, but can also make players in that room see and hear things. Imagine a

small bug on the wall that not only observes everything that happens in a room, but also controls

a holographic projector and speaker that can make any players in the room see and hear what it

wants. Using this easy to grasp concept, simply extend the system so that each bug in every

room can communicate with another bug, on another server, representing the same exact room.

Everything that agent A hears and sees is sent to bug B, who speaks out whatever agent A hears

and displays anything agent A sees, and vice versa. However, there are several major hurdles in

implementing such a solution. What if the connection between the servers goes down or is very

slow? What if one server is removed from the system and then comes back later? These are all

Nem W. Schlecht                                                                               Page 7
Moo Agents                                                                    Electric Words: I.V.E.

concurrency problems that not only apply in a distributed virtual environment, but also in

complex single server environments. One interesting solution to this problem is to have learning

agents that determine dynamic strategies on how to interact with other agents (Prasad, 1999).

For example, another agent on the same system as a learning agent may be given a high level of

trust, meaning that any interaction with that agent is not likely to create any environmental

abberations. However, an agent on a slow server over a slow connection may be given a low

level of trust, causing the local agent to question and possibly try to verify any interactions with

such slow agents.

        Another interesting aspect of agents comes into play in such an implementation, that of

liability (Heckman, 1999). Due to their autonomous nature, agents must be implemented fully

and tested rigorously. Without such tests, agent errors may cause other agents to function

incorrectly or fail altogether. In learning environments, this may be a minor annoyance, but

there is the possibility for a serious situation to occur. For example, suppose that an instructor

has created a virtual environment in which to test students on course material. One of the aspects

of this environment is an agent that calculates the student's score, based on the student's actions.

If this agent were not programmed correctly, it may result in a poor score for the student. If this

agent is responsible for tracking the student's actions, it may record this information incorrectly

as well, resulting in a situation where the student may not be able to prove that they received an

incorrect score. In such situations, one would hope for an understanding instructor, who would

seriously attempt to recreate the problem.


       Agents will continue to play a major role in virtual environment implementations,

Nem W. Schlecht                                                                                 Page 8
Moo Agents                                                                    Electric Words: I.V.E.

including those created by the WWWIC. As described above, one of the next goals is to create a

distributed virtual environment, allowing users from all over the world to interact not only with

the environment, but also with each other, without the restriction that they all log into a

centralized server. The work of others will continue to be evaluated for possible use in the

WWWIC environments. Finally, the current agents in use will continue to be evaluated and

extended to allow for new situations and to ensure that current implementations are not only

useful, but also able to interact correctly with other agents.


Dillenbourg, P., Jermann, P., Schneider, D., Traum, D., Buiu, C. (1997). The Design of MOO
       Agents: Implecations from an Empirical CSCW Study. Artificial Intelligence in
       Education. pp 15-22.
Doppke, J. C., Heimbigner, D., Wolf, A.L. (1998). Software Process Modeling and Execution
       within Virtual Environments. ACM Transactions on Software Engineering and
       Methodology, V. 7, No. 1, pp 1-40.
Haas, M., Gardner, C. (1999). Moo in Your Face: Researching, Designing, and Programming a
       User-Friendly Interface. Computers and Composition, V. 6, pp. 341-358.
Heckman, C., Wobbrock, J.O. (1999). Liability for Autonomous Agent Design. Autonomous
       Agents and Multi-Agent Systems, V. 2, pp 87-103.
Mateas, M., Lewis, C. (1996). A MOO-Based Virtual Training Environment. Journal of
       Computer-Mediated Communication, V. 2, No. 3
Prasad, M.V. Nagendra, Lesser, V. R. (1999). Learning Situation-Specific Coordination in
       Cooperative Multi-agent Systems. Autonomous Agents and Multi-Agent Systems, V. 2,
       pp 173-207.

Nem W. Schlecht                                                                                Page 9

To top