Système TeamSpeak du Réseau Jeux-Strategie.com Abonnez-vous à nos flux RSS Mur du Réseau Jeux-Strategie.com
Ages & Stratégie
  Age of KingsPrésentationInterviewsDave Pottinger    

 

Interview de Dave Pottinger

Créé le : 26/3/2001
Auteur : RayonDelta

Interview de Dave Pottinger sur Gamasutra

Quel objectif gardez-vous à l'esprit lorsque vous programmez l'IA?
Tout dépend de la fonction d'IA dont on parle. S'il s'agit du Pathfinding (désigne le code qui gére le déplacement des unités par l'ordi), qui en réalité n'est pas vraiment de l'IA car un trajet fonctionne ou ne fonctionne pas: il y a peu de place pour l'interprétation quand on évalue un bon ou un mauvais Pathfinding. Mais la plupart du temps c'est considéré comme de l'IA. L'objectif est donc le suivant: est-ce que ça marche? est-ce rapide? est-ce que ça ne prend pas trop de mémoire? Ce genre de choses.
En ce qui concerne l'IA d'un joueur-ordinateur où il doit imiter ce que fait un joueur humain durant une partie, le but d'ES est le suivant: est-ce amusant ? La question n'est pas de savoir si l'ordinateur triche ou ne triche pas, ou de savoir s'il est bon ou pas, ni de savoir si ça demande beaucoup de mémoire, mais surtout de savoir si c'est amusant de jouer contre lui.
Une fois que nous avons respecté ceci, alors nous commencons à nous préocuper de choses qui intérèssent le public hardcore. Notre IA ne triche jamais excepté au niveau où nous avions précisé qu'effectivement il trichait, et je pense que ça a été accepté par tous.

Que voulez-vous dire par "au niveau où nous avions précisé qu'effectivement il trichait"?
Il y a 5 niveaux de difficulté et le plus difficile est comparable au niveau Nightmare de Doom. Ce n'est pas un niveau de difficulté auquel les joueurs normaux peuvent jouer. Ce n'est pas un niveau auquel ils sont sensés jouer. Pour les 4 premiers niveaux, de facile à difficile, l'IA ne triche pas et nous commes content d'avoir été capable de développer une IA qui n'a pas besoin de tricher pour être marrante à jouer. Je pense que lorsque vous démarrez une partie d'Age contre l'ordinateur, c'est plus agréable de savoir qu'il est fair-play. Dans d'autres jeux RTS, vous savez que dès que la partie commence, l'ordinateur sait tout de suite où est votre base. Dans Age, il doit, comme vous, d'abord explorer la carte pour la trouver. Et vous savez que si vous déménagez, il aura de nouveau à explorer pour la trouver.

Est-ce qu'un ordinateur qui triche est révélateur d'une mauvaise IA ou est-ce la seule façon pour un ordinateur de rivaliser avec un joueur humain?
Pas nécéssairement. Je suis sûr que dans certain cas, l'IA triche parce que les développeurs ont été paresseux. Mais le plus souvent, ils ont compris le rôle de l'IA dans un jeu, et elle triche pour le rendre plus amusant. Je pense que si on le pouvait, tout le monde écrirait une IA qui ne triche pas, si on avait le temps et les ressources pour le faire. Pour beaucoup de gens -au moins pour moi- une fois que vous savez que l'IA triche, je n'ai plus trop envie de l'affronter parce que ce n'est pas équilibré. En ce qui concerne l'IA d'Age, elle est amusante à jouer parce que vous savez que c'est équitable. La triche peut être utilisée pour contourner certaines limitations de l'ordinateur. Contrairement au joueur-ordinateur, un joueur humain peut toujours innover ou aller sur le Net pour se tenir au courant des dernières stratégies. Au regard du niveau de complexité nécessaire pour réaliser un jeu de stratégie, il n'y a pas encore du tout d'IA capable d'apprendre.

