EA2014 Sim3D education

= Présentation =


 * Enseignants : Georges-Pierre Bonneau, Didier Donsez (EA2014)
 * Sujet : Simulateurs 3D pour l'éducation
 * Date : 17 octobre 2014
 * Auteur : Patrick PEREA

Mots Clés
Simulation, Education, Unity, Unreal, Project Anarchy, Scalable Game Design, AgentCubes

= Synthèse =

Introduction
La simulation informatique 3D se rapporte à un programme dont l’exécution donne l’illusion qu’un ou plusieurs phénomènes physiques se réalisent. Les résultats de ces phénomènes sont visualisés sur un écran à l’aide d’images de synthèse. Les simulations 3D sont bien connues pour être utilisées dans les jeux vidéo et créer de nouveaux mondes virtuels. Cependant, d’autres secteurs utilisent aujourd’hui les simulations :

- Le cinéma utilise les images de synthèses pour ajouter des effets spéciaux sans mettre en danger la vie des acteurs. (The day after tomorrow : simulation de fluides pour créer les énormes vagues)



- Dans le domaine de l’automobile, les simulations 3D sont employées pour, par exemple, déterminer le comportement de la voiture et les dégâts subis en cas de choc frontal.

- Dans le domaine de l’éducation, les simulateurs sont par exemple utilisés pour permettre aux étudiants d’acquérir des réflexes, comme dans les écoles d’aviation avec les simulateurs de vols. Ils sont également de plus en plus employés par les écoles primaires pour faire découvrir aux enfants la nature, comme l’anatomie du corps humain par exemple.

Nous allons nous concentrer sur les simulateurs 3D pour l’éducation. Cette nouvelle manière d’enseigner est adoptée par de plus en plus d’institutions scolaires et universités.

Motivations
Selon une étude publiée par l’Entertainment Software Association en 2009, 65% des personnes utilisant des jeux vidéo ont moins de 30 ans. Or la formation d’un individu à un métier quelconque se fait en moyenne dans les 25 premières années de sa vie. Utiliser les simulateurs 3D dans un but éducatif a donc plus de probabilités de séduire un grand nombre d’utilisateurs et d’avoir du succès.

Enfin, il a été démontré qu’une activité interactive, où l’étudiant est toujours en action, est plus efficace qu’un cours passif. L’étudiant, ou l’écolier, apprend et retient mieux par le test et la pratique.

L’idée est donc d’employer les mêmes technologies utilisées pour créer des jeux vidéo et ayant attiré autant de clients afin de développer des simulateurs 3D attractifs pour l’éducation.

Etude de marché


On parle aujourd'hui de Serious Game pour désigner les simulateurs 3D développés à partir des technologies du jeu vidéo, mais dont le but dépasse la seule dimension du divertissement.

Selon une étude réalisée par la société Ambient Insight, le revenu total des Serious Games a été estimé à 1.5 billions de dollars en 2012, et représente 2.2% du revenu global de l’industrie du jeu vidéo (68 billions de dollars en 2012). L’étude prévoit une augmentation du revenu des Serious Games de 49% d’ici 2017, pour atteindre 2.3 billions de dollars.

Technologies utilisées
Pour créer un simulateur il est nécessaire de disposer d’un moteur de rendu efficace, capable de générer des images de synthèse de haute qualité en temps réel. En développer un prend du temps et requiert des connaissances qu’un débutant en programmation n’a pas nécessairement. Il existe aujourd’hui de nombreux logiciels pour développer des simulateurs 3D. Ils ont l’avantage d’inclure entre autres un moteur de rendu 2D et/ou 3D, un moteur physique (gestion des collisions…), des outils pour gérer l’intelligence artificielle etc. L’utilisation de ces programmes permet de diminuer drastiquement le temps de production d’un jeu.

Unity 3D Il s’agit de l’outil le plus utilisé par les développeurs de jeux. Il a été créé en 2004 au Danemark par Unity Technologies. Le logiciel permet de créer des simulateurs 2D et 3D et de programmer en C#, UnityScript (JavaScript) et Boo (le langage C# étant le langage plus employé dans cet environnement de développement). Le logiciel donne la possibilité de produire des jeux pour ordinateurs, consoles, mobiles et navigateurs web.

Il a l’avantage de posséder une immense communauté de développeurs. En conséquence, il existe un grand nombre de plugins disponible sur Internet pour étendre les capacités de Unity.

Son seul inconvénient est que le code source n’est pas accessible : si nous détectons un bug dans les fonctionnalités de base du programme, il sera nécessaire d’attendre une nouvelle release du programme et espérer que le problème ait été corrigé.

