On ne présente plus Battlefront qui depuis 12 ans ravit les joueurs passionnés de simulations tactiques et de Seconde Guerre Mondiale. Après trois premiers jeux réussis puis en 2007 avec Shock Force un redémarrage sur le thème surprenant, alors, de la Syrie, redémarrage ayant amené une complète refonte du moteur graphique, la série Combat Mission retrouve depuis Battle for Normandy un nouvel élan. Pour le plus grand plaisir des nouveaux venus comme des vétérans.
Les récentes annonces ont permis d’entrevoir la diversité des prochains titres (module Market Garden en tête, a priori ; voir cet article), chacun étant traité avec soins tant au niveau de la modélisation des unités que de la représentation des combats. Traitement exhaustif et précis donc, comme on peut à nouveau le constater avec Fortress Italy, tétralogie consacrée à la campagne d’Italie et dont le premier volet permet d’explorer le débarquement américain en Sicile. Et traitement pour lequel l’IA se doit d’être tactiquement convaincante. Steve Grammont, co-fondateur de Battlefront, nous offre son éclairage sur la problématique de l’intelligence artificielle.
Au passage notez que vous trouverez aussi sur Appui-feu la traduction d’un précédent entretien avec Steve Grammont, article qui faisait un point sur Combat Mission alors que Battle for Normandy venait de sortir. En attendant notre test de Fortress Italy et des évolutions supplémentaires du moteur CM2x, pour plus d’informations sur le jeu voyez notre article sur le module Commonwealth Forces, sorti au début du printemps dernier. Et bien entendu le site de Battlefront.
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 ?
Étrangement, il y a autre chose… la créativité artistique. Fondamentalement, l’IA peut se réduire à des scripts ou des algorithmes, mais le diable est dans les détails, surtout avec les IA. Pour adopter un comportement complexe, l’IA doit non seulement disposer d’un très large choix de scripts, mais elle doit aussi savoir quand les utiliser, et quand ne pas les utiliser. C’est cette dernière partie qui est si difficile dans le monde réel. Budgets de temps de calcul limités, besoins concurrents en ressources par le jeu, et l’énormité de la tâche (c’est-à-dire reproduire l’intelligence humaine) nécessite une approche judicieuse, avec un programmeur très doué. C’est la raison pour laquelle les programmeurs d’IA académiques se hasardent rarement dans les jeux commerciaux.
Certains jeux utilisent la triche comme un outil permettant d’augmenter la difficulté pour le joueur, sans devoir faire beaucoup de programmation complexe d’IA. Mais les joueurs se rendent vite compte de la supercherie, et cela les irrite. Ils font preuve de peu de patience avec les tricheurs, et voilà pourquoi la plupart des wargames utilisent peu ou pas la triche.
2/ Pour un wargame PC, quels sont les différents modèles d’IA ? Et les différents outils logiciels pour les développeurs ?
On peut généralement classer les IA en deux catégories : adaptative (ndlr : réactive, dynamique …) et scriptée. La première méthode signifie que le programme détermine ses actions sans l’aide directe d’un humain. Le concept de script signifie que l’IA s’inspire des humains qui ont développé les batailles en question. Ceci nécessite des outils mis à la disposition des utilisateurs finaux, et la compétence pour les utiliser. La plupart des jeux autres que les wargames les utilise. Il y a enfin des approches hybrides qui penchent plus ou moins d’un coté, mais combinent certains éléments de ces deux approches.
La flexibilité constitue l’avantage primordial des systèmes adaptatifs, qui ne demandent pas d’efforts à l’utilisateur final. L’inconvénient est que les AI programmées sont seules responsables de la façon d’aborder une bataille spécifique et de gérer un nombre quelconque d’actions de l’adversaire. Les méthodes scriptées ont quant à elles l’avantage d’avoir été instruites par un humain sur comment aborder une bataille donnée, et comment celle-ci se déroulera probablement. L’inconvénient est que cela prend plus de temps et que la conception de scripts d’IA n’est généralement pas une compétence maîtrisée par les utilisateurs finaux. Cela signifie un faible nombre potentiels de concepteurs de batailles, car beaucoup d’entre eux n’ont ni la patience, ni les capacités pour créer ces scripts d’IA.
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 ?
Il y un très vieil axiome en informatique. Voulant qu’il y a toujours un jeu sur le marché dont les besoins dépassent les potentialités offertes par toute nouvelle avancée des ordinateurs. Cela signifie que toutes ces nouvelles technologies permettent aux jeux de s’améliorer, mais pas autant que ne le voudraient leurs développeurs ou leurs concepteurs. Je dirais qu’actuellement les deux plus importantes avancées technologiques sont la RAM bon marché et les fréquences d’horloge CPU supérieures. Les technologies des cartes vidéos n’ont pas apporté autant d’améliorations que dans le passé.
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 ?
Les IA des jeux de grande ampleur sont plus faciles à programmer car leur échelle les rend plus faciles à gérer. Les jeux tactiques sont les plus difficiles à cause du nombre bien plus important d’éléments que l’IA doit manier avec succès. Plus un jeu contient de « corps à corps », plus l’IA sera facile à concevoir, car le nombre d’éléments à gérer est là encore beaucoup plus restreint. J’ai pensé à ça la nuit dernière alors que je jouais à un STR avec seulement 4 types d’unités (piquiers, épéistes, archers et cavaliers). Une seule forme de combat à distance, tout le reste est force brute en corps à corps. À comparer au combat moderne avec sa palette d’armements et de spécialisations d’unités. Du point de vue de l’IA, on n’est pas du tout dans la même catégorie.
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 ?
Les attentes du joueur sont toujours supérieures à ce qu’aucun jeu ne peut fournir. Voilà l’obstacle permanent ! Si nous le passons, nous serons probablement les premiers. C’est la raison pour laquelle nous ne jugeons pas nos jeux sur un critère si inaccessible. Ce que nous avons réussi à faire, c’est offrir aux joueurs un environnement très réaliste qui génère des comportements raisonnablement réalistes pour des attentes réalistes. Là où nous devons travailler encore, c’est de fournir aux concepteurs de scénarios la possibilité de concevoir des scripts plus adaptatifs aux situations inattendues.
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) ?
Qu’un humain dirige une IA, ou que l’IA agisse d’elle-même, cela correspond aux mêmes principes pour la programmation de l’IA. Ce qui implique la même difficulté pour les deux modes. Souvenez-vous, une IA alliée qui ne se comporte pas correctement sans l’intervention d’un humain est quasiment inutile. Le joueur ferait tout aussi bien de commander les unités de l’IA lui-même ! Et c’est là que réside la grande difficulté. Pour offrir à l’humain une IA alliée compétente, il faut leur permettre une forte interaction. À quoi sert une IA alliée en difficulté et incapable d’appeler à l’aide ? Ou qu’elle vous envoie des ressources qui lui sont si critiques que vous deviez lui rendre ? Comment gagner si vous ne pouvez pas coordonner vos actions avec celles de votre allié. Cela nécessite une interface utilisateur et une IA complètement spécifiques pour que cela fonctionne.
7/ Dans les jeux de stratégie et les wargames les IA sont très souvent meilleures en attaque qu’en défense, pourquoi ?
Meilleure en défense, toujours ! C’est comme dans la vraie vie. L’attaquant a toute la pression pour réaliser quelque chose de brillant. Le défenseur doit simplement réagir. Il est bien plus facile de réagir que d’agir.
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 ?
Une IA se doit d’être divertissante, sinon c’est une perte de temps. Le reste, c’est du bonus.
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) ?
Si une société réalisant des wargames pouvait doubler son chiffre d’affaire en faisant de meilleures IA, on y verrait beaucoup de grandes innovations. Tout particulièrement dans le domaine des comportements « apprenants ». Ils offrent les meilleurs potentialités d’améliorations majeures, mais nécessitent beaucoup de temps et de talents en programmation, sans compter les besoins en ressources informatiques pour être efficaces. Comme il n’y a pas d’incitations financières pour améliorer l’IA, cela n’arrivera pas. Ou pas à court terme, dans le meilleur des cas.
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 ?
La puissance de calcul est certainement un facteur limitant majeur. Mais le facteur prépondérant est ce qu’on appelle l’« IA basée sur les résultats ». Aux Échecs, les pièces ont des capacités très spécifiques, et les variables se réduisent au choix de la pièce à bouger, de la direction et de la distance. Il y a déjà tellement de combinaisons possibles de ces éléments pour une situation donnée.
Deep Blue a été programmé pour rechercher parmi toutes ces possibilités, y repérer des mouvements possibles, les jouer sur le long terme pour prédire le résultat que pourra avoir une action plusieurs tours plus tard. C’est seulement possible aux Échecs parce qu’il y peu d’éléments, et qu’ils sont prédictibles. Toute simulation sérieuse de la guerre est significativement plus complexe.
La seule solution est de programmer l’ordinateur pour penser comme un humain. Des milliards de dollars pourraient être injectés dans les meilleurs laboratoires d’IA du monde, et le résultat serait en deçà des attentes.
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 ?
Les joueurs n’aiment pas perdre. Ils clament vouloir des IA vraiment bonnes, mais si on leur en fournissait une, ils s’en désintéressaient rapidement. Eh oui ! Les joueurs ne veulent pas d’une grande IA. Ils veulent juste une IA suffisamment bonne pour leur offrir un défi réaliste, puis perdre. Enfin dans la plupart des cas…
Tous nos remerciements à Battlefront pour avoir pris le temps de répondre à ces questions.
Traduction Vincent (Vcube).
English version
1/ For you, what’s really an AI in a wargame. Several scripts and algorythms, of course, but anything more ?
This is going to sound odd, but there is something else… « artistic creativity ». If you boil things down they usually can be categorized as scripts or algorithms, however the devil is always in the details. Especially with AI. To get complex behavior the AI not only has to have a very strong set of scripted behaviors to select from, but it also has to understand when to use and not use them. It’s the last part that’s so difficult to do in the real world. Limited time budgets, competing resource needs within the game, and the enormity of the task (i.e. duplicating Human intelligence) require a clever approach with a very skilled programmer. This is why academic AI programmers rarely venture into commercial gaming.
Cheating is a tool that some games use to give the player more of a challenge without having to do lots of complex AI programming. However, players quickly see through this and find it angering. Gamers have very low patience for cheaters. Which is why so few wargames use much, if any, cheating.
2/ For a PC wargame, what are the differents AI models ? And the differents software tools for developers ?
AIs generally fall into two basic types; on-the-fly and scripted. The first method means the program conducts it’s actions without any direct help from a Human. Most wargames favor this approach. The scripted concept means the AI takes cues from Humans who developed the battles being played out. This requires some degree of end user tools and the skills to use them well. Most non-wargames favor this approach. Then there are the hybrids which lean one way or the other, but combine elements of both.
The primary advantage of an on-the-fly system is more flexible and requires no end user effort. The disadvantage is the programmed AI is now solely responsible for figuring out how to approach a specific battle and how to deal with any number of different opponent actions. Scripted, on the other hand, has the advantage of a Human instructing the AI how to approach a specific battle based on his understanding of how that battle is likely to play out. The disadvantage is that battles take more time to create and (usually) AI scripting isn’t a skill most end users have. Which means reducing the numbers of potential battle makers simply because many don’t have the patience/skill to create AI scripts.
3/ What is possible with the computing power of a modern PC (more or less 2 years old) of good quality ? 3D asides, what other technical constraints are there ?
There’s a very old axiom in computer technology… every new computing advance that comes out there’s already a game in the marketplace that can overload it. This means all new technologies allow games to advance in quality, but not as much as either game developers or game makers want. I’d say right now the two most important advances in the past few years are cheap RAM and higher core clock speeds. Video card technology hasn’t improved as much as it has in the past.
4/ Are some kind of wargames, so of historical conflicts, or scales of games, more appropriate for (current) AI ? If so, which one ?
Higher level games are easier to program AI for because the scale is easier to « fudge ». Tactical games are the hardest because the number of elements the AI has to successfully handle is much larger. The more « melee » a game is the easier because (again) the range of elements is far fewer than others. In fact, I was thinking about this last night as I played an RTS game that has only 4 types of units (Pikemen, Swordsmen, Archers, and Cavalry). One form of ranged fire, everything else is brute force hand to hand. Compare this to tactical modern warfare with it’s range of weaponry and unit specializations. Not even in the same ballpark from an AI standpoint.
5/ From your experience in game design, what technicals challenges have you met ? Which one did you overcome ? Which one are still a barrier ?
Player expectations are always higher than any game can deliver, so that’s a barrier we still have. If we overcome it we’d probably be the first ever, which is why we don’t judge our games’ success based on such an unobtainable standard. What we have succeeded in doing is providing players with a very realistic game environment that produces reasonably realistic behaviors according to reasonable expectations. Where we need to do more work is giving scenario designers the ability to have their AI scripts be more adaptable based on their designs and unexpected situations.
6/ Is an AI allied with the player (for a game including alliances and several factions) more simple or more complicated to build than a unique AI enemy of the player (for a game where there’s mainly one adversary) ?
Whether a Human is directing AI or the AI is acting on it’s own, they must work from the same basic AI programming. Which means, basically, the two are identical in terms of difficulty. Remember, an allied AI that doesn’t behavior well without Human interaction is almost useless. The player might just as well be commanding all those units himself! And there is where the big difficulty comes about. In order for a Human to have a competent allied AI there needs to be a very strong capability of both Human and AI to interact with each other. What’s the use of an allied AI player if it’s getting beat up and doesn’t ask for your help? Or if it sends resources to help you and then doesn’t have enough to do anything for itself, which then requires you to send stuff back to it? How likely is the game to succeed if you can’t coordinate his actions with those of his ally’s? It requires an entirely unique type of UI and AI for this to work.
7/ In strategy games and wargames AI are very often better in attack than in defense, why ?
Defense, always. It’s the same in real life as well. The attacker is the one that has all the pressure on it to come up with something brilliant. The defender simply reacts to it. Much easier to react than to act.
8/ To what extent the perception of the AI from the player has to be taken into account ? Can an AI in a game just be less good strategically (than a human adversary), as long as it offers a good gameplay with its actions ? And so at the end, for a game, offers an entertaining result, thus something satisfying ?
AI must be at least entertaining, or it’s a waste of time. Anything beyond that is a bonus.
9/ For wargames, what development can we expect for AI in a relatively near future ? A crazy idea probably, if that was possible technically, could a wargame having part of its AI in the future (and rather hypothetical) « cloud » gain an advantage (ex : computing power, comparing moves in same other games) ?
If a wargame company could double it’s sales by making better AI then you’d see a number of really great innovations. Especially what is loosely called « learning » behaviors. They offer the best possibilities for major advancement, but they also require massive programming skills and time plus vast amounts of computer resources to make them work effectively. Since there is no financial incentive to improve AI these things will not happen. Or happen any time soon, at least.
10/ A chess game has a board with 64 squares and 32 pieces. So a base less important than a good wargame, and far much less than some « monster wargames ».
With 256 processors in parallel (allowing 200 millions move / sec.), in 1996-97 Deep Blue has finally beaten the world chess champion Gary Kasparov. In theory, well programmed, a computer do not make mistakes. But even with a super-computer, the machine still lacks a strategical vision, a global view ? If we increase the size of the « board game », for a wargaming simulation is it just a question of computing power ?
Computing power is, certainly, a major limiting factor. But the major factor is the the lack of what is called « outcome based AI ». In chess the elements have very specific capabilities and the variables boil down to which piece is moved and which direction and how many spaces does it move. There are only so many combinations of these things that can possibly happen given a specific circumstance. Deep Blue was programmed to search through all the patterns, identify potential moves, then play out those moves long term to predict where that one action might lead to many turns later. It’s only possible in Chess because the elements are so limited and predictable. Any significant simulation of warfare is vastly more complex.
The only real solution is to program a computer to think like a Human. Billions of Dollars could be given to the most advanced AI research centers in the world and still come up short of expectations.
11/ Tiebreaker question : If in a wargame an AI could beat certainly an experienced wargamer, whatever the simulated theatre of operations, to be a good game does it have to limit the AI to necessarily let the player win ?
Players don’t like to lose. They say they want really good AIs, but if they are given one they would quickly lose interest. So yes, when it comes down to it players don’t want great AI. They want AI that’s just good enough to give them a realistic challenge and then lose. At least most of the time.
Our thanks to Battlefront for taking the time to answer these questions.
Très chouette cette interview, merci d’avoir cité AF.