Et Pourquoi ça?
Les jeux de stratégie sont complexes. Prenez les Echecs, qui est le meilleur exemple pour le public pour comprendre ce qu'est une bonne ou une mauvaise IA. Vous avez entendu parler de Deep Blue, Kasparov, ect... Les Echecs est, à la base, un jeu simple. Vous savez, il n'y a que 16 ou 17 règles à respecter suivant la manière dont vous entamez une partie. Pour un jeu comme Age, il y en a bien plus, et nous y ajoutons la complexité d'une carte aléatoire. Ceci enlève totalement la possibilité de définir une stratégie ouverte. Toute la force de Deep Blue réside dans sa capacité à mémoriser un grand nombre de choses et ainsi de savoir que cette configuration particulière des pièces et ces mouvements forment une stratégie, et que telle défense est bonne contre cette stratégie. Tout ceci doit être incorporé dans un jeu de stratégie. Lorsqu'un joueur vous envoie 10 cavs dans votre ville, il est facile de déterminer un endroit tout près, qui n'est pas dans la ligne de vision de l'ennemi, d'y sortir 20 piquiers, et de leur dire d'attaquer. Ceci est bien plus difficile pour l'ordinateur: "Oh, il m'attaque avec 10 cavs, est-ce que j'ai une caserne? Oui, j'en ai une. Bon, cette caserne est trop loin, donc je vais en construire une autre plus près et sortir des gars de celle-là et une fois que les piquiers sont sortis, bien me souvenir que ces piquiers ont été construits pour attaquer ces cavs." Et alors que la moitié de ces 20 piquiers sont sortis, la cavalerie n'est plus là. Et vous avez 10 piquiers dont vous ne savez plus quoi faire. C'est alors que l'autre arrive avec des archers et bouffe vos piquiers. Alors comment réagir dans ce genre de situation? Il y a beaucoup plus de variables dans un jeu de stratégie, ce qui rend une bonne part de l'approche traditionnelle, inapplicable.

Donc, vous ne pouvez pas encore faire réagir l'ordinateur à ce que je (joueur-humain) fait? Il doit avoir un certain nombre de stratégies pré-établies?
C'est comme cela que fonctionnait Age I, qui était le premier jeu qui nous avons fait, le premier jeu pour lequel j'ai écrit une IA. Pour un bon jeu RTS, il y a toujours plusieurs parades à une stratégie donnée. Chez nous, ce qu'écrit un programmer d'IA ressemble à ceci: "si tu est attaqué par ce type de stratégie là, avec ta base de connaissance historique sur la partie en cours, alors tu dois réagir avec une de ces stratégies ci, et tu dois la choisir en fonction de cet élément là qui... ect. Tu sais que si tu es attaqué par des Moines dans AOK, et que tu es sur une carte maritime, et que les moines sont suffisamment près du rivage pour qu'ils puissent être touchés par des Galions à Canon, et que vous avez des Galions à Canon, alors vous pouvez juste les envoyer. Sinon, il faut faire sans, et envisager un débarquement ou autre chose." C'est la partie la plus mécanique du script écrit par les concepteurs, tout comme beaucoup des stratégies de haut niveau. Par exemple, pour un  Flush British au Féodal, les bases de cette stratégie sont encapsulées dans 6 ou 7 sous-ensembles -des choses que vous êtes sensées faire. Ce que fait l'AI est de déterminer comment réaliser cela le plus vite possible. La différence est que si nous sortons le jeu, 3 mois plus tard, quelqu'un a développé une stratégie à laquelle l'IA ne sait pas réagir. Par opposition, Deep Blue a en lui toutes les stratégies possibles connues. C'est juste une question de savoir s'il va être capable de trouver la bonne suffisamment rapidement pour faire le bon déplacement.

Est-ce que ce sont les programmeurs qui s'occupent des stratégies, ou plutot les testeurs?
C'est plutôt les concepteurs. Nous passons beaucoup de temps sur l'IA. Par exemple, prenons notre projet RTS actuel, qui est le 3ème, RT3, qui est un nom de code trés original (rire). Nous avons un concepteur à plein temps qui ne fait qu'écrire du code d'IA dans notre langage de script. Ce n'est pas réellement du code au sens développeur.

Est-ce un programme à l'intérieur d'un autre?
Oui, c'est une sorte de langage C dégraissé.

