Sauf qu'il a été précisé dans les réponses à mon post initial le type d'IA mis en œuvre sur civs. Le nombre de layer important peu puisqu'il s'agit grosso-modo du même type : une IA à règles non apprises. Ce qui PEUT être efficient mais qui est naze en tactique.
Nul besoin de faire une analyse complexe de leur code en assembleur. Ce type d'IA n'est pas adapté pour résoudre des problèmes stratégique et tactique. Il s'agit de l'histoire de la discipline, les IA à règles furent les premières à être conçue mais ont vite heurté un mur par leur résultat exécrable. D’où l'invention de l'IA classique par la suite (parcours de branche, minimax, A* etc...), de son écroulement face à la résolution de problème dans "le monde réelle" (malgré ses bonnes perfs dans les problèmes à case) et de la renaissance de l'IA via l'étude du cerveau "récemment" qui a donnée de bon mis avec les ancienne discipline (google et le go qui est un minimax + apprentissage sur l'heuristique, des IA à très très bonne regles apprises etc etc...) . Bref c'est plus une discussion sur des catégories employée qu'autre chose.
Donc quand je vois un "grand jeu" qui ne met en œuvre QUE ce type d'IA ET dont les joueurs font état d'un résultat exécrable je penche pour une faiblesse dans cette discipline chez l’équipe de devs. Il existe de TRÈS nombreux jeux ou il est quasi impossible de gagner en combat tactique contre l'IA si on pousse le niveau de difficulté. Donc ce n'est pas une question de faisabilité. C'est la base ... les situations décrites dans les deux dernières pages, je peut concevoir une IA acceptable avec un stagiaire de M2 en une journée qui les évite... pour un cout en perfs quasiment nul sur ce faible nombre de case. Tu parle d'un branching factor elevé, perso je ne le vois pas trop dans le cas tactique. Civs est un jeu avec peu d'unité qui ont peu d'actions dispo et avec de très grosses case, on a connut pire pour nos bêtes de guerre
![:P](images/smilies/langue2.png)
. Surtout qu'il existe de très nombreuses solutions pour simplifier le problèmes (optimisations de minimax + heuristique apprises + coupure de branche estimée par apprentissage etc etc etc ... ) c'est un peu comme ça que google a passé le go...
Enfin, tout comme je n'analysais pas leur code précis, ma solution n'était pas une solution précise, mais une réflexion générale sur les catégories qu'ils ont choisie ou non. Cela fait bien longtemps qu'on applique plus le "minimax" sans optimisation et tuning et sans l'adapter au problème. Ce n'était qu'un comparatif pour dire "Même ce systeme simple offrirais de bien meilleur résultat en rendant l'IA imbattable." .
Quant aux compétences dans leur équipe de devs, c'est assez simple. Cela fait bien longtemps que les compétences en IA dans le milieu du JV sont, au mieux, exécrable. Voire : ont complétement abandonné le domaine. Les quelques qui ont fait des expérimentations sur le sujet date d'il y a 10 ans (FEAR, Black and White etc...). Si tu veut, le milieu du JV réagis avec 30 ans de retard, ce qui est logique car c'est le temps que met le savoir pour se propager des "chercheurs" vers ceux qui utilisent la discipline dans les domaines connexe. Ainsi les expérimentation d'il y a 10 ans sont raccord avec un certains renouveau de l'IA les décennies d'avant. Puis quand celle-ci s'est crachée, devant le peu d'évolution durant des décennies, les équipes de JV se sont mises à utiliser des solutions toute faite. La mutation du JV vers beaucoup d'autodidacte d'une part et des gros AAA d'autres part a également donné lieux à une séparation entre des personnes qui ont un peu toute les compétences mais très faible chacune (et généralement aucune en IA : les autodidacte indé, avec évidemment des exceptions rares) et des ultra-spécialisées (code, graphisme etc...) chez les AAA qui ne sortent pas forcement d'une école générale qui enseigne l'IA (il y en a d'ailleurs très peu finalement) autrement que comme l'exploitation de solution toute faite données clé en main, et datant en général d'il y a bien longtemps (il y a très peu ou aucune entreprise majeure vivant du middleware en IA aujourd'hui, à ma connaissance) .
Mon explication est un peu longuette, mais la combinaison de tout ces facteurs aboutit à un très faible niveau de compétence générale en IA dans les équipes. Autant en AAA qu'en jeux indé.
Évidemment ils pourrait embaucher des ultra-specialisé en IA dans les AAA, tout comme ils ont des ultra-spécialiste en graphisme etc... , et ils le font parfois, mais ça reste très rare, ça couterais trop cher et le résultat "médiocre" leur convient tant que tout les autres font du médiocre et que ça n'est pas un avantage de ouf pour se démarquer. Comme le domaine de la science en IA a été marqué par le patinage de l'IA avant sa renaissance, et une méfiance des investisseur à remettre leur bille dedans, le domaine du JV a développé une méfiance face aux différents essais motivé qui date de cette époque qui n'ont pas aboutit à un avantage fou et sont resté très "couçi-couça". (Black and White a finalement été peu encensé sur ce point, l'IA de FEAR a été vu comme un petit plus par les joueurs avertit mais s'est vite noyé dans son avantages d'ambiance alors qu'elle avais demandé de gros efforts de la part de l'équipe de devs, etc etc...)
Sur les FPS ils se contentent donc généralement maintenant d'un A* tuné et de script en LISP ou assimilé (IA à règles donc, généralement tellement simple que le joueur peut les déduire aisément, notons que c'est super cool néanmoins quand ils sont dispo à la modification, le travail des moddeurs sur l'IA de Stalker est juste magnifique, par exemple), et sur les jeux "de plateaux", hormis les spécialistes (les wargame, ou là ils font un efforts) ils se contentent dernièrement (Civs, Total war) d'IA qui sont des enchevêtrement de règles tunées à la main. (et en plus generalement pas moddable, les valeurs sont modable mais pas la logique derriere)
Voila voila. Ma connaissance de ce tableau général du domaine additionné aux constats des joueurs et au type d'IA qu'on m'a dit que Civs utilise (et qui ne m'étonne guère, finalement) aboutit à une estimation du fait que leur équipe ne doit pas être très orientée IA avec probablement des compétences très faibles (ou une direction qui ne les exploite pas) dans l'équipe. Ce qui est peu surprenant finalement. Ce n'était pas une insulte pour l'équipe
![:P](images/smilies/langue2.png)
. Je pense que c'est le marketing qui contraint leur résultat et qu'ils auraient pu creuser le soucis ou faire appel à des types experts avec plus de temps et de budget.
Pour finir sur ce "petit" tableau, et pour être honnête quant à l'état de l'IA dans le JV, il faut signaler qu'il y a des expérimentations très intéressante moderne en IA de la part de Blizzard, entre autres exemples. Mais qui, de mémoire, ne viennent pas d'une demande à eux, mais de labos qui ont fait des expériences en prenant SC2 comme plateforme et avec lesquelles collabore Blizzard. C'est donc plus de la recup qu'une volonté de la boite. Néanmoins, comme l'IA renait aujourd'hui et que le JV réagit avec des années de retards, on devrait voir arriver la première fournée d'étudiants formées à cette renaissance à peu prés maintenant et ils seront à des postes à respo dans une dizaine d'années ou moins. Donc de maintenant à dans 10 ans on devrait être sur la pente remontante dans le domaine vis à vis du Jeux-Vidéo. Néanmoins actuellement on est au fond du trou... honnêtement ...