HIGH LEVEL DESIGN

 

The emotion module of the software handles the behaviors and transitions of EVA’s emotional state. There are basically 8 different emotional states that EVA can be in at any point in time. They are listed below in descending order of ‘goodness’:

 

EVA’s reactions to a user’s interaction vary according to the state she is currently in. A user has the freedom to interact with EVA in 6 different ways, namely:

 

Depending on the user’s interaction with EVA, she will respond in a logical but non-deterministic manner. This means that there is a great amount of randomization involved in the coding to ensure realism. The possible behaviors of EVA at each state will be summarized in the following sections.

 

The condition of EVA will be tracked through 3 basic indicators: Health, Discipline and Happiness. Thus depending on the user’s interactions, the length of time she stays at some state and the response time of a user to EVA’s needs, these indicators will increase or decrease accordingly. When health reaches 0, the game is over and EVA transitions to the Death state.

 

EVA is built on an off-board MCU with 2 servo motors and an LCD screen. Depending on the current state, the servos will move the LCD screen (head) and the 2 arms to display a particular emotion. Sound will also be generated that reflects the current mood of EVA.