Donc, quoi que fasse le designer, cela n'affecte pas le code du moteur de l'IA.
Il dit au moteur ce qu'il doit faire. De la même manière que le joueur humain s'assoit, bouge la souris, sélectionne un gars, et click-droit pour lui dire de se déplacer, le script que le concepteur d'IA écrit provoque de la même manière la réaction des unités de l'ordinateur. Nous avons beaucoup de nouveaux systèmes dans RTS3 qui permettent d'écrire de l'IA à différents niveaux. Vous pouvez laisser une bonne partie de l'exécution tactique de votre stratégie à l'IA que le concepteur a écrite, ou vous pouvez vous-même faire le micro-management.

Est-ce que vous modifiez votre IA lorsque quelqu'un arrive avec une des ces brillantes stratégies que l'ordinateur ne sait pas gérer?
Oui, bien entendu nous mettons à jour notre IA. Nous avons eu à sortir un patch juste aprés la sortie d'AOK parce qu'il y avait un bug dans le script de l'IA. Au niveau facile, en mode DM, avec pop200, l'IA abandonnait aprés 5 minutes. C'était juste un bug. La plus grosse modification que nous ayons eu, était en fait lorsque nous avons embauché notre actuel concepteur d'IA. Il est entré aprés la sortie de AOK, mais avant celle de TC. Il a ré-écrit une bonne partie du script, ce qui a amélioré le temps de passage au Château de l'ordinateur de 4 à 5 minutes, jusqu'à 6 ou 7 minutes dans les cas extrèmes. Et c'était pour la plupart juste de l'optimisation. Tout est une question d'itération, et il a certainement utilisé beaucoup de nouvelles stratégies par rapport à celles que nous avions employées dans AOK. Nous avons un mécanisme qui nous permet de générer des scripts pour de nouvelles cartes aléatoires, cartes que nous sortons toutes les 2-3 semaines. Vous les téléchargez, le jeu les comprend et tout se passe bien. Pour RTS3 nous allons probablement donner la facilité au joueur de faire cela, ce qui permettra bien plus de personnaliser ses scripts d'IA, mettre ça sur les sites web et les télécharger.

Est-ce que les IA personnalisées donnerons un style de jeu complètement différent, suivant la personne qui l'aura créée?
C'est précisément le but. Philosophiquement parlant, à mon avis, n'importe qui ne pourra pas écrire une bonne IA. Si vous vous mettez à écrire une IA, vous allez en écrire une qui va en fait mimer votre propre style de jeu et le jouer de la manière la meilleure que vous-même pourrer le jouer. Si vous essayer de la faire jouer un autre style de jeu que le votre, elle ne le jouera pas bien, car vous ne maitrisez pas les nuances de ce style, puisque ce n'est pas le votre. Peu nombreuses sont les personnes qui peuvent réellement maitriser plus d'un style de jeu, comme par exemple ce gars du staff que nous appelons The Sheriff, et qui est souvent classé comme étant le meilleur Ager au monde, lui véritablement peut user de stratégies différentes. Je n'ai jamais vu personne d'autre capable de faire cela. Je peux jouer une stratégie différente de celle que je joue d'habitude, mais je me rend compte que je n'y excelle pas.

Lorsque vous programmez des stratégies, est-ce que vous donner telle stratégie à une équipe en disant "vous vous occupez de celle là, vous autres, de celle-ci.. ect"?
C'est une des choses dont nous parlons actuellement. Mike Kidd est capable de jouer des stratégies différentes relativement bien, donc nous éspérons en obtenir de lui plusieurs différentes. Si j'en écris une, elle sera différente de la sienne. Si Kevin écrit, disons 6 ou 20 ou autant qu'il en sera capable, nous en aurons autant de différentes. Nous en aurons aussi de nos joueurs moins expérimentés, pour des stratégies plus faciles. Ca aussi, c'est autre chose, il est difficile pour quelqu'un de trés bon de faire en sorte que l'IA soit un peu plus bête pour donner une partie intéréssante à un niveau de difficulté moindre.

