Serious Games have gained more and more importance lately. They are often used to provide an efficient training, with reasonable costs and/or risks. Combining games mechanisms with training objectives can be quite an interesting choice, however, there are several problems that are not to be underestimated.
Most of the times, scenarios with gradually increasing difficulty are defined and then sequentially presented to the trainee. This leads to some very rigid game dynamics, and leaves very few room for adaptation. By defining presets levels of difficulty, one restricts the possibility for the game to fit the user's needs.
We claim that for a training game to be efficient, it needs to adapt its dynamics to the users' skills and abilities. Whether the training takes place under the supervision of a trainer, or with the only use of dedicated software, all the parameters ruling the game must be adapted in order to provide the most efficient game experience to the trainee.
The objective of my PhD is to use multi-agent technologies in order to adapt serious games' scenarios to the different users and situations. By making the different values defining the game experience autonomous, we allow us to only express what we want to teach to the trainee. Each objective and parameter of the game is being controlled by an autonomous agent. By giving them some negotiation skills we will let the organization choose what are the appropriate values for a given trainee in a given situation. These mechanisms allow us to deal with a large quantity of data, as with various and different trainee profiles without planning it in advance.
The underlying theoretical background of this work is the AMAS (Adaptive Multi-Agent System) theory. It claims that a complex, incompletely specified, and dynamic task can be achieved by a set of cooperating agents. The cooperation of the different agents let emerge a global behavior of the organization.
During the last three years, I conducted many programming lab sessions at undergrad level (Functionnal and Object Oriented Programming).