Unreal Engine Unreal Engine est un des outils les plus populaires pour réaliser des jeux pour PC, consoles et mobiles. Il a été développé par Epic Games en 1998 et a notamment été utilisé par Ubisoft, Sony, Sega ou même Disney …. Il est écrit entièrement en C++ et permet aux développeurs de créer des simulateurs en utilisant ce même langage.

Le code source de Unreal Engine est accessible, ce qui en fait un grand avantage pour n’importe quel développeur souhaitant modifier le comportement du moteur de rendu 3D par exemple.

En revanche, il ne permet de programmer que dans un seul langage de programmation, et le C++ n’est pas un langage conseillé aux débutants.

HumanSim est un exemple de simulateur médical réalisé avec Unreal. Il a pour but d’entraîner autant les militaires que les civils à pratiquer des opérations d’urgence sur des patients. Il existe une grande variété de missions, comme diagnostiquer une personne au milieu d’un champ de combat, ou dans un avion… Le jeu a gagné le prix du concours « Top Simulation and Training Company » organisé par Military Training Technology Magazine en 2013.

Project Anarchy Project Anarchy est un outil de création de jeux pour smartphones iOS ou Android, développé par Havok.

Il contient un puissant moteur de rendu (Havok Vision Engine) et de collisions (Havok Physics). Le code source est accessible et il existe de nombreux exemples sur l’utilisation de la SDK. La communauté autour de ce projet grandit de plus en plus car son utilisation est gratuite et permet de créer des jeux de qualité.

Le simulateur Hmmsim est un Serious Game créé avec Project Anarchy. Il s’agit du premier simulateur de train pour mobiles réalisé en Corée et est compatible avec Android et iOS. Tout l’environnement ferroviaire est reproduit : l’arrêt aux stations, ouverture/fermeture des portes, respect de la vitesse limite… Le simulateur est arrivé à la deuxième place du Project Anarchy Game Dev Challenge et a gagné un prix de 25000 dollars.

Voici les principales comparaisons que nous avons développées précédemment, résumées sous forme de tableau :

CliniSpace
Le simulateur CliniSpace a été développé en utilisant Unity et a gagné le concours de Serious Games « Federal Virtual World Challenge » en 2011. Il s’agit d’un Serious Game mettant en scène des environnements médicaux. L’objectif est d’entraîner les étudiants à guérir les patients, en analysant leurs symptômes et en s’habituant à utiliser les ustensiles virtuels (électroniques ou non) mis à leur disposition. Tout y est reproduit : médicaments, fournitures, échographies etc. Les malades réagissent en temps réel à leur traitement.



Un exemple atypique : le projet Scalable Game Design
Le projet a pour but de permettre à des jeunes écoliers, garçons ou filles, de comprendre les notions de base de la programmation et plus généralement de l’informatique, en leur apprenant à créer leur propre jeu vidéo.

L’objectif pédagogique est d’améliorer l’enseignement des sciences de l’informatique dans les écoles, en aidant les enfants à comprendre le fonctionnement d’un ordinateur, et des processus qui se cachent derrière les programmes qu’ils sont habitués à utiliser. A travers ce programme, l’écolier découvre le concept d’itérations, des conditions booléennes satisfaites ou non et même des callbacks. Après spécification des actions des personnages, le logiciel simule le comportement d’un vrai jeu vidéo en 3D.

DEMONSTRATION : AgentCubes
Le logiciel AgentCubes développé dans le cadre du projet Scalable Game Design simule l’interaction de la lumière sur les objets, les ombres, les collisions, la caméra virtuelle dans l’espace 3D etc. L’écolier ne s’occupe que de spécifier et définir l’intelligence artificielle des personnages de son jeu. Il caractérise le comportement de chacun de ses personnages en leur ajoutant des conditions if…then. Pour cela il dispose d’un ensemble de conditions prédéfinies telles que « is selected » ou « once every 1 second »… ainsi qu’un ensemble d’actions telles que « move », « play sound » ou encore « show message »…



Le projet a été testé sur 10000 écoliers, dont 45% de filles, sur 3 ans. Les résultats de l'expérience furent impressionnants : 64% des filles souhaitaient continuer dans l'informatique !

Nous pouvons en conclure que l'utilisation des technologies de jeux vidéos adaptées à l'éducation ouvrent les portes d'une nouvelle manière d'enseigner, très prometteuses pour l'avenir.

= Notes et références =

- http://www.developereconomics.com/top-game-development-tools-pros-cons

- http://unity3d.com

- http://www.unrealengine.com

- http://www.projectanarchy.com

- http://www.ambientinsight.com