EmpathyWorks is a plug-in for an AI system.
This demo shows a very simple AI system, which is responsible for passing events that you select to EmpathyWorks.
EmpathyWorks interprets the events according to each simulated individual's personality
and the relationships between those personalities.
The demo AI system interrogates EmpathyWorks to determine each individual's internal state,
and the AI system is responsible for displaying each individual's emotions.
When the demo application starts it will display a random number of individuals.
You can cause time to pass by clicking on the Hour button,
and other individuals will come to life as time passes.
There are unary events and binary events.
For unary events, click on an event and then the individual you wish to send it to.
EmpathyWorks, running on the Micronautics Research web server, will receive the event, pass it to the simulated individual,
and propagate its effects to the individuals that are in relationship with the individual you selected.
Each individual's graph showing their internal state will change, and their expression will mirror their internal state.
This demo application enforces the 'no breeding unless you are married' rule, and EmpathyWorks maintains the relationships.
Eagles and macaws have been defined as relatively complex species. Snakes are a simple species.
Eagles prey on snake adults, and snakes eat macaw eggs and chicks.
This demo application defines a unary eat event for humans and macaws; one does not know what it is those species eat.
Binary Attack events are for the predators (eagle and snakes.)
Binary events require that you first click on an event button, then on each of the individuals.
Some binary events like Marriage and Divorce
do not care on the order in which you click on the individuals.
Other binary events such as Attack require you to first click on the individual doing the action,
then the individual which is the object of the action.
If you send an Attack event to the eagle it will eat one of the snakes or macaws.
Because snakes are defined not to have emotions, the other snake is unaffected.
If a macaw is eaten, the surviving macaw will become distressed, as will anyone who has adopted it as a pet.
If you kill one of the individuals by clicking on the Death event button and
then select an individual to die,
that individual will die and the death will affect all other individuals in relationship with it.
Clicking on the Hour submit simulates the passing of one hour.
Clicking forward each hour will cause each individual to become hungrier.
Clicking on the Mature submit causes the selected individual to progress to their next life stage.
Different species have different life stages.
Normally the AI system would have each individual mature using the same time base,
but for demo purposes we decided that it was simpler to let you control each individual's maturation rate.
The last life stage for all species is "Dead".
Not all events have meaning for every species, and some events can only be responded to by an individual
at the appropriate life stage.
For example, only adult humans can respond to the Marriage and
Divorce events.
The AI system must keep track of the semantics of these events, so it must 'know' that only married humans can divorce.
EmpathyWorks is only responsible for personality, emotions and relationships; the AI system is responsible for the bigger picture. |