Master Informatique 1ère année:

Programmation orientée agents (FMIN108)

Resp: Jacques Ferber

TP 6 - Warbot - prise en main

proposé par Jacques Ferber - Nov. 2017

 

La première version de Warbot (2004)

L'interface actuelle de Warbot 3

 

Warbot est un jeu de guerre entre deux équipe.. Il est destiné à modéliser des stratégies de coopération et de conflits à partir d'une vision multi-agents...

La version que nous allons utiliser dans ce TP est celle qui a été écrite par des suites d'étudiants de TER. La dernière version est la version 3.3.x

Téléchargez la documentation de Warbot3 qui se trouve ici.

L'objectif de ce TP est de prendre en main Warbot dont la version 3.3 fonctionne sous Java.

1. Installation et lancement

Télécharger l'archive de Warbot3, disponible ici.

Pour installer Warbot3, décompresser l'archive. Il suffit ensuite de lancer Warbot en effectuant la commande:

java -jar warbot<num de version>.jar

à partir d'une console de commande.

2. Créez votre équipe

Pour créez une équipe, dupliquer un des dossiers des équipes présente (prenez l'équipe Python_level_0) pour commencer, et modifier le fichier config.yml qui contient les caractéristiques de votre équipe. Changez le nom et mettez le nom de votre équipe dans ce fichier. Sauvez le.

Voilà vous avez mainteannt une nouvelle équipe. Il suffit de modifier les fichiers sources déjà proposés et de définir les comportements désirés.

3. Créez des comportements pour vos agents

3.1 Exploration

a) Ecrire un agent explorateur qui avance de manière aléatoire et récupère de la nourriture... (c'est déjà pratiquement fait dans les sources)

b) Ecrire des agents de combats qui attaquent les agents ennemis qu'ils rencontrent

b) Ecrire un agent explorateur qui envoie l'information qu'il y a de la nourriture aux autres robots explorateurs.

c) Faites un robot explorateur qui envoie un message à la base dès qu'il aperçoit la base ennemie, alors qu'il est en train de se balader.

3.2. Attaque

a) Ecrire le comportement d'un lanceur de missile qui se déplace de manière aléatoire et qui qui attaque la base ennemie s'il l'aperçoit.

b) Modifier le comportement de ce lanceur de missile pour qu'en plus, il aille attaquer une base ennemie si la base lui demande, la base ayant reçue la position de la base ennemie d'où se trouve la position de la base ennemie.

3.3 Amusez vous

Inventez d'autres comportements et regardez les conséquences collectives.