Un petit article pour vous présenter une petite plateforme permettant de programmer une intelligence artificielle en java afin de contrôler un tank virtuel ! Vous pouvez se faire affronter entre eux des chars avec les IA que vous avez programmés ou téléchargés.
C'est un jeu de programmation libre développé par IBM. La plateforme est livrée avec des IA d'exemples ainsi que toute une bibliothèque fournissant déjà des fonctions de bases assez haut niveau vous permettant de vous déplacer, de récupérer des informations sur le terrain ou encore de faire feu.
Une fois votre IA programmé, vous pouvez affronter d'autre IA dans des tournois automatiques et ainsi voir l’efficacité de vos algorithmes.
Vous pouvez télécharger ce jeu sur le site de robocode : http://robocode.sourceforge.net/
Vous avez aussi accès à un wiki vous permettant de bien démarrer et de créer votre premier robot : http://robowiki.net/wiki/Robocode_Basics
Voici une petite vidéo montrant l'interface de combat ! Pour l'occasion, j'ai programmé une petite IA représenté par le robot Blacky1. J'ai implémenté un algorithme de déplacement par champs de potentiels modifié afin qu'il gravite autour du robot cible. J'ai aussi implémenté un algorithme de suivi de la cible avec le radar (le radar balayant à 45° autour de la cible). Enfin, l'algorithme de mise à feu prédit la trajectoire du robot cible de façon linéaire afin d'anticiper son mouvement. De plus, il calcule aussi la puissance du coup de feu en fonction de la vie de l'adversaire et de sa propre vie (tirer un coup coute de l'énergie !!)
J'ai donc fait affronter cette IA assez basique contre quelques exemples fournis avec le jeu. La vidéo est à la fin de l'article.
Ce jeu, très ludique, vous permettra de faire vos premiers pas dans le monde de l'IA, ou bien de tester des algorithmes assez complexes et de comparer leurs efficacités.
Amusez-vous bien ! 🙂
Téléchargez la vidéo en bonne qualité : http://www.ferdinandpiette.com/ressources/videos/robocode_demo.flv