{"id":614,"date":"2017-07-06T20:57:07","date_gmt":"2017-07-06T19:57:07","guid":{"rendered":"http:\/\/jeux1d100.net\/blog\/?p=614"},"modified":"2017-07-06T21:11:01","modified_gmt":"2017-07-06T20:11:01","slug":"gladiabots-lia-pour-les-pas-bots","status":"publish","type":"post","link":"https:\/\/jeux1d100.net\/blog\/2017\/07\/gladiabots-lia-pour-les-pas-bots\/","title":{"rendered":"Gladiabots. L&rsquo;ia pour les pas bots"},"content":{"rendered":"<p>Gladiabots est une simulation d&rsquo;IA pour robots de combat en ar\u00e8ne, comp\u00e9titif et avec du multijoueur asynchrone. Son moteur complexe d&rsquo;interactions possibles fonctionne simplement sous forme de n\u0153uds de programmation conditionnelle (par exemple : si \/ bouclier faible \/ reculer). Si vous n&rsquo;avez jamais programm\u00e9 une intelligence artificielle de votre vie, ou que vous ignoriez tout du fonctionnement d&rsquo;un ordinateur, ne paniquez pas. Gladiabots est avant tout fait pour les joueurs qui appr\u00e9cient les jeux mettant \u00e0 contribution le contenu de la boite cr\u00e2nienne.<\/p>\n<p>D\u00e9velopp\u00e9 par S\u00e9bastien Dubois du petit studio parisien de GFX47 pour Windows, Mac et Linux (et Android), Gladiabots est disponible sur l&rsquo;excellente plate-forme itchio pour environ 5\u20ac pendant la p\u00e9riode Alpha, et annonc\u00e9 pour le double plus tard, soit 10\u20ac.<\/p>\n<p><a href=\"http:\/\/gladiabots.com\" target=\"_blank\">http:\/\/gladiabots.com<\/a><br \/>\n<a href=\"http:\/\/gfx47.itch.io\/gladiabots\" target=\"_blank\">http:\/\/gfx47.itch.io\/gladiabots<\/a><\/p>\n<p>Gladiabots malgr\u00e9 son \u00e9tiquette de jeu en alpha propose d\u00e9j\u00e0 un tutoriel d&rsquo;une vingtaine d&rsquo;\u00e9tapes, pour accompagner le joueur dans la d\u00e9couverte inqui\u00e9tante de la magie robotique. Un mode de jeu solo est aussi pr\u00e9sent, sous forme d&rsquo;une dizaine de missions-puzzle. Enfin, le \u00ab\u00a0vrai\u00a0\u00bb c\u0153ur du jeu se trouve dans le mode multijoueur asynchrone, qui oppose le joueur \u00e0 un adversaire humain.<\/p>\n<p>Le but du jeu est de programmer une intelligence artificielle, afin que les robots qui composent l&rsquo;\u00e9quipe du joueur puisse agir et r\u00e9agir \u00e0 la fois aux objectifs, et aussi et surtout \u00e0 la pr\u00e9sence d&rsquo;une \u00e9quipe adverse sur le terrain. Les deux \u00e9quipes s&rsquo;affrontent alors pour la destruction compl\u00e8te de l&rsquo;autre, ou pour marquer des points en capturant des balles et en les menant vers une base.<\/p>\n<p>Pour les joueurs, tout se joue \u00ab\u00a0avant\u00a0\u00bb le match, lors de la programmation de l&rsquo;IA. En effet, pendant le match, les \u00e9quipes de robots sont en totale autonomie.<\/p>\n<p>C&rsquo;est un principe similaire \u00e0 celui de Frozen Synapse notamment, sauf qu&rsquo;au lieu d&rsquo;agir \u00e0 chaque tour, les joueurs pr\u00e9parent leurs IA pour un affrontement qui va durer de quelques secondes \u00e0 quelques minutes maximum.<\/p>\n<p>Une fois pass\u00e9 un tutoriel facultatif et n\u00e9anmoins hautement recommand\u00e9, on acc\u00e8de \u00e0 la partie solo et ses missions.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/jeux1d100.net\/!\/caps\/glabots\/glabots_002.jpg\" class=\"aligncenter size-medium\" \/><\/p>\n<p>L&rsquo;une d&rsquo;entre elles, Ambidextrous, place 5 robots par \u00e9quipe autour de leur base respective, et deux balles \u00e0 r\u00e9cup\u00e9rer. Le joueur est toujours bleu, l&rsquo;adversaire toujours rouge (des options de couleurs seront ajout\u00e9es plus tard dans le d\u00e9veloppement). Il faut imp\u00e9rativement s\u00e9curiser les deux balles, car un score nul entraine l&rsquo;\u00e9chec de la mission.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/jeux1d100.net\/!\/caps\/glabots\/glabots_003.jpg\" class=\"aligncenter size-medium\" \/><\/p>\n<p>Le terrain de jeu est toujours une ar\u00e8ne, et si un robot sort des limites pour une quelconque raison, il explose. De toute mani\u00e8re, l&rsquo;action se concentre g\u00e9n\u00e9ralement vers le centre, mais \u00e7a reste possible avec une IA d\u00e9fectueuse, par exemple un ordre de retrait sans condition de retour.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/jeux1d100.net\/!\/caps\/glabots\/glabots_004.jpg\" class=\"aligncenter size-medium\" \/><\/p>\n<p>L&rsquo;IA de base est tout ce qu&rsquo;il y a de plus m\u00e9diocre. Le profil Attacker par d\u00e9faut se contente d&rsquo;attaquer la cible \u00e0 port\u00e9e, et d&rsquo;avancer si la cible est trop loin. Deux n\u0153uds simples, et une d\u00e9faite quasi certaine pass\u00e9es les premi\u00e8res missions du tutoriel.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/jeux1d100.net\/!\/caps\/glabots\/glabots_005.jpg\" class=\"aligncenter size-medium\" \/><\/p>\n<p>Afin d&rsquo;avoir une chance de remporter la victoire, un passage par l&rsquo;\u00e9diteur d&rsquo;IA est indispensable. L\u00e0, de nombreuses conditions sont disponibles, permettant d&rsquo;affiner grandement le comportement des robots.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/jeux1d100.net\/!\/caps\/glabots\/glabots_006.jpg\" class=\"aligncenter size-medium\" \/><\/p>\n<p>Un exemple d&rsquo;IA un peu plus \u00e9volu\u00e9e avec \u00ab\u00a0Une ia pour les pas bots\u00a0\u00bb. Bien meilleure que l&rsquo;IA de base, tout en \u00e9tant m\u00e9diocre face aux IA des joueurs les plus aguerris. Les robots lisent l&rsquo;IA toujours de gauche \u00e0 droite. Donc, les ordres \u00e0 gauche sont prioritaires. Je ne vais pas tout d\u00e9crire, mais par exemple la premi\u00e8re branche \u00e0 gauche est compos\u00e9e de 4 \u00e9l\u00e9ments. Un connecteur, pour lier plusieurs n\u0153uds, suivi deux deux conditions (forme ovale) : si ma vie est inf\u00e9rieure \u00e0 l&rsquo;adversaire, et si mon bouclier est inf\u00e9rieur \u00e0 25%. Enfin, l&rsquo;ordre de s&rsquo;\u00e9loigner de l&rsquo;adversaire le plus proche. <\/p>\n<p>C&rsquo;est \u00e0 dire : si mon bouclier est faible, et si ma vie est inf\u00e9rieure \u00e0 celle de mon adversaire, alors fuir.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/jeux1d100.net\/!\/caps\/glabots\/glabots_007.jpg\" class=\"aligncenter size-medium\" \/><\/p>\n<p> Retour \u00e0 la mission, avec mon autre IA \u00ab\u00a0Les pas bots\u00a0\u00bb. En rouge, les ordres qui ont \u00e9t\u00e9 lu et ne sont pas applicables dans la situation pr\u00e9sente. En vert, le premier ordre applicable : se d\u00e9placer pour s&rsquo;approcher de l&rsquo;adversaire. Les robots vont boucler toute l&rsquo;IA en permanence, jusqu&rsquo;\u00e0 ce qu&rsquo;une condition soit satisfaite. On peut bien s\u00fbr d\u00e9finir des IA diff\u00e9rentes pour chaque robot, mais ici j&rsquo;ai mis tout le monde \u00e0 la m\u00eame carte.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/jeux1d100.net\/!\/caps\/glabots\/glabots_008.jpg\" class=\"aligncenter size-medium\" \/><\/p>\n<p>Quelques instants plus tard, mes robots ont d\u00e9j\u00e0 d\u00e9truit deux robots rouge, et s&rsquo;en prennent \u00e0 pr\u00e9sent \u00e0 la prochaine cible valide. Maintenant que les robots se sont d\u00e9plac\u00e9s, l&rsquo;ordre d&rsquo;attaquer l&rsquo;adversaire le plus proche, et porteur d&rsquo;une balle, est activ\u00e9. Le robot rouge est presque arriv\u00e9 \u00e0 la base et risque de marquer un point, mais porter une balle rend inapte au combat, et le d\u00e9placement est beaucoup plus lent. J&rsquo;ai donc une chance de l&rsquo;arr\u00eater avant qu&rsquo;il ne soit trop tard.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/jeux1d100.net\/!\/caps\/glabots\/glabots_009.jpg\" class=\"aligncenter size-medium\" \/><\/p>\n<p>Et c&rsquo;est r\u00e9ussi. Tous les robots rouges \u00e9liminer, l&rsquo;IA parcours les ordres jusqu&rsquo;\u00e0 arriver \u00e0 \u00ab\u00a0apporte la balle \u00e0 la base\u00a0\u00bb. Il n&rsquo;y a que 2 balles, donc 3 robots sur les 5 se retrouvent oisifs et attendent. C&rsquo;est une victoire, qui si l&rsquo;on joue la premi\u00e8re fois, d\u00e9bloque la mission suivante. Autrement, il est tr\u00e8s int\u00e9ressant de d\u00e9velopper d&rsquo;autres IA pour voir comment am\u00e9liorer le comportement, gagner plus rapidement, ou tenter d&rsquo;autres approchent.<\/p>\n<p>Il existe pour le moment 4 classes de robots. Assaut, qui est moyen partout est la classe par d\u00e9faut et n&rsquo;a pas de limite : tous les robots d&rsquo;une m\u00eame \u00e9quipe peuvent \u00eatre Assaut. Les trois autres classes sont chacune limit\u00e9e \u00e0 une seul exemplaire par \u00e9quipe. Le Sniper est lent, tire de loin et touche toujours sa cible. Le Machine Gun est lourd et blind\u00e9, et lorsqu&rsquo;il commence \u00e0 tirer il peut garder un tir continuel bien que tr\u00e8s impr\u00e9cis. Enfin le Shogun est tr\u00e8s rapide et d\u00e9vastateur \u00e0 courte port\u00e9e, mais n&rsquo;encaissera pas beaucoup de d\u00e9g\u00e2ts avant d&rsquo;exploser. D&rsquo;autres classes sont en discussion pour le d\u00e9veloppement futur, mais la volont\u00e9 assum\u00e9e est de garder la programmation de l&rsquo;IA pr\u00e9pond\u00e9rante, pour ne pas transformer Gladiabots en un jeu \u00ab\u00a0\u00e0 classes\u00a0\u00bb. La meilleure IA doit gagner, pas la meilleure classe face \u00e0 une autre.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/jeux1d100.net\/!\/caps\/glabots\/glabots_010.jpg\" class=\"aligncenter size-medium\" \/><\/p>\n<p>Les meilleurs joueurs peuvent comparer la taille de leur score en mode carri\u00e8re, qui est le mode comp\u00e9titif en ligne. Il n&rsquo;y a rien \u00e0 gagner, mais d\u00e9j\u00e0 des petites ligues se mettent en place, avec des prix r\u00e9els \u00e0 empocher (par exemple un exemplaire du jeu pour offrir).<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/jeux1d100.net\/!\/caps\/glabots\/glabots_011.jpg\" class=\"aligncenter size-medium\" \/><\/p>\n<p>Plus tard un \u00e9diteur de missions devrait voir le jour, et d\u00e9j\u00e0 Gladiabots propose quelques cr\u00e9ations inspir\u00e9es par les demandent de joueurs via twitter, discord ou le forum du jeu. Cette mission par exemple s&rsquo;annonce bien cors\u00e9e, avec seulement 3 robots par \u00e9quipe, et 6 balles en haut, plus 1 balle isol\u00e9e en bas.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/jeux1d100.net\/!\/caps\/glabots\/glabots_012.jpg\" class=\"aligncenter size-medium\" \/><\/p>\n<p>Gladiabots est tr\u00e8s activement d\u00e9velopp\u00e9, et dans un \u00e9tat tout \u00e0 fait satisfaisant pour qui voudrait soutenir le d\u00e9veloppement tout en s&rsquo;amusant sur un produit d\u00e9j\u00e0 jouable. Il est tr\u00e8s simple \u00e0 prendre en main, tout en laissant une marge de progression immense. Certains joueurs ont des IA de plusieurs dizaines voire centaines de n\u0153uds, l\u00e0 o\u00f9 d&rsquo;autres tentent de minimiser au maximum pour trouver LA solution. Un objectif populaire, au sein de la communaut\u00e9 grandissante des joueurs, semble \u00eatre de cr\u00e9er une IA unique, capable de r\u00e9pondre \u00e0 toutes les missions solo, en un minimum de n\u0153uds. L&rsquo;atteindrez-vous ?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Gladiabots est une simulation d&rsquo;IA pour robots de combat en ar\u00e8ne, comp\u00e9titif et avec du multijoueur asynchrone. Son moteur complexe d&rsquo;interactions possibles fonctionne simplement sous forme de n\u0153uds de programmation conditionnelle (par exemple : si \/ bouclier faible \/ reculer). Si vous n&rsquo;avez jamais programm\u00e9 une intelligence artificielle de votre vie, ou que vous ignoriez [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":617,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"sfsi_plus_gutenberg_text_before_share":"","sfsi_plus_gutenberg_show_text_before_share":"","sfsi_plus_gutenberg_icon_type":"","sfsi_plus_gutenberg_icon_alignemt":"","sfsi_plus_gutenburg_max_per_row":"","_mi_skip_tracking":false,"footnotes":""},"categories":[173],"tags":[8,174,43,53,12],"class_list":["post-614","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gladiabots","tag-linux","tag-programmation","tag-robot","tag-simulation","tag-tactique"],"_links":{"self":[{"href":"https:\/\/jeux1d100.net\/blog\/wp-json\/wp\/v2\/posts\/614","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jeux1d100.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jeux1d100.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jeux1d100.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jeux1d100.net\/blog\/wp-json\/wp\/v2\/comments?post=614"}],"version-history":[{"count":7,"href":"https:\/\/jeux1d100.net\/blog\/wp-json\/wp\/v2\/posts\/614\/revisions"}],"predecessor-version":[{"id":622,"href":"https:\/\/jeux1d100.net\/blog\/wp-json\/wp\/v2\/posts\/614\/revisions\/622"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jeux1d100.net\/blog\/wp-json\/wp\/v2\/media\/617"}],"wp:attachment":[{"href":"https:\/\/jeux1d100.net\/blog\/wp-json\/wp\/v2\/media?parent=614"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jeux1d100.net\/blog\/wp-json\/wp\/v2\/categories?post=614"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jeux1d100.net\/blog\/wp-json\/wp\/v2\/tags?post=614"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}