IA-t-il un wargamer dans mon PC ? Athena, l’IA d’AGEOD

Fondé en 2005, à Grenoble, le studio AGEOD s’est spécialisé dans la réalisation de wargames PC grâce à son moteur AGE, pour Adaptative Game Engine, moteur permettant de créer des jeux de stratégie alliant gameplay efficace et graphismes soignés, tout en abordant des thèmes historiques originaux et pas moins ludiques pour autant. Le premier jeu, Birth of America, l’ayant brillamment démontré en son temps.

 

Depuis sa création AGEOD a revisité deux fois le thème de la Guerre de Sept ans (voir notre test de Rise of Prussia), offert une belle déclinaison de la Guerre Civile américaine, une autre sur les guerres napoléoniennes, s’est essayé à une simulation de la Première Guerre mondiale (le jeu n’utilisait pas le moteur AGE et n’a malheureusement pas eu à ses débuts autant de succès, une version Gold a toutefois apporté de nombreuses améliorations), a permis indirectement la création d’un wargame traitant en détail la révolution russe (voir notre test de Revolution Under Siege). Et plus récemment, a abordé avec Pride of Nations le vaste sujet de l’expansion des grandes puissances au 19ème siècle. Thème ambitieux, sortant du cadre de l’unique simulation d’un conflit (à l’exception de certains scénarios) pour inclure aussi la gestion d’un pays. Ce que les amateurs des jeux de Paradox connaissent bien. AGEOD ayant toutefois offert ici une alternative proposant aussi un gameplay fondamentalement différent. A savoir un jeu en tour par tour, par opposition au mode temps réel pausable des titres de Paradox.

Tout en préparant une mise à jour de son dernier jeu, AGEOD a dévoilé au printemps son nouveau chantier pour cette année : Alea Jacta Est. L’Antiquité n’étant pas un thème étranger au studio, voyez par exemple notre traduction de l’AAR The yellow chronicles pour Les Grandes Invasions (édité chez Nobilis en 2005), il s’agira donc avec Alea Jacta Est d’un wargame dédié cette fois à l’empire romain, spécialement pour commencer à la période du règne de César.

On a pu découvrir au fil de l’été les premières captures d’écrans, et on devrait bientôt en apprendre un peu plus sur ce nouveau jeu. Pour lequel voici d’ailleurs en bonus quatre screenshots inédits. D’ici là voyons déjà avec Philippe Malacher, architecte de l’IA des jeux d’AGEOD, quel est le point de vue du studio sur l’intelligence artificielle dans les wargames.

1/ Pour vous, qu’est-ce réellement qu’une IA dans un wargame ? Une suite de scripts et d’algorithmes, bien sur, mais encore ?

Pour jouer sur les mots, il n’y a pas une IA dans un wargame, mais généralement plusieurs. Pour une même faction dont l’ordinateur prend le contrôle, il y aura la plupart du temps plusieurs couches IA, qui réfléchiront à différents niveaux de logique (ou à des sujets différents).

Si on prend l’IA militaire, qui est de loin la plus difficile à rendre compétente (car vous ne pourrez jamais avoir le luxe d’explorer tous les mouvements possibles), la plus aisée à définir est sans doute l’IA a plus bas niveau, car elle a moins de marge de manœuvre (par exemple une armée représentée par une dizaine de pions pour un jeu stratégique, le général d’armée à un cadre spatial et temporel défini et a au final peu de marge de manœuvre).

La plus difficile sera au contraire celle qui devra définir ou identifier les grandes orientations stratégiques. Essayer d’imaginer une IA qui a une réelle pensée stratégique, sans aide scriptée pour la guider, est quasiment impossible.

2/ Pour un wargame PC, quels sont différents modèles d’IA ? Et les différents outils logiciels pour les développeurs ?

Pour un wargame PC, m’est avis qu’il n’y a pas vraiment d’outils logiciels existants, tout simplement parce que l’IA est souvent le parent pauvre des jeux grands publics (ce n’est pas rentable d’y mettre des ressources), et que le wargame PC est un jeu de niche (donc on peut attendre longtemps qu’une société aux reins solides vous fournisse un “Direct IA” comme il existe un “Direct X” qui puisse être utile à un wargame et pas seulement au jeu du morpion, pour caricaturer).

