Gladiabots. L’ia pour les pas bots

Gladiabots est une simulation d’IA pour robots de combat en arène, compétitif et avec du multijoueur asynchrone. Son moteur complexe d’interactions possibles fonctionne simplement sous forme de nœuds de programmation conditionnelle (par exemple : si / bouclier faible / reculer). Si vous n’avez jamais programmé une intelligence artificielle de votre vie, ou que vous ignoriez tout du fonctionnement d’un ordinateur, ne paniquez pas. Gladiabots est avant tout fait pour les joueurs qui apprécient les jeux mettant à contribution le contenu de la boite crânienne.

Développé par Sébastien Dubois du petit studio parisien de GFX47 pour Windows, Mac et Linux (et Android), Gladiabots est disponible sur l’excellente plate-forme itchio pour environ 5€ pendant la période Alpha, et annoncé pour le double plus tard, soit 10€.

http://gladiabots.com
http://gfx47.itch.io/gladiabots

Gladiabots malgré son étiquette de jeu en alpha propose déjà un tutoriel d’une vingtaine d’étapes, pour accompagner le joueur dans la découverte inquiétante de la magie robotique. Un mode de jeu solo est aussi présent, sous forme d’une dizaine de missions-puzzle. Enfin, le « vrai » cœur du jeu se trouve dans le mode multijoueur asynchrone, qui oppose le joueur à un adversaire humain.

Le but du jeu est de programmer une intelligence artificielle, afin que les robots qui composent l’équipe du joueur puisse agir et réagir à la fois aux objectifs, et aussi et surtout à la présence d’une équipe adverse sur le terrain. Les deux équipes s’affrontent alors pour la destruction complète de l’autre, ou pour marquer des points en capturant des balles et en les menant vers une base.

Pour les joueurs, tout se joue « avant » le match, lors de la programmation de l’IA. En effet, pendant le match, les équipes de robots sont en totale autonomie.

C’est un principe similaire à celui de Frozen Synapse notamment, sauf qu’au lieu d’agir à chaque tour, les joueurs préparent leurs IA pour un affrontement qui va durer de quelques secondes à quelques minutes maximum.

Une fois passé un tutoriel facultatif et néanmoins hautement recommandé, on accède à la partie solo et ses missions.

L’une d’entre elles, Ambidextrous, place 5 robots par équipe autour de leur base respective, et deux balles à récupérer. Le joueur est toujours bleu, l’adversaire toujours rouge (des options de couleurs seront ajoutées plus tard dans le développement). Il faut impérativement sécuriser les deux balles, car un score nul entraine l’échec de la mission.

Le terrain de jeu est toujours une arène, et si un robot sort des limites pour une quelconque raison, il explose. De toute manière, l’action se concentre généralement vers le centre, mais ça reste possible avec une IA défectueuse, par exemple un ordre de retrait sans condition de retour.

L’IA de base est tout ce qu’il y a de plus médiocre. Le profil Attacker par défaut se contente d’attaquer la cible à portée, et d’avancer si la cible est trop loin. Deux nœuds simples, et une défaite quasi certaine passées les premières missions du tutoriel.

Afin d’avoir une chance de remporter la victoire, un passage par l’éditeur d’IA est indispensable. Là, de nombreuses conditions sont disponibles, permettant d’affiner grandement le comportement des robots.

Un exemple d’IA un peu plus évoluée avec « Une ia pour les pas bots ». Bien meilleure que l’IA de base, tout en étant médiocre face aux IA des joueurs les plus aguerris. Les robots lisent l’IA toujours de gauche à droite. Donc, les ordres à gauche sont prioritaires. Je ne vais pas tout décrire, mais par exemple la première branche à gauche est composée de 4 éléments. Un connecteur, pour lier plusieurs nœuds, suivi deux deux conditions (forme ovale) : si ma vie est inférieure à l’adversaire, et si mon bouclier est inférieur à 25%. Enfin, l’ordre de s’éloigner de l’adversaire le plus proche.

C’est à dire : si mon bouclier est faible, et si ma vie est inférieure à celle de mon adversaire, alors fuir.

