• Aucun résultat trouvé

FIGURE8.11 – Modèle Comportement de l’agent gérant la liste des éléments du Rss

8.8/

B

ILAN DES EXPÉRIMENTATIONS

Dans cette section, nous avons exposé les résultats de nos expérimentations. Nous avons tout d’abord validé les résultats théoriques obtenus dans le chapitre 7.

L’approche SAMP visant à réduire le nombre de scans de l’environnement que chaque agent réalise est plus efficace qu’une approche classique. Il faut tout de même noter que cela s’applique dans le cas où les agents cherchent à connaître l’état de leur en- vironnement à chaque frame. C’est notamment le cas dans le domaine des jeux vidéo. Chaque agent pouvant interagir avec le reste du monde doit connaître son environne- ment à chaque instant afin de pouvoir réagir aux perturbations qui pourraient impacter son comportement.

L’approche SAMP apporte cependant une légère augmentation de la consommation de mémoire par rapport à l’approche classique. De l’ordre de 32 octets par interaction émise, ce coût peut nous sembler dérisoire par rapport à la consommation en mémoire des jeux vidéo actuels. En nous référant à une valeur de 5 giga-octets utilisés pour un jeu vidéo4 et en utilisant la valeur de surconsommation donnée dans la section 8.5 qui est de 781 kilo-octets, nous obtenons un surcoût de 0.015% de l’utilisation de la mémoire. De plus, l’exemple que nous avons utilisé implique que les agents ont, à chaque instant, besoin de connaître l’état de leur environnement. Sans cette contrainte, il est envisageable en approche classique que les agents, même actifs, ne scannent leur environnement que lorsqu’ils en ont besoin, réduisant ainsi le nombre de scans exécutés. DansSAMP, cette optimisation ne serait pas possible, car chaque agent actif, même s’il n’a besoin d’au- cune interaction, doit scanner son environnement pour pouvoir éventuellement notifier les agents passifs. Cependant, dans un jeu vidéo il est rare que les agents actifs n’aient pas besoin de scanner leur environnement notamment pour détecter des obstacles sur leurs routes.

Dans la section 8.6 nous avons modélisé un jeu 2D afin de tester les possibilités offertes par SAMP. Ce jeu est très différent de l’exemple proies-prédateurs, mais utilise cepen- dant des éléments importés de la modélisation du proies-prédateurs. Cela montre que le principe de nœuds exportables fonctionne correctement et permet aux novices en déve- loppement d’utiliser ce que d’autres utilisateurs ont développé.

Enfin, les sections 8.7.1 et 8.7.2 permettent de confirmer le fait que SAMP puisse per- mettre de modéliser des comportements très différents, éloignés des comportements d’agents dans un jeu vidéo. La possibilité de modéliser le comportement du système à 4. Les configurations minimales pour la mémoire des jeux vidéo actuels avoisinent souvent les 5 giga- octets et approchent de plus en plus des 10 giga-octets.

130 CHAPITRE 8. RÉSULTATS PRATIQUES

travers les interfaces utilisateur permet d’ouvrir SAMPà la création d’applications et logi- ciels par un maximum d’utilisateurs, quel que soit leur niveau en développement logiciel.

IV

CONCLUSION ET PERSPECTIVES

9

CONCLUSION

Nous rappelons ici les problématiques qui ont été les nôtres ainsi que les objectifs que nous avons fixés pour y répondre. Nous revenons ensuite sur les contributions que nous avons développées pour atteindre ces objectifs. Nous continuons par une discussion au- tour des perspectives d’évolution de SAMP. Ce chapitre se termine par une conclusion plus personnelle sur l’aventure qu’est la préparation d’un doctorat.

9.1/

L

E CONTEXTE

Le jeu vidéo et les SMA sont deux domaines qui sont complémentaires.

Le domaine des SMA est le terrain d’un grand nombre de travaux de recherche visant, entre autres, à simuler des systèmes distribués réels ou virtuels. Dans notre cas, les agents peuvent tout à fait représenter les entités d’un jeu vidéo. Ces travaux apportent une expertise en termes d’interactions, de validations, mais aussi de prises de décisions, de coopérations et de négociations, autant de concepts qui peuvent être utiles aux jeux vidéo.

Ces jeux vidéo apportent aussi une expertise dans les domaines de la simulation des concepts de la physique, des algorithmes de rendu 2d et 3d pour l’affichage des simu- lations et des interfaces utilisateur (tant au niveau de l’ergonomie des affichages que de l’utilisation des périphériques d’entrée).

