Smalltalk, Cormas, … et OXiane

On parle d’Oxiane dans la revue scientifique JASSS : http://jasss.soc.surrey.ac.uk/14/4/21.html

L’article présente notre collaboration avec Geomer et Oceanopolis sur un sujet de recherche mettant en jeu un système multi-agents. Cormas est un framework OpenSource écrit en Smalltalk (VisualWorks) et permettant de modéliser et réaliser des applications multi-agents.

Le sujet de l’application peut sembler futile au premier regard (réalisation d’un jeu de rôle) mais il est très sérieux puisqu’il s’agit de faire prendre conscience, par l’expérience et le jeu, des difficultés inattendues rencontrées lorsqu’on veut aborder les notions de développement durable.

L’application en elle-même n’est pas très complexe mais le défi était de masquer le modèle multi-agents, initialement développé par les chercheurs de Geomer, sous une couche graphique simple et ergonomique dans une application complètement packagée. On peut apercevoir, dans la vidéo, cette ergonomie spécifique résultant de notre collaboration avec Geomer et Oceanopolis. L’animateur du jeu reporte les coups réels des rôlistes (réalisés sur le plateau de jeu) avec sa tablette graphique et déclenche la simulation. L’écran reporte alors les modifications du terrain et l’impact des actions passées et actuelles des joueurs sur cette représentation simplifiée de l’écosystème de l’île d’Ouessant. Chaque tour de jeu simulant 2 années, les actions ponctuelles (ou l’absence d’action) finissent par produire des changements environnementaux profonds sur le long terme (en particulier l’évolution des broussailles infranchissables, représentées par les cases noires, envahissant l’île et expliquées par la simulation)

D’un point de vue développement, à part l’intérêt d’être réalisé en Smalltalk (VisualWorks), il était intéressant d’observer les bénéfices d’un développement agile qui a conduit à une très grande satisfaction des commanditaires et utilisateurs. Lors de la réunion initiale de lancement de cette collaboration avec OXiane, les souhaits étaient relativement imprécis, les commanditaires n’ayant qu’une vague idée de ce qui était techniquement faisable. On pourrait à peu près résumer les spécifications initiales par « On voudrait pouvoir piloter le système depuis une tablette graphique, automatiser la saisie du fichier des coups et rendre l’application robuste et intuitive pour qu’un animateur puisse la prendre en main en une demi-journée ». En travaillant par affinages successifs avec les utilisateurs, l’utilisation du système a été rendue intuitive. Elle élimine toute interaction de type « menu » (interaction de base dans le framework Cormas) en la remplaçant notamment par une forme évoluée de « glisser/déposer ». L’utilisateur « ramasse » des éléments (maisons, moutons, vaches, tracteurs, …) en cliquant dessus avec le stylet et les dépose dans les cases ou dans la zone de rangement (en partie gauche) avec un nouveau clic.

Le résultat dépasse toutes les espérances initiales tout en restant dans le budget prévu. Il n’en faut pas plus pour assurer la satisfaction du client. Ah oui, avant de subir les foudres des graphistes, le look est volontairement enfantin et faisait partie des spécifications, l’application étant destinée avant tout aux enfants.