C’est un constat un peu triste, mais certainement proche du réel. La plupart d’entre nous sont des autodidactes sur l’IA, et l’IA au final ne se mesurera qu’a l’aune de ce que le développeur peut réaliser, en tant que joueur. Un développeur mauvais stratège fera une mauvaise IA. Si vous êtes un joueur décent, votre IA présentera avec beaucoup de travail un challenge allant de passable à correct…

Pour en revenir aux modèles IA, il y a les IA qui peuvent se permettre de réaliser des calculs exhaustifs, sur des jeux simple (ou qui ont la puissance de calcul et l’équipe qui va avec, comme Deep Blue) ; et il y a les IA qui doivent essayer de trouver une solution correcte (je ne dis pas parfaite!) en un minimum de calculs. Dans ce second cas, vous pouvez essayez de faire apprendre votre IA (algorithmes génétiques, réseaux neuronaux) ou utiliser ce que l’on appel la logique floue, qui s’accommode de données incomplètes voire partiellement fausses.

Reste au final que vous devez être capable, en tant que développeur, à force de tâtonnement (j’oserai le mot de cuisine !) de trouver la bonne formule d’appréciation qui indique à votre IA : “là tu as tout faux, recalcule” ou bien “là c’est pas mal, gardons cette solution” ; c’est la fonction de fitness de chaque algorithme (pour les Anglophiles). Et cela, c’est un mélange de compétence-joueur (êtes vous un wargamer décent ?), de feeling, de dizaines ou centaines d’essais (mille fois sur le métier tu remettras ton ouvrage !).

L’IA d’AGEOD ne fonctionne que par logique floue, avec des algorithmes qui sont en compétitions entre eux pour s’approprier les armées, le gagnant étant souvent (mais pas tout le temps, il faut laisser une part d’aléatoire, comme pour l’humain) celui qui a la solution qui propose le meilleur résultat. Vous pouvez voir chaque algorithme comme un officier d’état major, ne commandant aucune unité en propre, mais qui est spécialisé dans un type d’opération.

 

Clodius Albinus – 193 AD

 

6/ Une IA alliée du joueur (pour un jeu incluant des alliances et de nombreuses factions) est-elle plus simple ou plus compliquée à réaliser qu’une unique IA ennemie du joueur (pour un jeu où il n’y a principalement qu’un seul adversaire) ?

C’est forcément plus difficile, car l’IA dans ce cas devrait en théorie être capable de suivre les directives (ou conseils) du joueur avec qui elle est alliée, et réciproquement si possible, pour faire bonne mesure. Cela vous donne encore plus de choses à programmer. Remarquez, une mauvaise coopération rend les choses souvent plus historiques que les situations où le joueur contrôle en parfaite entente (voire symbiose) plusieurs camps. D’ailleurs les studios bottent souvent en touche sur ce sujet, en vous permettant d’acquérir tout ou partie des unités IA quand vous lui demandez.

7/ Dans les jeux de stratégie et les wargames les IA sont très souvent meilleures en défense qu’en attaque, pourquoi ?

Défendre requière moins d’initiative, il faut souvent réagir (correctement) à ce que fait l’adversaire et cela suffit à prendre le dessus (si le rapport de force n’est pas trop disproportionné). Donc forcément une IA défensive arrivera mieux à gérer la situation, encore que dans certaines configurations (stratégie de guérilla avec érosion progressive des défenseurs), l’IA ne verra rien venir, sauf si son concepteur l’a doté d’une mémoire qui lui permet d’analyser sur plusieurs tours (ou plages de temps si vous êtes un adepte du temps réel) l’historique.

L’IA d’AGEOD mémorise sur plusieurs tours certaines opérations (je ne dirais pas combien, les joueurs en profiteraient !) mais ne sait pas encore réagir en prenant en compte l’historique des situations. Cela fait partie des chantiers que je souhaiterai aborder. Là encore, pas de soucis techniques, mais un besoin énorme en temps, pour un studio qui n’a pas les ressources de Creative Assembly ou même de Paradox !

8/ Dans quelle mesure la perception qu’a le joueur de l’IA compte-t-elle ? Une IA d’un jeu peut-elle se contenter d’être moins bonne stratégiquement (qu’un adversaire humain), tant qu’elle est crédible ludiquement, dans ses actions ? Et donc au final, pour un jeu, offre un résultat amusant, donc satisfaisant ?

