Toward Improvement of Serious Game Reliability
Résumé
Serious games are complex software applications resulting from a costly and complex engineering process, involving multiple stakeholders (domain experts, teachers, game designers, designers, programmers, testers, etc.). In addition, the serious games implying multiple learners-players are dynamic systems that evolve over time and implement complex interactions between objects and players. Traditionally, once a serious game is developed, testing activities are conducted by humans who explore the possible executions of the game’s scenario to detect bugs. The non-deterministic and dynamic nature of multi-player serious games enforces the complexity of testing activities. Indeed, exploring all possible execution paths manually is impracticable humanly due to their large number. Moreover, the test can detect some bugs, but cannot verify some properties of serious games such as the scenario allows a learner to acquire all the knowledge, that the winner is necessarily one who has achieved all the learning objectives or the scenario does not lead to deadlock situations between learners. This type of properties has to be verified at the design stage of serious games' development. We propose a framework enabling a formal modelling and an automatic verification of serious game's scenario at the design stage of development process. We use Symmetric Petri nets as a modelling language and choose to verify properties by means of model checking. Petri nets are a mathematical notation suitable for the modelling of concurrent and dynamic systems. Due to the dynamic nature of serious game’s scenario, we selected a particular Petri net model: Symmetric Petri net. Model checking is a powerful way to verify systems; it provides automatically a complete proof of correctness, or explains, via a counter-example, why a system’s property is not correct. This paper discusses how this framework is used to verify the serious game properties before the programming stage begins. In order to concretise our discourse, we apply our approach on a scenario of a serious game and present how design's properties are expressed and verified thanks to the formal framework.