Retour à la mission, avec mon autre IA « Les pas bots ». En rouge, les ordres qui ont été lu et ne sont pas applicables dans la situation présente. En vert, le premier ordre applicable : se déplacer pour s’approcher de l’adversaire. Les robots vont boucler toute l’IA en permanence, jusqu’à ce qu’une condition soit satisfaite. On peut bien sûr définir des IA différentes pour chaque robot, mais ici j’ai mis tout le monde à la même carte.

Quelques instants plus tard, mes robots ont déjà détruit deux robots rouge, et s’en prennent à présent à la prochaine cible valide. Maintenant que les robots se sont déplacés, l’ordre d’attaquer l’adversaire le plus proche, et porteur d’une balle, est activé. Le robot rouge est presque arrivé à la base et risque de marquer un point, mais porter une balle rend inapte au combat, et le déplacement est beaucoup plus lent. J’ai donc une chance de l’arrêter avant qu’il ne soit trop tard.

Et c’est réussi. Tous les robots rouges éliminer, l’IA parcours les ordres jusqu’à arriver à « apporte la balle à la base ». Il n’y a que 2 balles, donc 3 robots sur les 5 se retrouvent oisifs et attendent. C’est une victoire, qui si l’on joue la première fois, débloque la mission suivante. Autrement, il est très intéressant de développer d’autres IA pour voir comment améliorer le comportement, gagner plus rapidement, ou tenter d’autres approchent.

Il existe pour le moment 4 classes de robots. Assaut, qui est moyen partout est la classe par défaut et n’a pas de limite : tous les robots d’une même équipe peuvent être Assaut. Les trois autres classes sont chacune limitée à une seul exemplaire par équipe. Le Sniper est lent, tire de loin et touche toujours sa cible. Le Machine Gun est lourd et blindé, et lorsqu’il commence à tirer il peut garder un tir continuel bien que très imprécis. Enfin le Shogun est très rapide et dévastateur à courte portée, mais n’encaissera pas beaucoup de dégâts avant d’exploser. D’autres classes sont en discussion pour le développement futur, mais la volonté assumée est de garder la programmation de l’IA prépondérante, pour ne pas transformer Gladiabots en un jeu « à classes ». La meilleure IA doit gagner, pas la meilleure classe face à une autre.

Les meilleurs joueurs peuvent comparer la taille de leur score en mode carrière, qui est le mode compétitif en ligne. Il n’y a rien à gagner, mais déjà des petites ligues se mettent en place, avec des prix réels à empocher (par exemple un exemplaire du jeu pour offrir).

Plus tard un éditeur de missions devrait voir le jour, et déjà Gladiabots propose quelques créations inspirées par les demandent de joueurs via twitter, discord ou le forum du jeu. Cette mission par exemple s’annonce bien corsée, avec seulement 3 robots par équipe, et 6 balles en haut, plus 1 balle isolée en bas.

Gladiabots est très activement développé, et dans un état tout à fait satisfaisant pour qui voudrait soutenir le développement tout en s’amusant sur un produit déjà jouable. Il est très simple à prendre en main, tout en laissant une marge de progression immense. Certains joueurs ont des IA de plusieurs dizaines voire centaines de nœuds, là où d’autres tentent de minimiser au maximum pour trouver LA solution. Un objectif populaire, au sein de la communauté grandissante des joueurs, semble être de créer une IA unique, capable de répondre à toutes les missions solo, en un minimum de nœuds. L’atteindrez-vous ?

3 Replies to “Gladiabots. L’ia pour les pas bots

  1. Merci pour cet article!
    Juste une petite correction, dans la branche gauche de ton IA, les conditions sont en parallèle et donc forment un « ou ».
    Elle veut donc dire « si mon bouclier est faible, ou si ma vie est inférieure à celle de mon adversaire le plus proche, alors fuir cet adversaire » 😉
    J’ai également une question : où as-tu vu des ligues où des jeux étaient à offrir?

  2. Salut,

    Merci d’avoir apporté cette correction !

    Pour la ligue avec un jeu à offrir, je ne retrouve plus le lien là de suite. J’ai aussi vu des propositions pour s’inscrire pour 1€ et gagner 50€ je crois. Je n’ai vraiment fouillé cette partie, c’était simplement pour évoquer la chose (compétitions avec récompenses « réelles »).

  3. Ça m’intrigue, je ne suis pas à l’origine de ce concours et j’espère que c’est légal.
    Si tu retrouves le lien, ça m’intéresse !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.