On doit laisser au joueur l’impression que son adversaire à des penchants humains, mais sans grever trop sa compétence. Cela peut passer par des personnalités pour les différents généraux IA, certains pouvant être prudent d’autres téméraires, etc.

Cela passe aussi par un non déterminisme de l’IA, il faut qu’elle puisse surprendre le joueur, même si cela implique que parfois elle se rate complètement.

L’IA d’AGEOD, affectueusement nommée Athéna, fait parfois, à dessein, des choix suboptimaux, pour surprendre le joueur (en toute honnêteté, elle fait souvent des choix suboptimaux sans s’en rendre compte !). Le résultat est que parfois cela provoque une réaction de panique coté joueur, car il n’avait pas prévu, en toute logique, que l’IA fasse tel ou tel mouvement. Combien de joueurs sur le forum nous ont indiqués qu’ils avaient étés agréablement surpris par un mouvement particulièrement audacieux de l’IA, qui déstabilise complètement leur dispositif.

Ce qui est amusant, c’est que du coup (et c’est là que vous pouvez vous dire que vous avez réussi sur certains points), ils prêtent des intentions extrêmement sophistiquées ou machiavéliques à l’IA, en la personnifiant… CQFD, une IA totalement optimisée et déterministe n’est pas la plus ludique.

3/ Que permet sommes toutes pour les développeurs la puissance de calcul d’un PC moderne, récent (+/- 2 ans), et de bonne qualité ? 3D mise à part, quelles autres contraintes techniques y a-t-il ?

Plus de puissance de calcul équivaut à la possibilité d’affiner les calculs IA, à temps égal pour le joueur.

D’un autre coté, si votre wargame est plus complexe qu’il y a 5 ans (ou a plus d’entités, que ce soit des chars, des cosaques ou des sous-marins), vous aurez plus de calculs à faire… Si vous prenez un jeu comme War in the East de Gary Grisby, vous imaginez bien que son auteur doit arbitrer pas mal entre ce qu’il voudrait faire calculer à son IA et ce qu’il peut faire sans que le tour dure une heure… Mais ne boudons pas notre plaisir, le programmeur IA est content d’avoir plus de puissance, et plus il en aura, meilleur ce sera pour l’IA !

Il y a cependant un point à noter, c’est que en tant qu’être humain nous ne passons pas forcément dix fois plus de temps à faire notre tour, si nous avons mille unités plutôt que cent… Cela vient de notre capacité d’abstraction et à penser par entité pouvant réaliser une tâche (l’entité pouvant être une masse d’unités).

L’IA peut aussi faire cela, mais l’abstraction n’est pas sont fort et le programmeur IA aura à passer un temps énorme à lui faire comprendre un tant soit peu ce concept. Cela donne du coup parfois une IA “qui pousse du pion” sans grande vision stratégique. Tout cela pour dire que plus un jeu est complexe, moins l’IA sera bonne, même si vous croyez compenser par plus de puissance de calcul.

4/ Certains types de wargames, donc de conflits historiques, ou d’échelles de jeu, sont-ils plus appropriés aux IA (actuelles) ? Si oui, lesquels ?

Cela rejoint un peu la fin de ma réponse précédente. Plus le modèle de jeu est simple, plus l’IA peut faire du “brute force” et trouver de très bonnes solutions sans en fait rien comprendre du tout de ce qui se passe.

Plus un jeu est complexe (en nombre d’entités et de règles) moins il sera possible d’analyser un gros pourcentage de solutions. Ici, vous avez intérêt à écarter très rapidement, en amont de la réflexion, toutes les possibilités qui ne seront pas intéressantes.

Pour un joueur c’est facile. Il est évident qu’un joueur Allemand (dans un jeu 2e GM) ne déclarera pas la guerre aux États-Unis s’il est déjà en conflit avec l’URSS et la Grande-Bretagne, il fera pourrir au maximum la situation tant qu’il n’est pas sûr de terrasser ses deux adversaires actuels. L’IA (ou Hitler, qui était peut être du coup une IA buggée ? Tant mieux pour nous !) ne le sait pas, et fera régulièrement une analyse inutile. Répétez cela sur des centaines de fausses bonnes idées, et votre IA passe son temps à analyser des choses idiotes qui seront rejetées au final, mais qui auront coûtées du temps.

