ActAffAct Logo
Affective Acting:
An Appraisal-Based Architecture for Agents As Actors
web: http://www.ofai.at/research/agents/projects/actaffact.html
questions: stefan(DOT)rank(AT)ofai(DOT)at (substitute ;-)

What's this?

ActAffAct is the product of the master's thesis of Stefan Rank. It is a small proof of concept program that extends a BDI architecture with an appraisal component. It tries to demonstrate the applicability of such an architecture to the area of emergent narrative.

By now, ActAffAct has also been improved substantially through work done by Sandro Pirkwieser for his bachelor degree.

Emotion plays a central role in engaging drama. The conflicts between the characters in a play and the emotions involved in resolving them are the constituents of a dramatic structure, a plot. This premise leads to the assumption that a cast of characters driven by a simulation of the process described by the appraisal theory of emotion might realize dramatic structures by simply interacting in an environment that is prone to conflict. This should even be possible without any directing entity that controls the characters. Using an appraisal-based architecture is thus seen as a key to construct emotionally and dramatically believable characters for interactive drama.

The ActAffAct project constitutes an effort to test these ideas with an implementation of such characters in order to gain experiences about the feasibility and the involved complexity. A belief-desire-intention architecture for software agents is extended by an appraisal component following a psychological model of the appraisal process. Key features of different theories of drama are considered during the construction of the environment and the internal setup of the synthetic actors.

screenshot of AAAViewer

The results provide a starting point for further work about emotional agent architectures and their use in virtual worlds.


There is no real documentation for the software but the master's thesis and some slides may give some hints.

  • Rank S.: Affective Acting: An Appraisal-based Architecture for Agents as Actors, Institut fuer Medizinische Kybernetik und Artificial Intelligence, Universitaet Wien, Diplomarbeit, 2004. (Master's thesis as pdf)
  • ActAffAct Slides as pdf

There are several diagrams that document static and dynamic relationships in the ActAffAct viewer application and the agent architecture. If you start at the first SVG file (and happen to have the SVG plugin from Adobe or something similar) this should work as a (rather bad) guided tour of the source code. The PNG alternatives should be viewable in any modern browser and are probably easier to print out. The last diagram is a tentative effort to visually relate parts of the architecture to concepts of different emotion theories.

package-overview-diagram.svg package-overview-diagram.png
stage-interaction-diagram.svg stage-interaction-diagram.png
jam-package-classes.svg jam-package-classes.png
simpler-jam-package.svg simpler-jam-package.png
appraiser-diagram.svg appraiser-diagram.png
aaa-emotiontheory.svg aaa-emotiontheory.png

Toolkits Used

ActAffAct's main parts are derived from JAM, the Java Agent Model (by Marcus J. Huber, http://www.marcush.net/IRS/irs_downloads.html).

Furthermore it uses the Batik Toolkit (http://xml.apache.org/batik) for rendering simple SVG graphics, and the non-commercial version of the JGoodies Looks library (by Karsten Lentzsch, http://www.jgoodies.com/freeware/looks/).


Simply unpack and start with java -jar AAAViewer.jar (assuming a standard classpath setting and the java executable on the path).

The only requirement for running it should be a Java 1.5 Runtime Environment.

[Sound can be disabled by commenting out the corresponding line in aaas/basic.aaaStage]