Warbot – Présentation

Warbot est à la fois un jeu et une plate-forme d’évaluation et d’analyse de techniques de coordination entre agents, dans une situation de compétition où deux équipes de « robots » s’affrontent pour détruire la base de l’adversaire.

Dans ce projet, les joueurs sont en fait les développeurs des agents. Mais ils ne doivent faire qu’une seule chose: développer les « cerveaux » (brain) de ces robots sachant que les « corps » (body) sont définis de manière permanente fois pour toutes par les règles du jeu. De ce fait, la compétition réside dans la qualité de la programmation de ces cerveaux, et dans les stratégies de coordination proposées…

Histoire et Enjeux

L’étude de la coopération entre agents constitue l’un des aspects les plus importants des systèmes multi-agents. Mais les situations de conflits ou plus exactement de compétition sont au moins aussi importantes que les situations de coopérations. De nombreux exemples ont été proposés dans l’histoire des systèmes multi-agent pour aider à comprendre et à étudier ces situations: poursuites  » proies-prédateurs « , recherche d’échantillons, agence de voyage, robots footballeurs, etc. sont des exemples de telles situations.

Warbot constitue un environnement de tests de techniques de coordination entre agents dans un contexte similaire à celui des jeux video, dans lequel deux armées de robots s’affrontent. Le but d’une équipe est de détruire les bases du camp adverse avant que l’autre ne le fasse… Brut, mais simple à comprendre…

Iil existe 3 types de robots ayant des capacités diverses:

  • Les robots « lanceurs de missiles », savent tirer sur un adversaire, mais leur rayon de perception, ainsi que leur vitesse est relativement faible.
  • Les robots « explorateurs » sont plus rapides, et leur rayon de perception est assez grand.
  • Les robots « ingénieurs » qui n’attaquent pas mais peuvent poser des robots « tourelles ».
  • Les robots « tourelles » posés par les ingénieurs, peuvent attaquer mais sont incapables de se déplacer.
  • Les robots « kamikaze » pouvant s’autodétruire pour réaliser d’énormes dégâts sur une zone.
  • Les robots « base » ne bougent pas, mais ils ont un rayon de perception élevé. De plus, ils peuvent convertir la nourriture qu’ils reçoivent en nouveaux robots !!

La particularité de Warbot vient de ce que les corps des robots ne peuvent pas être modifiés par les joueurs, lesquels n’ont qu’une possibilité: définir le comportement des robots de manière à ce qu’ils coopèrent entre eux.

Il existe une grande différence entre Warbot et un jeu vidéo: dans Warbot, lorsque un match est lancé, les êtres humains n’ont pas le droit d’intervenir dans le déroulement du match, à la différence des jeux video où les joueurs peuvent manipuler les entités avec la souris ou le clavier.

Le projet Warbot a débuté en 2001 sur une idée de Monsieur Jacques Ferber. La première version a été réalisée par Fabien Michel et Jacques Ferber à l’aide du noyau MadKit une plateforme pour la création des systèmes Multi-agents réalisée au LIRMM. (Laboratoire d’Informatique, de Robotique et de Micro-électronique de Montpellier) Plusieurs tournois ont eu lieu, un par année en 2002, 2003, 2004 et 2005 dans le cadre du DEA de Montpellier…

le projet continue encore d’exister grâce à Jacques Ferber pour l’apprentissage de la programmation orientée agent au sein de l’Université de Montpellier où Warbot Online a été conçu en 2015 afin de pouvoir apporter une touche Web à Warbot. Ainsi grâce au développement de la plateforme web, cela a permis à Warbot d’évoluer à une nouvelle version plus stable avec la possibilité d’utiliser des langages autres que Java pour le développement des comportements des agents. (Python, Javascript)

Pour l’instant, Warbot Online se présente sous la forme d’un client s’occupant de récupérer les équipes et les profils des joueurs depuis la plateforme Web pour exécuter le programme Warbot en local sur la machine de l’utilisateur. Il existe aussi une autre version utilisant la technologie WebGL et WebSocket pour afficher les équipes directement à l’intérieur