My research theme focuses on Computational Games. It entails the scientific study of formal games, their interactions and informational effects. In particular, we explore the effects of games as educational and/or therapeutic devices for facilitating learning/relearning of skills, knowledge, know-how, and behaviours.
I have conducted several research actions involving the creation and evaluation of games in various domains such as healthcare, education, and cultural heritage preservation.
Here is a summary of my main research projects presented in chronological order.
This project, funded by SATT AxLR, aimed to provide tools for facilitating the production and distribution of games and serious games. We used this environment to develop two actual video games:
Games for memory stimulation used in specialized healthcare centers. The games were designed in collaboration with the University Hospital Center (CHU) of Nice using our development methods and tools.
Development of adaptive therapeutic games (Hocine et al., 2018) for post-stroke functional rehabilitation in collaboration with the University Hospital Center (CHU) of Montpellier. Following this work, the company NaturalPad (https://www.naturalpad.fr/) was independently established in 2011 by some members of the research team involved. As of 2021, NaturalPad claims more than 136 client sites and 10,200 player-patients.
Iago Bonnici (2021): Towards Protean Learning: Adapting to Changes in Artificial Agents’ Signatures
Supervision | Abdelkader Gouaich (70%) Fabien Michel (30%) |
PhD Student’s Career | CNRS Research Engineer at ISEM |
Abstract: This thesis falls within the field of machine learning, specifically focusing on the learning of tasks that change over time, which we refer to as Protean Learning (PL). The change occurs to the agent’s signature, defined as the set of inputs/outputs of the learning program. In the event of signature changes, which are natural in certain application contexts, the search space becomes undefined, and it would be costly to restart the learning process from scratch. This work presents a rigorous formalization of PL and the signature change problem. We demonstrate that a set of natural projections allows for generic accommodation of input/output deletion events, independent of the tasks. We validate this proposal of natural data projections through synthetic experiments. We conclude that PL is not only interesting due to the significant challenges it poses but also because there exist generic techniques, such as the natural projections we exhibit, that effectively address them in the tested contexts.
Nadira Boudjani (2018): Assisting the Construction and Evaluation of Deductive Mathematical Proofs using Argumentation Systems
Supervision | Souhila Kaci (80%) Abdelkader Gouaich (20%) |
PhD Student’s Career | Senior Engineer in a Major IT Services Company |
Abstract: Learning deductive mathematical proofs is fundamental in mathematics education. To address this problem, several studies in mathematics didactics employ collaborative learning that includes argumentation. The literature shows that argumentation: (i) enhances critical thinking and the development of metacognitive skills such as self-evaluation, (ii) increases students’ motivation through social interactions, and (iii) promotes learning among students. In this thesis, we propose a system for the construction and evaluation of deductive mathematical proofs based on formal argumentation. This system has a dual objective: (i) enabling students to construct deductive mathematical proofs through structured argumentative debates and (ii) assisting teachers in evaluating these proofs and all intermediate steps to identify errors and provide constructive feedback to students. The system has been implemented and validated through an experimental study to assess its acceptability by students and teachers.
This thesis was co-supervised with Prof. Souhila Kaci (main supervisor).
Richard Ewelle Ewelle (2015): Adapting Game Communications in the Cloud
Supervision | Abdelkader Gouaich (90%) Stefano Cerri (10%) |
PhD Student’s Career | Research Engineer in a Major IT Services Company |
Abstract: Cloud computing, in the context of video games, has garnered significant attention due to its evolutionary capabilities, availability, and computing power. However, current cloud gaming systems have strong network resource requirements, thus reducing the accessibility and ubiquity of cloud gaming services for clients with limited bandwidth and individuals located in areas with limited and/or unstable network conditions. In this thesis, we present an adaptation technique inspired by the level of detail (LOD) approach. We propose a level of detail approach to manage the distribution of network resources based on the importance of objects in the scene and network conditions. We validate our approach using prototype games and evaluate the player’s Quality of Experience (QoE) through pilot experiments. The results show that the proposed framework provides a significant improvement in QoE.
Yannick Francillette (2014): Adaptive Model of Activities for Ubiquitous Games
Supervision | Abdelkader Gouaich (50%) Abrouk Lylia (40%) Stefano Cerri (10%) |
PhD Student’s Career | Professor-Researcher at Université du Québec, Chicoutimi |
In this thesis, we focus on a specific type of computer applications: location-based video games. These games on mobile devices face the challenge of changing player’s game conditions. The objective of this thesis is to propose a model for the design of self-adaptive games in the player’s context. This model should be generic and enable the creation of video games that can modify their activities and objectives based on the player’s current context. Our proposal includes a generic model of activities and objectives in a video game, which we refer to as “gameplay component,” and a model for detecting gameplay components compatible with the current context. To validate our approach, we conducted a synthetic laboratory experiment and also used our gameplay component model in an industrial context.
Nadia Hocine (2013): Adaptation in Serious Games for Functional Rehabilitation
Supervision | Abdelkader Gouaich (90%) Stefano Cerri (10%) |
PhD Student’s Career | Lecturer-Researcher at Université Oran, Algeria |
Abstract: Stroke is one of the leading causes of acquired disability and death among adults worldwide. Numerous research studies have emerged to improve rehabilitation strategies by incorporating serious games into the therapeutic process. The advantage of these serious games is to provide patients with a personalized and immersive training environment. This thesis focuses on an adaptation technique aimed at improving the training outcomes for patients while maintaining their motivation during a therapy session. The technique is based on evaluating the motor abilities of hemiplegic patients to dynamically adapt the game difficulty. It was evaluated through experiments involving healthy players, therapists, and stroke patients. The evaluation results demonstrate that the adaptation technique increases the number of tasks, the number of successful tasks, and the range of motion. Additionally, it also helps maintain player motivation when compared to control strategies. This shows promising potential for enhancing the recovery of patients who have experienced a stroke.
Ghulam Mahdi (2013): Level of Detail in Agent Societies in Games
Supervision | Abdelkader Gouaich (50%) Fabien Michel (40%) Stefano Cerri (10%) |
PhD Student’s Career | Senior Artificial Intelligence Engineer, Large Company, United States |
Abstract: Artificial Intelligence (AI) is an essential component of video games, and increasing efforts are being made to enhance AI to make games more immersive. However, this improvement often comes with a growing demand for computational resources. As a result, these resource requirements may degrade the game’s frame rate and the overall player’s Quality of Experience (QoE). In this context, our objective is to maintain the frame rate above a certain threshold by modulating the amount of resources required by the AI component. To achieve this, we propose allowing programmers to define multiple levels of detail (LOD) for the AI, similar to how graphical scenes are displayed. Existing approaches using distance and visibility criteria, developed in the context of graphics rendering, are not always suitable for AI as they may not accurately reflect the real importance of a character to the player. In this thesis, we propose using organizational concepts such as groups and roles to define the importance of a character to the AI. Thus, a video game is considered an agent society (the game characters) whose individual or collective importance is determined based on their positions in the organization. Our approach has been implemented and integrated into the AGDE game engine (Agent Game Development Engine). Experimental evaluation was conducted using a repeated measures design to assess the difference in QoE between a game with and without our approach.
As an educator, my main goal is to create a stimulating learning environment that supports students’ success.
Here are the key points that characterize my teaching method:
A bottom-up approach through experiential learning: For students, I prioritize concrete experiences presented in the form of learning situations. Subsequently, we gradually build more general concepts based on knowledge derived from these situations. Through projects and concrete exercises, students are encouraged to experiment, solve real problems, and draw conclusions from observations. This bottom-up approach promotes better retention of knowledge and a deeper understanding of concepts. Students are actively engaged in the learning process, which strengthens their motivation and interest in the subject matter. Additionally, project-based work allows students to develop metacognitive skills such as problem-solving, collaboration, time management, and decision-making. They are required to work in teams, communicate effectively, and take initiatives. This also prepares them to tackle the challenges of the professional world, where they will face new situations and have to collaborate within teams.
Promoting critical thinking and collaboration for knowledge/skill co-construction: I consider critical thinking, rational inquiry, and collaboration as essential skills for students’ intellectual development to meet the challenges of our century. I actively encourage students to question preconceived ideas, critically analyze the information presented to them, and formulate well-supported arguments to justify and rationally prove their viewpoints. Collaboration among students is also crucial as it allows for knowledge sharing and exchange of perspectives in a multicultural world. Group activities, class discussions, and collaborative projects are means through which I seek to promote this critical mindset and co-construction of knowledge. Moreover, this approach enables students to acquire skills related to social competences and human relationship management, which are highly important for their future professional career.
Fostering dynamic and participatory teaching to increase student motivation: I strongly believe that motivation is a key factor in learning. Teaching should be dynamic and engaging to foster and sustain this motivation. Therefore, I adopt an active approach in my pedagogical practice, utilizing various methods such as case studies, role-playing, games and interactive demos. I also encourage students to actively participate in class by presenting negative cases or counterexamples to be investigated and corrected. My aim is to stimulate curiosity and maintain students’ interest throughout the course. This environment also allows me, as an educator, to remain active, vigilant, and engaged during my sessions.
Fostering student autonomy to acquire skills: The success of students outside of the classroom depends on encouraging their autonomy throughout the learning process. I encourage students to explore rather than giving them pre-made solutions and the appearance of easily attained competency. By providing pertinent materials, encouraging them to ask important questions, and helping them avoid dead ends, it is my responsibility to guide and accompany them on their path. I think that using this method helps students grasp ideas more thoroughly and, more importantly, gives them the metacognitive skills that are so vital in today’s world: being able to learn how to learn.
Fostering progressive pathways with discoveries of limits and challenges throughout the journey: The role of a teacher is not to mechanically repeat knowledge that can be found in any reference book. Instead, the teacher should provide a strategy in the form of a progressive sequence where students are encouraged to challenge their limits throughout the process. I design my courses to offer a gradual progression of the concepts and difficulty. This allows students to develop their knowledge gradually and gain confidence in their abilities as they progress. I also encourage students to challenge their comfort zone so they can explore new horizons and deepen their knowledge.
Since 2007, I am a tenured researcher/teacher at the University of Montpellier and affiliated with the Technological institute of Montpellier. I teach computer science courses in programming languages, operating systems, computer networks, databases and web programming.
I also teach principles of game design and game programming for Master level at the Faculty of Sciences in Montpellier. I am the coordinator and co-founder of this module.
The rest of this section provides a summary of my teaching activities over the past 5 years.
This module presents imperative and structured programming for undergraduate students. The aim is to introduce the fundamentals of algorithmics and data structures. A simplified, yet comprehensive, algorithmic language is used to program fundamental algorithms such as sorting and arithmetics of finite fields. After this first stage, students program using actual programming language, which can be either C/C++, Ada, Python, or Java. Upon completion of this module, students are capable of analyzing, programming, and testing simple algorithms with basic data structures (arrays and lists).
This module has a dual objective. Firstly, it aims to introduce students with the Unix environment and its main components: file system, memory and process manager.
The second part focuses on the representation and encoding of information (binary encoding of integers and floating-points with IEEE754) and the modeling of combinatorial and sequential logical circuits. The implementation and testing of these circuits is performed using graphical simulation softwares and/or VHDL.
This module introduces the fundamentals of TCP/IP technologies for developing client/server applications in C. We cover basic concepts such as the OSI model, TCP/IP layers including IP addressing and routing. The C socket API is then used to create simple client-server applications such as chat servers or web servers.
This module covers the relational model (including normalization and relational algebra) as well as the SQL language. The Oracle’s PL/SQL language is also used for managing stored procedures.
This module introduces web programming using the PHP programming language. Students develop complete websites with a presentation layer, application logic, and data persistence layer (following the Model View Control pattern)
This module presents the key components of an operating system: file management, memory management, and process management, as well as an introduction to IPC mechanisms. Students interact with these components using the C API. Advanced practical assignments include programming a dynamic memory allocator (similar to malloc) and developing client-server applications using POSIX pipes and message queues.
This module addresses the coordination problem between independent activities. It covers coordination mechanisms such as locks and semaphores, with a focus on using semaphores to solve mutual exclusion and writer/reader synchronization problems.
This module covers advanced web programming using the PHP Object language with integration of the data persistence layer. Students develop advanced websites (e.g., eCommerce) using the MVC model and publish RESTful web APIs.
This module covers the network layers of the OSI and TCP/IP standards, IP addressing, routing plans, C socket APIs for client/server applications.
This module covers internet application protocols such as HTTP and SMTP. Students learn to install and configure core services, such as a web and database servers, on the network using Linux virtual machines.
This module offers advanced learning of the JavaScript programming language, including an introduction to the JavaScript virtual machine and its specifications (ES5, ES6, and ES7). Topics covered include advanced object management, functions and lexical environments, advanced handling of functions and objects in JavaScript, and the use of asynchronous programming and promises in JavaScript for event-driven programming.
I am a co-creator and educational coordinator of the “serious games” module for the IMAGINE master program. This course presents theoretical concepts as well as practical tools for video games and serious games development. From a theoretical standpoint, we explore the concept of games based on the works of R. Caillois and J. Huizinga. The effec of games and their functions are explored from the perspectives of D. Winnicott, M. Csíkszentmihályi, and G. Brougère. Finally, the integration of narrative structures into games is presented through J. Campbell’s monomyth theory. From a computer science perspective, the rational game design methodology is introduced. The “Entity/System” design pattern is studied and utilized for prototyping video games using Unity$^{\small \textregistered}$. Statistical tools, such as the Student’s t-test and ANOVA, are presented to conduct comparative and experimental studies.
I am the coordinator of the APIDAE professional bachelor degree. APIDAE (in french) stands for Informatics Project Assistant for Web/e-Business Application Development. Our goal is to instruct students to become full-stack developers who master both fundamental concepts (such as software architectures, design patterns, databases and network architectures) and professional frameworks (such as Symfony, Vue.js, Angular, JS, PHP)
My responsibilities include :
Second-year students in the DUT program are required to complete a minimum 10-week internship. This involves approximately 100 to 110 students. My responsibilities included informing students about the internship process and assisting them with the research phase, validating internship assignments, ensuring the establishment of internship agreements, coordinating the teaching team to monitor students during their internships, and organizing and scheduling the presentation sessions for the cohort.