Table des matières

Adapter le simulateur

Voici les grandes lignes des modifications qu'il convient d'apporter au simulateur pour l'adapter à une nouvelle coupe.

Changement de la map

La grande modification à apporter au simulateur pour une nouvelle utilisation est de l'adapter pour le cahier des charges d'une nouvelle année. Les changements sont relativement conséquents, le simulateur n'ayant pas été conçu pour être facilement modifiable d'une année à l'autre.

Liste des principales choses à modifier :

Les actions du robot

Comme d'une année à l'autre le cahier des charges change, les actions que le robot peut effectuer changent aussi. Ces actions sont prises en compte à différents niveaux. Tout d'abord au niveau des gestionnaires de collisions (fichier engine/mainengine.py) qui permettent d'appeler les méthodes adéquates lorsque le robot touche un objet.

Ensuite il faut modifier ces méthodes, généralement dans les classes qui dérivent de l'objet robot (objects/robots, objects/bigrobot et objects/minirobot)

Architecture et communication avec l'IA

Comme expliqué dans la section Architecture globale du simulateur, l'architecture du simulateur est étroitement liée à celle de l'IA, tout comme la communication qui est totalement liée au protocole que nous avons développé. Du coup, plusieurs choix s'offrent à vous :

Dans ce cas, il suffira uniquement de modifier les ordres du protocole pour les adapter aux actions que le robot peut effectuer, mais aussi changer le fichier comSimu.py pour prendre en compte les changements d'ordres.

Cependant, pour conserver l'architecture et la communication, il faudra avoir une IA semblable à celle développée durant l'année 2014.

Le simulateur étant fortement lié à l'architecture et au protocole, si l'un des 2 est modifié il faudra apporter de nombreuses modifications au simulateur pour l'adapter.

Dans le code du simulateur 2012, la communication entre le simulateur et l'IA se faisait par un canal IRC. Si jamais vous comptez utiliser une communication similaire, n'hésitez pas à regarder le code (la base du simulateur a été conservée mais une grosse partie a été modifiée).