Bonsoir à toutes et à tous,

Etant donné qu'en ce moment il n'y a pas des tonnes de news sur Crysis 2,
j'en profite pour vous parler d'un domaine que j'affectionne particulièrement
dans le Game Design : Le Combat Design, c'est-à-dire la création et l'équilibrage du combat et des IA dans un jeu.

Et j'ai décidé cette fois d'analyser le comportement des ennemis dans un jeu
que j'aime beaucoup : Uncharted 2: Among Thieves.

J'ai choisi ce jeu comme exemple car son IA, bien qu'en apparence assez
« banale » utilise beaucoup de trucs et astuces intelligents pour
offrir au joueur un challenge intéressant. En fait j'irai même jusqu'à dire que
ce jeu montre bien ce qu'il faut faire en terme d'IA dans un third person
shooter de nos jours.

Je vais donc articuler ce post en plusieurs points ou thèmes mettant en
avant ces trucs et astuces dont je parlais précédemment.

 

"Ah ! Je le reconnais ! Il est dangereux celui-là !"

Si vous vous dites machinalement cela en arrivant dans une zone remplie d'IA
dans un jeu, c'est bon signe ! Ca veut dire que les ennemis sont
correctement lisibles. Et dans Uncharted 2, les ennemis le sont très
facilement.

La lisibilité est une part très importante lors de la création des
différents acteurs de l'IA. Celle-ci passe par plusieurs étapes :

 

1 / Le visuel

L'apparence des ennemis est primordiale dans un jeu. Leur taille, leurs
vêtements, leur équipement, leur couleur, tout doit être fait pour que les joueurs
sachent au premier coup d'œil (ou presque) à qui ils ont affaire.

Lorsqu'un joueur arrive dans un combat il doit être capable d'identifier
machinalement la plus grosse menace parmi les ennemis en face de lui. Et la
première étape de cette identification se fait par le visuel.

Dans Uncharted 2, il est très facile de reconnaitre les ennemis. En effet,
plus ils portent de l'équipement, plus ils sont coriaces.

On commence donc par exemple, avec un ennemi en t-shirt et casquette, ce sera une faible menace pour le joueur. Ensuite on a des ennemis avec un foulard et un enorme
lance-roquette, bien visible dans le dos. Puis des ennemis avec un casque et
gilet pare-balles, puis avec un face mask, etc, etc...Représentant de manière évidente les différents niveaux de menace pour le joueur.

Exemple d'ennemi "facile" : il ne présente aucun équipement spécial

Ennemi plus difficile : caché derrière un bouclier

 

2 / L'introduction de chaque ennemi

Mais le visuel ne fait pas tout et qui dit bonne IA, dit également IA au
comportement varié. Seulement voilà, le comportement ne se communique pas par
l'apparence. Il faut donc l'introduire au joueur, soit par une petite cutscene
mettant en scène le type d'IA en question (par ex : les gatling guns dans
Uncharted 2
), soit en laissant le joueur affronter une ou deux IA de ce type (par ex : les
« gardiens » dans Uncharted 2
).

Une fois ceci fait le joueur saura comment se comporte quel type d'IA. Et cet élément est
primordial car lorsque le jeu met le joueur dans une situation où ce dernier
doit affronter différents types d'IA ensemble, il doit pouvoir se faire dans sa tête un
ordre de « dangerosité ».

Ce doit être presque machinal, automatique, mais nécessaire pour que le
joueur établisse une stratégie de combat. Sans cela, les combats deviendraient
bien vite une suite de « pan, mort, pan, mort... ».

Encore une fois Uncharted 2 propose cela très bien au joueur et offre des
combats variés et des introductions efficaces aux différents ennemis.

 

3 / Des comportements distincts

Qui dit avoir différents ennemis dit également différents comportements.
Mais il faut bien évidemment que ces comportements soient sensés et
intéressants lorsque mixés ensemble.

Dans Uncharted 2 on retrouve bien cela, avec notamment les ennemis au fusil
d'assaut qui restent loin et à couvert pour tirer sur le joueur, pendant
que les shotguns essayent de se rapprocher autant que possible de lui, quitte à
ne pas se mettre à couvert.

Ces comportements font également partie de la lisibilité des IA et doivent
une fois de plus, permettre au joueur de préparer sa stratégie facilement.

 

Un équilibrage de la difficulté intelligent


Oui, alors pourquoi ce titre me direz vous ? Pourquoi
« intelligent » ?

Et bien parce que tout simplement il existe des raccourcis dans le domaine de l'équilibrage,
des facilités que les Designers utilisent parfois et qui resultent souvent dans un équilibrage plutôt bancal.

Ainsi dans bon nombre de jeux, changer la difficulté revient simplement à
faire en sorte que la précision des ennemis s'améliorent, qu'ils fassent X fois
plus de dégâts ou bien encore qu'ils aient X fois plus de vie...Dans certains
cas, ça passe encore. Mais dans la majorité, on se retrouve confronté en tant
que joueur à des situations d'injustice ou de frustation dû à ce réglage - plus
que basique - de la difficulté.

