IA Vs Online : le prochain combat en matière de développement de jeux-vidéos

2 comments

Posted on 20th octobre 2006 by Le_Poilu in Jeux-vidéos

,

Après les graphismes et la physique, l’IA sera-t-elle le prochain terrain de jeu des développeurs ?

Aujourd’hui quand on parle jeux-vidéo, on parle essentiellement graphismes, affichage, performances (Images/Frame par secondes), ensuite viendra le « gameplay », puis plus rarement on parlera environnement sonore et enfin la récemment très médiatisée physique! Mais l’Intelligence Artificielle fait rarement les devants de la scène, normal il ne reste plus beaucoup de place après tout le reste, pour en parler.
Pourtant aux débuts de l’ère informatique c’est bel et bien vers le développement de l’IA que tous les espoirs se tournaient (il suffit de voir le nombre d’œuvres d’anticipation à ce sujet). Mais il a fallu se rendre à l’évidence, ce n’est pas à coup de Gigahertz que l’on crée une vrai IA capable de rivaliser avec l’Homme (dans ses qualités, mais aussi dans ses défauts).

Ainsi l’histoire du jeu vidéo retient surtout la course à l’affichage, et ces dernières années ont effectivement été très prolifiques en la matière. Le « photoréalisme » est à porté de souris et ce n’est qu’une question de temps (temps qui pourrait être très court) avant que l’on y arrive.

Mais revenons à ce qui nous intéresse ici: l’Intelligence Artificielle.
Faute de développement technique prometteurs et/ou de puissance de calcul suffisante l’intégration d’IA dans les jeux vidéo est souvent relativement limitée … parfois même très limitée!

Avant d’aller plus loin, il faut se dire que la notion même d’Intelligence Artificielle n’est pas aussi évident à saisir qu’il n’y parait. Et pour cela l’article consacré à ce sujet sur Wikipédia donne une bonne idée de la réelle complexité du chose: Article IA Wikipedia

Comment ça marche

Les techniques mises en œuvres dépendent souvent du type de jeux, on n’intègre pas une IA de la même façon dans un jeu de tir façon Quake que dans un jeu de course automobile.
Mais globalement ça va du script pur et dur: Une action d’un joueur entraine une « réaction » dans le jeu, cette réaction étant toujours la même car inscrite dans le code même du jeu, à des systèmes plus poussés que l’on appel « réseaux de neurones » (car basés sur ce que l’on sait du fonctionnement du cerveau humain). Là le personnage apprendra au fil de l’aventure et des actions du joueur. Techniquement au bout d’un certain temps chaque joueur induira un comportement différent aux personnages. On retrouve le principe des scripts dans des jeux comme Half-Life, alors que le second a fait parler de lui pour le jeu Black & White.
Une routine connue est celle du pathfinding (littéralement « recherche de chemin), elle consiste à déterminer la trajectoire que devra utiliser un personnage dans le jeu pour se déplacer. Cela permet d’éviter de voir des bonhommes tenter d’avancer vers vous alors même qu’un objet les empêche de passer… leur faisant faire un ridicule surplace façon Mickael Jackson dans ses heures de gloire.

Je ne vais pas trop m’étendre sur le sujet qui peut devenir rapidement très technique, voir même philosophique, ainsi vais-je vous rediriger vers un peu de lecture:

On peut le voir, ce domaine est en pleine mutation, il ne s’agit pas là d’ajouter des polygones à un objet et le recouvrir de textures puis d’appliquer X effets pour le rendre plus joli à l’œil. Et il n’y a pas une technique permettant de bénéficier d’une IA réaliste dans tous nos jeux, il faut s’adapter aux besoins, kit à tricher un peu (système de scripts), mais aussi sommes nous peut-être encore limité par la puissance de calcul de nos machines (qui sont, à vrai dire, plus occupées à gérer l’affichage que le reste).
A ce propos il est intéressant de noter qu’il y a tout juste un an, une société au nom bien trouvé d’AISeek a annoncé la mise au point d’une puce accélératrice prenant en charge l’IA. Cette puce répondant au doux nom de Intia semble bel et bien exister, mais pour l’instant on dirait bien qu’elle n’est pas prête de se trouver dans nos machines. Pourtant, et contrairement à d’autres solutions de prises en charges d’éléments inhérents aux jeux vidéos (qui a dit PhysX ?), d’après les géniteurs de la puce, cette dernière est capable d’accélérer les routines existantes au travers des API connues, ainsi elle ne réclamera pas de développement spécifique. Mais il faut se rendre compte qu’elle prend en charge les techniques connues telles que le pathfinding, ce sont des routines dites bas niveau. Donc en gros c’est très pratique pour un jeu de stratégie où il faut gérer les mouvements et actions de dizaines (voir centaines) d’unités, mais pour un jeu style Black & White l’intérêt s’en trouve limité. Fermons la parenthèse…

