HELP FEELINGS.DEMO                                Aaron Sloman, Mar 1999
Updated 29 Jun 1999

CONTENTS

 -- Overview
 -- How to run it
 -- Pauses
 -- Related libraries

-- Overview -----------------------------------------------------------

The file TEACH SIM_FEELINGS provides a simple demonstration showing how
to use the sim_agent toolkit to build a simple (and very shallow) type
of agent which appears to "manifest feelings" as it moves around in its
world.

There are two agents called r1 (coloured red on the display) and
b1 (coloured blue) which try to get to their targets, tr and tb.
In addition there are several obstacles, o1, o2, ... o6.

While the agents move around, trying to get to their targets and trying
to avoid obstacles and each other, they have "feelings" which change,
and the changes are shown (crudely) in pictures of their faces,
depending on what they can see. They also print out their new feelings
and also the reasons for their feelings.

The agents can feel glum, surprised, neutral or happy, depending whether
they see an obstacle, another agent, nothing in the field of view, or
their target. An agent also becomes surprised if it discovers it or its
target has been moved to a new location.

An agent's speed of motion depends on its feeling: the happier it is the
faster it goes.

-- How to run it ------------------------------------------------------

To run the demonstration program in TEACH SIM_FEELINGS you can
either do the following:

    compile('$poplocal/local/teach/sim_feelings');

    I.e. put the VED cursor on that line and do ESC d

OR
In VED do
    ENTER teach sim_feelings
to read in the file

then
    ENTER l1
to compile it.

Either way it will print out instructions to start the program, running,
e.g.

    run_simulation(sim_setup_info, 300, mintracevars);

You will see a control panel which allows some boolean variables to be
turned on or off during the running, a panel with two faces, and a
panel showing the simulated world with two movers, two targets and six
obstacles.

If you select the "STOP DEMO" button, the program will end at the next
pause.

As explained in HELP * SIM_HARNESS, it is possible to include more or
less trace printing and pausing, by inserting more trace variables
into the list shown in the panel.


-- Pauses -------------------------------------------------------------

The program continually pauses, and during a pause you can use the mouse
to move agents, targets, or obstacles to new locations. To restart after
a pause move the mouse cursor into the pop11 output window and press
RETURN.

The control panel includes various buttons which can be used to alter
the amount of tracing produced.

The default configuration of tracing is fine for initial exploration.
Leave demo_cycle_pause set to T if you want the program to pause at the
end of each time-slice.

Otherwise it will run continuously. You can vary the speed with which it
runs by using the right mouse button to increase the DELAY control, or
the left button to decrease it.

If you click on PAUSE DEMO the program will pause, until you press
RETURN (with the mouse in the ouptput window).

If you click on STOP DEMO the program will halt and print out
information about how to restart it.

Before restarting you can give the following commands to print out
information about the blue and red agents:

    b1 =>
    r1 =>
and their targets:
    tb =>
    tr =>

After that you can restart the program for 600 cycles with the command

    continue_run(600, []);


For further details see

    TEACH * SIM_FEELINGS

-- Related libraries --------------------------------------------------

The extension to SIM_AGENT which provides graphical methods for agents
and objects is
    LIB * SIM_PICAGENT

The "test harness" procedures and tracing methods are defined in
    LIB * SIM_HARNESS

A library of face types for several different feelings

    LIB * RC_FACES

--- $poplocal/local/sim/help/feelings.demo
--- Copyright University of Birmingham 1999. All rights reserved. ------