Je prends comme exemple GRAW sur Xbox 360. En niveau de difficulté le plus élevé, les
niveaux au sol sont encore gérables, mais ceux dans l'hélicopter (en tant que
gunner
) sont presque impossibles...Pourquoi ? Et bien car comme je le décrivais ci-dessus, la difficulté repose simplement
sur le fait que les ennemis savent mieux viser et fassent plus de dégâts donc 1
balle = joueur mort (ou presque). Pour moi, c'est un exemple de difficulté
« injuste » à cause des raccourcis employés par les Designers.

A l'inverse de ce jeu, un excellent exemple d'équilibrage est celui
d'Uncharted 2. J'ai pu ainsi noter que les Designers ne se sont pas réduits à
utiliser les traditionnels raccourcis, mais ont bel et bien repensés le
challenge pour chaque niveau de difficulté.

J'ai pu remarquer les comportements suivants :

 

"Gre ! Gre ! Gre !"

En mode facile ou normal, les ennemis vont vers les grenades que le joueur
lance ou, tout au moins, ne cherchent pas à les éviter. Dans les modes les plus
difficiles, les ennemis évitent les grenades autant que possible.

On pourrait
alors penser qu'en mode Facile les ennemis sont plus stupides, et bien non !

La philosophie des développeurs a été de se dire que les gens les moins
« skillés » joueraient en mode Facile et que donc quand ils
arrivaient a placer une grenade, autant les récompenser comme il se doit. A
l'opposé, un joueur jouant en mode Hardcore sera certainement un joueur
expérimenté, qui recherche du challenge, et qu'il faudra donc le faire
transpirer un peu plus avant d'avoir sa récompense (qui du coup, s'en retrouve
décuplée
).

Même situation avec les objets explosifs du décor. Les ennemis préféreront
passer près d'eux en mode facile et préféreront utiliser les chemins les
contournant dans les niveaux plus élevés.

 

Utilisation des armes puissantes


Dans les niveaux les plus faciles, les IA essayent d'éviter de jeter trop de
grenades sur le joueur ou même d'utiliser les armes du type lance-grenade,
lance-roquette dans le cas d'un combat ayant des ennemis de ce type. En mode les plus difficiles, ce n'est plus le cas.

Etc, etc...

La liste des réglages est encore longue. Mais avec ces quelques
exemples, je tenais à vous montrer que l'on peut également faire de
l'équilibrage intelligent dans un jeu, et non pas de se contenter du bête et
méchant « 2 fois plus de vie pour tous ! ».

 

Conclusion

Pour finir, je pense que Uncharted 2, en plus d'être une réussite totale sur
de nombreux points (graphismes, storytelling, TPS...) l'est également
grâce à son IA qui maintient le joueur intéressé jusqu'au bout de l'aventure, via ses challenges variés et sa difficulté bien pensée.

Du coup, la prochaine fois que vous y jouez, essayez de décortiquer ce que fait l'IA
et vous verrez que les p'tits gars de Naughty Dog se sont pas mal démenés sur
ce coup-là ;)

 

Bonne soirée !

 

David Grivel

 

 

PS : voici un paragraphe que j'avais initialement écrit pour cet article
mais qui sort du contexte de l'analyse d'Uncharted 2. Cela étant dit, je pense
qu'il est tout de même intéressant, donc le voici :

 

Tout est une question de temps...


Bien souvent lorsque les joueurs parlent d'un jeu, l'IA est l'une des
premières features à « ne pas être à la hauteur ».

Et c'est compréhensible car il est difficile de montrer que
l'IA est intelligente au joueur avant que celui-ci la tue par un headshot en
moins de 3 secondes... Souvent la réaction du joueur sera « bah elle est
nulle cette IA elle me courait droit dessus, à découvert... 
»

Oui, c'est possible. Mais si ça se trouve cette IA était peut-être en train de faire
quelque chose de très intelligent, seulement le joueur ne lui a pas laissé le
temps de terminer son action. On peut ainsi imaginer que l'IA était à découvert car en train de
se repositionner pour contourner le joueur ou tout simplement avoir un meilleur
angle de tir sur lui.

Je me souviens que les développeurs de Bungie, sur Halo 1, avait eu un
retour intéressant d'un joueur qui disait : « j'ai
remarqué que lorsque je joue en mode Légendaire, les ennemis sont plus
intelligents que en mode Normal
 ». Ce à quoi un programmeur IA de Bungie
avait justement répondu : « les ennemis ne sont pas plus
intelligents...Ils ont juste plus de temps pour exécuter leur comportement avant
que tu ne les tue
 ».

Cet exemple de Bungie résume bien le problème inhérent de l'IA dans un jeu
(et souvent cause d'arrachage de cheveux pour les Designers) : tout est une question de temps...

Le saint-graal est donc de faire paraitre une IA intelligente même quand le
joueur peut la tuer en 2 secondes. Mais ça c'est une autre histoire...