La concurrence

Jusqu’à récemment l’intégration d’une IA était partie intégrante et primordiale d’un jeu, pour la simple et bonne raison qu’il faut de l’adversité dans les jeux (sinon on s’ennuiera sec!). Ainsi avions nous le choix entre l’IA parfois très limitée du jeu, ou inviter un ou deux potes à la maison. Dans le premier cas, on apprend vite à « connaitre » les réactions de l’adversaire et passé un certain temps de jeux l’IA devient plus pénible qu’autre chose. Dans le second cas cela nécessite de faire se déplacer du monde et on est n’est pas forcément assuré de jouer face à un adversaire de son niveau, que celui-ci soit beaucoup plus ou beaucoup moins doué que vous et l’intérêt s’en trouver grandement diminué (j’en vois qui sourient au fond, je suis sûr que ça évoque des situations vécues …).
Bref, pour répondre aux besoins des joueurs et pour garantir un minimum de durée de vie au jeu, les développeurs ont du faire en sorte d’intégrer une IA qui soit un minimum satisfaisante. Mais comme nous avons vu il n’est pas (encore) techniquement possible d’avoir dans un jeu une IA qui s’approche même de loin à d’une « véritable intelligence », ainsi on peut être sûr que le potentiel d’évolution dans ce domaine est encore loin d’être consommé.

Normalement, grâce aux progrès fait par la science dans les domaines de la compréhension de la pensée humaine, aux développements de techniques de plus en plus abouties en matière de recherche sur les IA (pas forcément spécifiques aux jeux vidéos) et aux puissances de calcul toujours grandissantes, on devrait connaitre sans cesse de nouvelles évolutions en la matière. Les développeurs devraient avoir les données permettant d’intégrer des IA plus réalistes dans leurs jeux.
Mais bien sûr cela demande du temps et des compétences, ces dernières étant à mon avis bien plus rares que celles abondantes en matière de rendu graphique.

C’est à cela que je veux en venir: Pourquoi dépenser du temps, de l’énergie et de l’argent à développer de puissantes IA alors que depuis l’avènement des connexions internet haut-débits il est aisé de trouver le meilleur adversaire qui soit: un autre joueur ?

Ne risque-t-on pas de voir les modes dit online des jeux prendre le pas sur le besoin de créer un mode offline digne de ce nom ?

Bien sûr ce mode offline sera toujours présent (du moins à moyen terme, qui sait ce que nous réserve l’avenir), mais on peut s’interroger sur ses évolutions futures. Pour jeu dont le principe permet l’ajout d’un mode Online (c’est à dire une grosse partie de la production), il est facile de se dire que les développeurs vont dorénavant plutôt concentrer leurs efforts sur ce mode online au lieu de chercher à innover pour la partie Offline (toujours en matière d’IA bien sûr).

Un petit exemple vaut plus que de longues palabres

Pour moi il existe un exemple simple et qui me tient particulièrement à cœur: les jeux de courses automobiles.
Pour cette catégorie de jeux il y aurait d’énormes progrès à faire dans la gestion d’une course vos opposant à une dizaine (ou plus) d’adversaires. Même dans les productions récentes l’IA des autres concurrents se limite souvent à : suivre la trajectoire, éviter les obstacles (et encore), parfois sortir de la piste. Et il n’est pas rare qu’on se retrouve face à des comportements erratiques, totalement illogiques, et franchement énervants à la longue, comme par exemple le concurrent à qui vous prenez un tour qui vous envoi dans le décor parce que vous aviez le malheur d’être sur sa trajectoire et qu’il n’en bougera pas d’un centimètre (expérience vécue plus d’une fois en ce qui me concerne). Et je ne parle même pas de ce qu’on trouve dans un titre célèbre et connu pour être, je cite, « The real driving simulation », là c’est simple: IA connait pas. Les concurrents suivent leur trajectoire, qu’il pleuve, qu’il vente ou qu’il neige. Vous auriez un char d’assaut que ça ne changerait rien, ils suivent la ligne sans tenir compte à aucun moment de votre présence… frustrant, énervant, et pas réaliste pour deux sous.

Or force est de constater que l’univers des jeux de course s’est résolument tourné vers le jeu online, les dernières productions sur consoles (Test Drive Unlimited, PGR3 sur Xbox360) ou PC (Trackmania, GTR2, etc.) en attestent, le mode online va jusqu’à prendre le pas sur le mode Offline.
Le passionné de course auto que je suis va-t-il devoir se faire une raison? Serais-je à l’avenir obligé de partir en quêtes d’adversaires de mon niveau quelque part sur les serveurs de jeux, sous peine de devoir concourir face à une IA restée au stade évolutif du caillou?
Pour l’instant il me semble bien que c’est la tendance qui s’affirme. Cela se comprend aisément, l’ajout d’un mode online un peu chiadé est autrement plus facile que de développer une IA bien établie.