Comment différenciez vous la compléxité de l'IA et ce qui la rend amusante?
C'est difficile à faire. Connaissez-vous La Hiérarchie des Besoins de Maslow? En gros, c'est la pyramide des besoins vital de l'homme. En premier, vous vous préoccupez de la nourriture et d'un abri, et aprés vous pouvez vous préoccuper du respect ou autre. Au sommet de tout cela, il y a la compréhension du pourquoi de l'homme. Mais si vous n'avez ni abris, ni nourriture, cela n'a pas de sens de s'en préoccuper, car vous allez mourrir dans 2 jours. Ceci illustre bien le compromis que nous avons à gérer entre la compléxité et le fun. Il faut d'abord arriver à ce que le joueur ordinateur sache tout simplement jouer, et ensuite qu'il sache bien jouer. Et ensuite, une fois qu'il joue bien, et une fois que vous avez une bonne IA qui est capable de rivaliser avec les meilleurs joueurs, alors vous pouvez vous préoccuper de la rendre amusante. Si vous essayez de la rendre amusante avant, vous allez avoir une IA qui sera peut-être amusante pour certaines personnes, probablement le plus grand nombre de personnes, mais les joueurs hardcore n'auront jamais une IA à leur mesure.
Pour rendre une IA de joueur-ordinateur amusante, vous devez des fois ne pas tirer partie à fond des choses qu'elle sait bien faire. Un bon exemple dans AOK, est le micromangement pour lequel l'ordinateur est trés bon, car il bénéficie des cycles CPU trés fréquents et il a une trés bonne mémoire. Beaucoup de joueurs trouvent qu'il n'est pas amusant de jouer contre des archers controlés par l'ordinateur aux niveaux difficiles, car il les recule tout le temps. Il tire, il recule juste assez pour qu'il puisse tirer, tirer à nouveau immédiatemment, puis recule à nouveau. Ca le rend difficile à jouer. C'est sur ce genre de choses sur lesquelles il mise pour contrer la capacité du joueur humain à innover et à exploiter les choses que lui, ordinateur, ne sait pas bien faire. Beaucoup de joueurs se disent que les murs sont une chose difficile à gérer pour l'IA. AOK gère ça plutôt bien, mais si vous construisez 6 ou 7 murs les uns derrières les autres autour de votre base, l'ordinateur ne rentrera pas. Et vous pourrez gagner toutes vos parties en fesant ça. Nous n'en sommes pas arrivé au point ou l'ordinateur est suffisamment bon pour casser les murs et en même temps, faire que ce soit amusant pour vous.
Nous savons, grâce au cas de l'archer, que pour beaucoup de gens, quand l'archer recule, cela franchit la ligne de l'ordinateur qui exploite à fond quelque chose pour lequel il est bon. Ca le rend meilleur, c'est encore fair-play, mais moins marrant. Mais nous utilisons cela à différents niveaux pour rendre la partie difficile. Pour les gens qui veulent jouer contre un bon joueur ordinateur, ce dernier est obligé d'employer ces mécanismes. Mais nous ne franchissons pas la barrière de la triche, car nous nous l'interdisons.
Cependant, aux niveaux faciles, lorsque l'ordinateur a besoin de la capacité des archers à reculer, nous ne le fesons pas, parce que c'est plus amusant sans.

Alors, comment évaluez-vous si c'est amusant ou pas?
Vous savez, chez Ensemble c'est spécial, nous sommes 65 personnes qui sont motivées pour faire de bons jeux. Nous fesons en sorte que tout le monde fasse du test de jeu une fois par semaine. Nous avons un planning de tests. Vous arrivez à 10h le matin, vous testez une ou deux heures, on vous apporte le déjeuner pour que vous n'ayez pas à vous en préoccuper. Pendant que vous testez, les concepteurs ainsi que les responsables qualité sont là et vous leur donnez vos impressions. Vous dites, "ça c'était nul, je n'ai pas aimé cela, j'ai aimé ceci, pourquoi ne pas en mettre plus?". Nous avons beaucoup de retour lorsque nous testons l'IA de cette façon. Nous comptons sur notre société pour nous garder sur le droit chemin. Nous avons des niveaux de jeu trés différents, depuis le super-hardcore avec The Sheriff jusqu'au super-non-hardcore avec notre DRH ou la réception. Si ils aiment le jeu et y joue, leur retour est différent.
Lorsque le jeu entre en phase béta, nous avons déjà beaucoup de données statistiques. Mais le plus gros est décidé par les gens d'ES qui jouent au jeu. Une fois que en sommes au point ou nous avons déjà pris la plupart des décisions, le jeu est suffisamment avancé pour sortir des bétas, et alors seulement nous nous préoccupons de choses comme l'exemple de l'archer.