Nous nous plaçons dans un contexte où les SMA sont utilisés comme paradigme de programmation des jeux vidéos. Mais la fusion de ces deux domaines est accompagnée de l’apparition de différents verrous : comment assurer la performance d’exécution afin de respecter le concept de frame présent dans le domaine du jeu vidéo, sachant que les SMA ne sont pas toujours optimisés dans ce domaine ? Comment intégrer des outils externes tels que les moteurs physiques ? Nous avons constaté que les plateformes de modélisation de SMA existantes ne sont pas forcément adaptées au développement de jeux vidéo, tout du moins dans le respect de ces contraintes.

Au-delà des difficultés liées à la fusion de ces deux domaines, il existe un problème commun qui concerne la traduction des besoins entre la personne désirant modéliser un système et le développeur qui va le modéliser. Dans le domaine des SMA, lorsqu’un scientifique, une collectivité ou un industriel expose ses besoins à un développeur, il y a un risque que cette personne les exprime mal ou/et que le développeur les comprenne mal. Dans le domaine du jeu vidéo, le problème est le même lorsqu’un Game Designer,

134 CHAPITRE 9. CONCLUSION

un animateur 3D ou un Level Designer expose ses besoins à un développeur. Certains outils existent pour permettre aux utilisateurs voulant modéliser un SMA ou un jeu de le faire eux-mêmes. Mais aucun de ces outils, à notre connaissance, ne permet le dévelop- pement de jeux vidéo en utilisant le paradigme multi-agents.

Forts de cette analyse, nous avons extrait 3 objectifs qui ont guidé nos travaux durant cette thèse. Nous avons eu pour objectifs le développement d’une plateformede modé- lisation, de génération et d’exécution de jeux vidéo basé sur le paradigme multi- agents accessible à un grand nombre d’utilisateurs afin de pallier les problèmes de traduction entre les différents acteurs de la modélisation de SMA. Ce logiciel devaitinté- grer des concepts et spécificités propres au domaine des jeux vidéo et au domaine des multi-agents afin d’allier leurs optimisations. Il devait aussi s’approcher d’une exé- cution en temps réel afin d’offrir une fluidité et une immersion de bonne qualité néces- saires au plaisir de jeu.

9.2/

N

OS CONTRIBUTIONS

Afin de répondre à ces objectifs, nous avons développé Shine Agent Modeling Platform ( SAMP). Cette plateforme permet d’unifier les domaines du jeu vidéo et des SMA. Nous y avons intégré les concepts du paradigme multi-agents (interactions, perceptions, com- pétences, environnement, ...).

Afin de se rapprocher au plus près d’un fonctionnement en temps réel, nos travaux ont été guidés par deux impératifs : le respect du concept de frame propre aux jeux vidéo et la présence de capteurs (les boutons des périphériques d’entrées) dont les informations doivent être transmises en temps réel au système.

Plusieurs travaux de recherche dans le domaine des SMA visent à optimiser le fonction- nement des SMA pour s’approcher d’une exécution en temps réel. Cependant, la plupart de ces recherches sont incompatibles avec le domaine du jeu vidéo. Les recherches sur l’amélioration des architectures matérielles ne pouvaient pas être intégrées du fait de l’hé- térogénéité des systèmes sur lesquels les jeux sont exécutés (chaque joueur possède un pc différent et Shine Engine est entièrement multi-plateforme). Les travaux visant à exé- cuter les SMA sur les GPU sont aussi incompatibles car, dans le domaine des jeux vidéo, les ressources des GPU sont dédiées aux calculs de rendu et de physique.

C’est pourquoi nous avons décidé de concentrer nos recherches sur l’amélioration des interactions entre les agents, gourmandes, par leur nombre, en temps d’exécution. Notre approche, basée sur des agents actifs et passifs, permet une réduction du nombre de recherches effectuées dans l’environnement par les agents. Nos expérimentations ont prouvé que cette approche est efficace dans bien des contextes.

En sus d’améliorer les interactions entre les agents,SAMPa pour objectif d’être accessible au plus grand nombre d’utilisateurs. Pour ce faire, il met à disposition un éditeur graphique permettant la modélisation de SMA, du paramétrage des agents à la modélisation de leur comportement. L’éditeur graphique de SAMP ne requiert aucune connaissance de langage de développement textuel et offre ainsi une accessibilité simplifiée à un grand nombre d’utilisateurs. La modélisation des comportements se fait à l’aide d’un système de graphes de nœuds et les paramétrages des agents, interactions et compétences se font par le biais de fenêtres graphiques.