5/ Selon votre expérience dans le développement de jeux, quel(s) défi(s) technique(s) avez-vous rencontré ? Lesquels avez-vous pu surmonter ? Lesquels sont-ils encore une barrière ?

L’aspect combinatoire des jeux complexes est un réel frein pour moi, surtout que je n’ai guère la bosse des maths (je me définirai plutôt comme un joueur, un peu cartésien, qui aime programmer l’IA plutôt qu’un matheux qui essaie d’appliquer ses connaissances académiques à des jeux).

C’est peut être aussi pour cela que les IA des jeux de stratégie ne sont pas si exceptionnelles que cela. Pas forcément parce qu’il ne serait pas possible en théorie d’obtenir une IA exceptionnelle, malgré la complexité du jeu ; mais parce que nous sommes avant tout des passionnés de stratégie qui essayons d’obtenir un adversaire compétent, avec les difficiles contraintes de temps (et donc d’argent) auxquelles nous sommes soumis.

 

 

Sertorius – 75 BC

9/ Niveau wargames, à quelles évolutions peut-on s’attendre pour les IA dans un avenir relativement proche ? Une idée probablement folle, si cela était possible techniquement, un wargame ayant son IA en partie dans le futur (et un peu hypothétique) “cloud” pourrait-il bénéficier d’un avantage (ex : puissance de calculs, comparaison des coups joués dans d’autres parties) ?

Le cloud permettrait en théorie plus de puissance de calcul, vu que vous déportez sur des machines distantes la réflexion IA, mais comme vous l’avez compris, plus que de la puissance brute, c’est une bonne expertise qu’il faut pour faire une bonne IA. Expertise technique mais aussi ludique (l’idéal serait un groupe de travail fait de chercheurs en IA qui sont en même temps férus de jeux de stratégie, et ce sont des bêtes rarissimes).

Imaginons que ce groupe de travail crée une boite à outils pour jeux de stratégie, et qu’elle soit mise à disponibilité via un cloud… Là vous verriez un énorme bond en avant sur la qualité des IA. Le malheur est qu’actuellement, les seuls développeurs intéressés à faire des IA sont bien souvent isolés et ont tout à développer de zéro.

10/ Le jeu d’échec offre un plateau de 64 cases et 32 pièces. Donc une base bien moins importante qu’un bon wargame, et encore moins que certains “monster wargames”.
Avec 256 processeurs en parallèle (soit 200 millions de coups / sec.), en 1996-97 Deep Blue a fini par battre le champion du monde d’échec Gary Kasparov. En théorie, bien programmée, la machine ne fait pas d’erreur. Mais même avec un super-ordinateur, malgré tout il lui manque presque toujours la vision stratégique, la vue d’ensemble ? Si l’on augmente la taille du “plateau de jeu”, pour une simulation vidéoludique tout n’est-il que puissance de calculs ?

Question un peu redondante (ou bien j’ai été trop volubile) avec les autres. La puissance de calcul c’est bien, l’expertise c’est mieux. Les échecs c’est comme vous le dite un espace relativement petit (seulement 64 cases, 32 pièces, 1 mouvement par tour par joueur). Rien à voir avec un wargame, et pourtant il a fallu Deep Blue (et les millions de $ qui vont avec) pour arriver à affirmer la suprématie de l’ordinateur. Cela prouve assez bien que la force brutale de calcul n’est pas la composante déterminante à l’élaboration d’une bonne IA.

11/ Question subsidiaire : Si dans un wargame une IA pouvait battre à coup sur un joueur aguerri, quelque soit le théâtre d’opérations simulé, un bon jeu doit-il limiter l’IA pour nécessairement laisser gagner le joueur ?

Cela ne serait pas intéressant… L’IA est avant tout au service d’un jeu, à moins que vous ne vouliez créer une simulation pour le ministère de la défense.

Si vous aviez cette fabuleuse IA, je vous dirais d’instiller de la personnalité à ses différentes composantes, pour lui donner un coté humain (donc elle ne serait plus optimisée), et d’ajouter quantité de niveau de difficulté, pour que chaque joueur y trouve son compte.

 

Tous nos remerciements à Philippe Thibaut et Philippe Malacher pour avoir accepté de répondre à nos questions.

Caesar – 49 BC
Vespasianus – 68 AD