J'ai entendu beaucoup de gens dire: "Une fois que tu as joué à un RTS, tu as joué à tous!" Qu'allez vous faire pour leur prouver qu'ils ont tord?
Je ne saurais être d'accord avec cette affirmation. Age est différent de Starcraft ou de Warcraft, et ces derniers sont différents de C&C. C&C et Red Alert, et je mettrait peut-être également Total Annihiliation dans cette catégorie, la catégorie des jeux rapides. L'accent n'est pas sur l'exploitation des ressources, trés peu sur l'exploration, généralement d'ailleurs la partie commence avec la carte explorée. Par opposition à Age, ce dernier est plus classique en termes RTS. Il y a de l'exploration, il y a des cartes aléatoires qui permettent le renouvellement, il y a beaucoup de temps à passer à la construction de votre base et la récolte des ressources. Cependant, certains n'aiment pas la récolte des ressources qui est une des bases du jeu. C'est pourquoi il y a le mode DeathMatch qui vous donne des milliers de chacune des ressources pour que vous n'ayez pas à vous en préoccuper. A Ensemble nous n'y jouons jamais car l'exploitation des ressources est un des coeurs du jeu. C'est à dire prendre des décisions intéréssantes. Vous démarrez la partie et vous avez le choix, vous avez quelques gars, vous pouvez couper du bois, construire des maisons, et au fur et à mesure que vous avancez vous devez prendre des décisions et faire des choix stratégiques. Les parties d'Age durent plus longtemps que la plupart des autres jeux de startégie, car il y a, à mon avis, plus de décisions à prendre, et plus de possibilités. Il y a beaucoup de différentes civs. Elles ne paraissent pas aussi différentes que celles de Starcraft, mais au final il y a beaucoup de profondeur dans le jeu.
J'ai surement un point de vue faussé, mais au niveau de l'IA, la notre a toujours été, du moins celle d'AOK, la meilleure. Le générateur de cartes aléatoires est clairement ce qui nous a fait sortir du lot. Pour les scénarios, l'IA est celle qui a le plus de déclencheurs possibles. Vous pouvez simulez beaucoup de choses avec de bons déclencheurs.

Y a t-il un moyen pour que les choix des joueurs influent sur le déroulement des Campagnes?
La réponse est simple, "oui, bien sur..." cela commence avec l'IA pour les cartes aléatoires et nous ré-utilisons cela pour les scénarios. C'est alors du ressort des concepteurs de scénario de laisser l'IA se débrouiller plus ou moins. En général, ils préfèrent choisir, car ils racontent une histoire et les meilleures histoires ont tendances à être linéaires. En dépit du fait qu'en tant que joueur hardcore, j'adore pouvoir influer sur l'histoire, les jeux dans lesquels vous avez une influence ont généralement des histoires moins intéréssantes. Nous visons un large marché qui en réalité semble assez peu s'intérésser aux histoires non linéaires. Mais, lorsque nous serons plus avancé, je pense que nous pourrons changer ça. En fait, une des nouveautés intéréssante dans RTS3 est que nous essayons d'introduire de la non-linéarité dans l'histoire.
La carte aléatoire a été une pierre-angulaire du jeu que ce soit en mode multijoueur ou contre l'ordinateur. Et maintenant nous parlons, dans RT3, d'utiliser cette expérience pour porter cette fonctionnalité au niveau supérieur qui est celui des Campagnes aléatoire. Je ne peut en dire plus...mais c'est un problème complexe. Dans un secteur avec un mécanisme linéaire, comment prendre une histoire et la générer de façon aléatoire pour la rendre amusante à jouer? Et ce n'est pas 95% de l'histoire qui sera la même où, au lieu de capturer l'Epée de Fubar, vous capturez la Coupe de Fubar. Nous ne ferions pas cela car ce serait de piètre qualité. Le but de RTS3 est d'avoir le meilleur mode single player qui existe. C'est trés ambitieux, et si nous ne l'atteignons pas, je pense que nous pouvons nous en approcher.

VO sur Gamasutra

 

Réseau Gamers et Stratégie. Association Loi 1901 à capacité juridique.
©1998-2025 Réseau Gamers et Stratégie - Tous droits réservés - Mentions légales