Retour sur la création de Dentallife, le serious game de l’urgence en cabinet dentaire

Il y a quelques semaines sortait de façon officielle le seriousgame dentallife : “Urgences en cabinet Dentaire”.

Je n’ai jamais pris le temps d’exposer mon retour d’expérience sur ce projet, ce billet va essayer de corriger cet oubli en exposant notre démarche dans la conception et la réalisation du seriousgame.

La conception du projet :

Au début de l’année 2011 Guillaume est venu me trouver pour me proposer un projet aussi passionant que culotté  : faire un seriousgame en moins de 3 mois. Ce seriousgame devra être intégré sur son île Second Life et être le plus modulaire possible.

Dis comme cela cela ressemble beaucoup à une mission impossible, finalement nous avons réussi et j’en suis assez fier. Pour ceux qui se demandait ce que je faisait en Guadeloupe cet hivers, vous avez la réponse : du code !

Plus sérieusement, les deux freins technologiques majeurs de ce projet étaient  :

  1. Avoir un outil ergonomique en drag & drop pour créer du scénario
  2. Intégrer dans SL les informations du scénario en temps réel – Aussi bien pour communiquer avec l’apprenant qu’avec les objets inworld.

Nous avons donc du faire des choix qui ont été décisifs :

– Nous avons décidé d’extérioriser le maximum de contenu et de calculs sur un serveur externe, SecondLife est plutôt limité en terme de mémoire et de puissance de calcul, l’idée était donc de faire faire le travail par un serveur et de rapatrier les données finales dans SL grâce à des llHttpRequest. Avec cette méthode les objets sont capables de savoir exactement où en est le scénario et donc s’il doivent être cliqué, s’il attendent une réponse par chat etc…

– De la même façon tous les messages adressés à l’étudiant sont générés par le serveur en fonctions de ces actions directes et affichées sur une page web. Nous avons créer dans SL un HUD qui permet d’afficher cette page web et de recevoir les clics de l’avatar. Au passage ce HUD fait la passerelle entre le serveur, les objets et l’avatars. Une grand partie de l’identification et des messages d’avancements passe par lui.

– Enfin nous avons mis en place sur un serveur un outil de création de scénarios – tout en drag & drop – pour la création et la modification des scénarios à la volée. N’importe quel utilisateur peut donc créer des scénarios en choisissant les briques qu’il veut incorporer et en les glisant dans l’arborescence de son scenario. La création des briques est, elle, encore soumise à l’écriture de code.

La mise en production :

Depuis quelques semaines tout le monde peut donc, en s’inscrivant sur le site de dentallife, suivre le cours d’urgences en cabinet dentaire. En pratique ce sont bien evidemment les étudiants qui sont le plus nombreux. Vous pouvez d’ailleurs retrouver quelques retours intéressants de leurs expériences sur le blog de dentallife (http://blog.dentallife.fr/)

Attention toutefois si vous voulez tester, c’est assez long et complexe, je vous ai parlé jusque maintenant que de la partie animations mais il faut au préalable lire des diaporamas et répondre correctement à des quizz avant de pouvoir accéder aux anims ! Des connaissances en anatomie et en permiers secours sont donc requises !

Mon sentiment sur ce projet :

Déjà  je suis assez fier d’avoir réussi à relever du défi – notamment sur le délai !

Sur le côté “ROI”, c’est effectivement très dur à évaluer mais globalement les premiers retours d’étudiants sont bons et ceux des professeurs d’universités et des dentistes sont eux aussi très bons. Tous sont intéressés par ce nouvel outil voire plus !

Pour avoir tester les animations en conditions réelles je dois dire que c’est assez bluffant. Bien sur on n’apprendra jamais à faire un massage cardiaque efficace avec cet outil mais l’enchainement des idées et des actions est bien présent et, bizarrement, le stress aussi ! On sent vraiment l’action se dérouler, et, étape par étape, on mémorise la marche à suivre.

Je crois, sans vouloir m’avancer de trop, que le but est atteint !

D’un point de vue technique maintenant, pas mal de petites choses pourraient être améliorées. Notamment la communication entre le serveur et SL qui, parfois, est un peu anarchique. Le lag inhérent à SL est vraiment une plaie pour un projet de cette taille. La gestion des requêtes HTTP est assez aléatoire et l’ergonomie du HUD n’est pas aussi bonne que ce que l’on pensait.

Enfin, la création des scénarios pourrait être amélioré, nous sommes partis sur l’idée de faire des scénarios linéaires – en raison des contraintes de temps et d’argent – Il est clair qu’une des grosse amélioration de ce seriousgame serait al mise en place d’outil de création de scénario aléatoire, sous forme d’arbres décisionnels voire même d’intelligence artificielle.

Mais qui sait peut être dans une version 2 !