Là où l’on touche un aspect paradoxal c’est que pour l’instant la plupart de ces jeux sont conçus autour d’un mode offline relativement complet mâtiné de mode carrière avec moult championnats. Et bien sûr dans ces championnats ont doit affronter l’IA du jeu… le problème c’est que souvent ces modes offline sont tout bonnement nécessaires à la progression du joueur dans le jeu, même online. Ainsi ce sont les victoires offline qui donneront au joueur la possibilité d’avoir le niveau pour participer à telle ou telle course/championnat online (par niveau j’entends, niveau de progression, voitures débloquées etc.).
Les jeux mélangeant off et online vont commencer à arriver (Test drive Unlimited en est un bon représentant, mais je pense que le concept a encore du chemin à faire), mais cela soulève la question de la connexion internet haut-débit obligatoire pour un type de jeux qui n’a rien d’un MMORPG (où là c’est l’essence même du jeu), sans même parler du fait que dans certains cas le jeu en ligne n’a rien de gratuit (Abonnement Xbox Live).

Ceci n’est qu’un exemple s’appuyant sur un type de jeu en particulier, mais cela peut facilement être étendu à d’autres jeux… à tous les jeux, car même un MMORPG (Jeux de rôle en ligne massivement multi-joueurs) à besoin d’intégrer une part d’IA pour les créatures qui ne sont pas des joueurs.

Etes-vous online ou offline?

Il est intéressant de se demander ce que va nous réserve l’avenir: Va-t-on prendre un virage résolument en direction du tout online ? Les modes offlines vont-ils continuer à vraiment progresser comme on pourrait l’espérer ?

Une chose dont je suis intimement persuadé c’est que l’arrivée massive des modes online à certainement ralenti le développement des IA lorsqu’ils pouvaient aisément combler le sentiment de frustration laissé par une IA approximative. Et à mon avis ce n’est que quand le online aura atteint sa maturité auprès du grand public que les développeurs se pencheront de nouveau sur la question…

2 Comments
  1. Lord W says:

    Très bon article, comme d’habitude.

    Je pense personnellement que l’IA est le grand défi des années à venir dans le Jeu Vidéo, après la Physique.
    Lorsque cette dernière aura suffisamment évolué (avec des cartes accélératrices et des jeux intégrant cette Physique au Gameplay), les développeurs de jeux à la Call of Duty n’auront plus la possibilité de scripter le comportement des adversaires du joueurs lorsque celui-ci pourra, d’un coup de mortier, détruire n’importe quel mur, n’importe quelle structure, de la carte… Que faire de ces ennemis ? Va-t-on vers le tout online ?
    Ce genre de jeux, populaires, devront soit disparaitre, soit évoluer. Si les développeurs continuent à développer des jeux scénarisés où le joueur évoluera sur différents niveaux dans lesquels il pourra effectuer beaucoup plus d’interactions qu’auparavant (détruire tel ou tel mur, balancer de l’artillerie sur tel ou tel endroit, …), le scripting ne sera plus possible, car le nombre de possibilités à gérer deviendra exponentiel… et là, soit ils conserveront les techniques et les gameplay d’antan (càd de maintenant :) ), soit ils devront se résoudre à créer des IA digne de ce nom, avec des adversaires au comportement réaliste et qui soient efficaces face au joueur…
    Bref, il se peut que l’évolution prochaine de la Physique dans le gameplay des jeux pourrait donner un coup de fouet à celle de l’IA ! Cela nous promet des jeux grandioses si les développeurs ne cèdent pas à la facilité, comme c’est souvent le cas actuellement… Eh oui, le jeu vidéo n’est qu’à l’aube d’une nouvelle ère ! :)

    20th octobre 2006 at 17 h 19 min

  2. Fenix says:

    Aahhh.. Le jour où on pourra jouer tranquillement (et solitairement^^) à un bon Homeworld (3?) vraiment corsé, où l’ennemi échafaude de véritables stratégies bien tordues, et où les unités peuvent d’elle-même rompre une formation en cas de danger… Peu importe les 10^23 images/secondes en 81920*32768 avec FFSA x128… Moi, tout ce que je veux, c’est du réalisme physique (gestion des débris qui percutent des vaisseaux ou autres) et des possibilités stratégiques ouvertes (marre des traditionnelles vagues successives des ennemis…).

    20th octobre 2006 at 12 h 39 min

Laisser un commentaire

Vous devez être connecté pour rédiger un commentaire.