1. What is FAtiMA-Toolkit
As we’ve mentioned, FAtiMA Toolkit is a collection of tools and assets designed for the creation of characters (virtual or robotic) with social and emotional intelligence.
The toolkit is a continuation of the work done in developing the FAtiMA agent architecture, initially released in 2005.
Main Objectives:
- Facilitate the authoring process of believable agents and interactive scenarios through the use of a Authoring Tool
- Use library-based design to empower developers: FAtiMA is also available as a .dll library that can easily be added to a development engine.
- Create content that is easy to change and be reutilized: Characters and scenario scenario data are stored in .json files that can be easily accessed, edited and replicated.
- Open-Source approach: FAtiMA is completely free and available for possible modifications and redistributions.
How does it work?
Using the Integrated Authoring tool authors are able to create not only intelligent characters but also complex socio-emotional scenarios that can be used in Teaching, Training and even Entertainment contexts. This tool works as a user interface developed in Windows Forms which creates .json files where all the information regarding agents and narrative is stored. These files, along with FAtiMA Engine (the .dll library) can be imported into development engines such as Unreal Engine and Unity. With them developers are able to use the created believable and social agents in computer applications.
Key Features:
- Character-Centric design: Narrative emerges from how the player and the agents interact with each other in accordance to their given narrative roles.
- Rule based system: motivated from the desire to approach the language used in the Intelligent Virtual Agent field to the one used by programmers
- Explicit Dialogue Structure: a combination of dialogue trees and dialogue pools.
- Modular approach: despite its complexity, developers can simply use the components they need
Architecture
FAtiMA Toolkit is a Windows Form application which can be downloaded from our NAS server. Additionally it is also available on our Github Repository where is it still being updated with new features and improvements.
The years of work and development have let to a complex but modular architecture. In the following sections we will describe step by step what each component does along with examples and training materials to facilitate the authroing of FAtiMA Toolkit
An affective agent created with FAtiMA Toolkit will be initialized by the Role Play Character component. The name of the component was chosen based on the notion that FAtiMA agents are typically designed to be able to act according to a specific social role in a coherent manner. This component is responsible for managing the structures that constitute the internal state of the agent: their beliefs, memory and emotional state. Authors can also add more complex and believable behaviour to the agents, which we call Role Play Characters, by using other components. For instance, in order for agents to be able to perceive events in the world around them and have emotional reactions, the Emotional Appraisal component can be used. To define the agents’ ability to make decisions based on their beliefs and goals one can use the Emotional Decision Making asset. All of these different components were developed as libraries, which the developers or authors can directly import and explore more easily without having to worry about compatibility issues
For a more extensive look at FAtiMA Toolkit we recommend reading our paper: “FAtiMA Toolkit — Toward an effective and accessible tool for the development of intelligent virtual agents and social robots”.
However, if you want to learn how to use FAtiMA we suggest you to start with the Authoring Tool.