Comment fonctionne l'IA dans Hitman (2016)

Sorti par IO Interactive en 2016, Hitman a ramené la franchise à ses racines: créant des scénarios riches et intéressants dans lesquels l'agent 47 doit éliminer ses objectifs, souvent de manière improvisée et peu pratique. Pour résoudre ce problème, de nombreux systèmes d'IA sont utilisés dans le jeu, et nous les étudierons avec précision. Nous approfondirons la structure des systèmes d'IA responsables de diverses fonctions dans la dernière génération de jeux Hitman : la création de PNJ qui répondent à la situation, les gardes du corps, les systèmes de foule contrôlés par l'intelligence artificielle, et bien plus encore.


À propos d'Hitman


Les joueurs d' Hitman ont la tâche de tuer des personnalités cruelles et sans principes, dont personne ne regrettera particulièrement la mort. Mais dans chaque cas, le sens est plus dans des histoires uniques que le joueur peut créer lui-même, détruisant des objectifs d'une manière complexe ou drôle. Hitman est criblé de systèmes qui permettent au joueur d'expérimenter, d'improviser et de réagir aux changements dans l'image plus large qui se déroule. Changer de vêtements de barman et empoisonner la victime avec un verre, lui casser le cou en faisant semblant d'être un masseur, effrayer la cible en incarnant un médecin de la peste ou même gagner la confiance de l'équipe d'enregistrement en jouant de la batterie. Le jeu offre aux utilisateurs un large éventail de méthodes de pénétration intéressantes et souvent pré-négociées ou leur cache des informations dans des scénarios plus complexes et plus longs. Que vous marchiez sur le podium d'une semaine de la mode à Paris ou que vous agissiez au milieu d'un coup d'État politique à Marrakech, vos objectifs sont toujours dans des scènes densément peuplées, animées et complexes où il y a des gardes personnels et des agences locales d'application de la loi, sans parler des civils qui interfèrent sous les pieds. Mais précisément à cause de cela, le jeu devient vraiment intéressant: les joueurs doivent fusionner avec l'environnement, se déguiser et manipuler le monde qui les entoure, pour se rapprocher du but, leur infliger une rétribution karmique, puis s'échapper jusqu'à ce que le monde autour d'eux soupçonne la présence de l'agent.


Hitman apporte le plus de plaisir lorsque la préparation et la planification sont correctes et parfaitement mises en œuvre, et pour cela, vous avez besoin de beaucoup de systèmes d'IA. Dans cet article, nous allons examiner quatre éléments clés, expliquer comment ils fonctionnent et aider à créer un gameplay Hitman :

  • Un système d'arbres comportementaux basé sur la situation, dans lequel plus de 300 personnages de niveau peuvent prendre des décisions sur leurs actions futures en fonction de ce qui se passe autour d'eux et répondre aux événements, qui sont souvent entre les mains du joueur.
  • Des systèmes réactifs et pratiques de gardes et de gardes du corps qui compliquent le travail de l'agent et sont distribués pour protéger le joueur compliquant la réalisation du but.
  • Un système puissant pour contrôler et simuler le comportement des foules, vous permettant d'utiliser à un niveau de foule jusqu'à 1000 PNJ qui répondent aux actions des joueurs.
  • Et enfin, un cadre d'animation soigneusement réglé qui fournit à tous ces personnages l'apparence et le comportement les plus réalistes.

J'expliquerai comment tous ces systèmes fonctionnent, ainsi que des paramètres plus fins utilisés à la fois dans le jeu 2016 et dans la suite 2018. Cependant, avant d'entamer une conversation sur l'IA de n'importe quel jeu, vous devez regarder la source à partir de laquelle la chaîne d'outils AI commence et étudier les principes de base de sa conception. Par conséquent, nous commencerons par Hitman Absolution .

Sorti en 2012, Hitman Absolution a mis en œuvre une interprétation plus fluide et plus linéaire de la formule de franchise. Malgré sa popularité relativement faible par rapport aux jeux plus récents, il est devenu la base des technologies et des outils de base utilisés dans les jeux en 2016 et 2018. L'une des raisons les plus importantes était que Absolution était le premier jeu de franchise après Hitman: Blood Money en 2006 (entre-temps, IO Interactive a travaillé sur la série Kane & Lynch , ainsi que sur Mini Ninjas . Par conséquent, de nouveaux outils ont été créés pour Absolution et des systèmes qui reflètent mieux les ambitions de l'équipe pour l'avenir.L'architecture de base de l'IA des personnages non-joueurs Hitman , ainsi que des systèmes pour les foules et les animations, ont été créés pour Absolution et améliorés pour les versions de 2016 et 2018.

Architecture de base de l'IA


Le Hitman AI a été conçu pour tirer parti des différents styles de passes disponibles dans Absolution et les jeux suivants. Cela signifie que le système vous permet d'utiliser la furtivité, de vous déguiser et de fusionner avec l'environnement (les développeurs l'appellent "furtivité sociale") ou de choisir une approche plus agressive et de faire vibrer les armes.

De plus, cela devrait permettre au PNJ de vivre une vie normale, parfois même d'avoir des procédures comportementales bien établies: ils servent des boissons, se maquillent, gardent les entrées, préparent la nourriture, c'est-à-dire font ce qui est approprié pour l'environnement de la scène. Ces procédures doivent être prévisibles et fiables, car dans les jeux furtifs, les joueurs doivent compter sur une telle prévisibilité. Dans le même temps, l'IA doit pouvoir les interrompre lorsqu'elle découvre l'un des nombreux objets que le joueur peut manipuler le monde. Par exemple, lorsqu'un joueur arrête le moteur, bloque le drain dans l'évier, perce le réservoir de carburant ou allume la vidéo. Selon le type d'interaction, il attirera immédiatement les personnages, car il interfère avec leurs actions, ou change la séquence de leurs actions plus tard, afin que le joueur puisse l'utiliser. Ceci est utile pour certaines actions spécifiques qui vous permettent d'attirer des cibles au bon endroit. Le joueur ne voudra pas attendre le résultat de 20 minutes, mais la réaction instantanée des personnages aurait semblé trop contre nature.


Hitman Fundamental AI utilise des arbres de comportement - l'un des formats de gestion du comportement de l'IA les plus courants dans les jeux modernes. Dans les arbres comportementaux, une structure descendante est construite qui détermine les réactions des personnages à diverses conditions. Les comportements sont sélectionnés en fonction des conditions spécifiques du monde et conduisent à une action ou une chaîne d'actions en réaction aux actions du joueur et d'autres systèmes de jeu.

Mais avant que l'arbre du comportement puisse prendre une décision, chaque personnage doit découvrir ce qui se passe dans le monde qui l'entoure. Pour cela, chaque personnage d'IA actif dans le monde a une base de connaissances. La base de connaissances est composée de deux ensembles de données: des connaissances générales, c'est-à-dire des informations connues publiquement sur un objet ou un personnage, ainsi que des informations reflétant son état. Mais il existe également une connaissance privée que le personnage conserve sur les dernières positions connues des objets ou des personnages. Il conserve également une histoire de connaissances sur des sujets spécifiques. Par conséquent, le personnage commence à remarquer que les choses à proximité disparaissent ou bougent; de même, il n'essaiera pas de retrouver des personnages disparus ou morts, ni d'interagir avec eux.


La base de connaissances est accumulée en collectant toutes les informations qui se produisent actuellement à un certain point dans le monde du jeu, avec son filtrage ultérieur à l'aide de capteurs et de services. Les capteurs permettent aux personnages de mettre à jour leurs données personnelles et de répondre aux changements qu'ils remarquent, ainsi que d'entendre ce qui se passe à proximité. Les services mettent à jour une base de connaissances commune. Les trois services les plus courants sont Déguisement (déguisement), Deadbody (cadavre) et Hitman (tueur). Le service Déguisement est utilisé lorsque l'agent 47 se change en costume; cela aide le personnage à savoir si le costume de l'agent doit se méfier de lui. Le service Deadbody aide les personnages à proximité à réaliser qu'un cadavre a récemment été trouvé près d'eux. Enfin, le service Hitman vous permet de partager des connaissances générales sur l'agent 47, par exemple, des informations sur si un joueur a été compromis et où il a été vu pour la dernière fois. Une caractéristique amusante des capteurs est qu'ils fournissent un curieux équilibre des connaissances contextuelles, tout en laissant des lacunes que le joueur peut explorer. Les capteurs fournissent des informations directes sur le monde, mais leur action peut être interrompue en bloquant la portée ou en distrayant les personnages. Les services ne sont pas omnipotents et ne sont mis à jour qu'à certains intervalles. Par conséquent, la plupart des informations reçues des services deviennent obsolètes assez rapidement, ce qui permet au joueur de manipuler les personnages dans leur intérêt.

Mais lorsque l'IA reçoit toutes ces informations, elle doit prendre des décisions concernant ses actions. Chaque personnage IA peut inclure un ensemble d'objectifs pour lui-même, qui contrôle ses décisions. Après avoir sélectionné ces objectifs, il utilise l'arbre de comportement pour prendre des décisions sur le comportement futur. Jusqu'à présent, je n'ai pas expliqué cela, mais plus tard, nous aborderons ce sujet.

Pour diversifier le gameplay, le jeu divise les IA de PNJ gérées en deux types principaux: les civils et les agents de sécurité. Cette séparation affecte les informations stockées dans leur base de connaissances et les types d'objectifs qu'ils peuvent choisir eux-mêmes.

Commençons par les civils. Ces personnages sont généralement de nature passive, mais ils remarquent le comportement le plus provocateur, le considérant comme suspect ou alarmant. En même temps, ils peuvent avoir des objectifs tels que s'opposer au joueur ou avertir les gardes, mais cela ne leur permet pas de s'engager dans la bataille. De bons exemples en sont les niveaux au défilé de mode de Paris et à l'hôtel Bangkok 2016 à Bangkok. En eux, les civils ayant des profils de base de connaissances différents adoptent des comportements différents. Les invités sont beaucoup plus passifs, mais ils répondent tous au comportement le plus flagrant du joueur, tandis que le personnel et les personnes entourant le but de l'agent sont plus susceptibles de réagir à ses ébats et d'essayer de le contrer.

Passons aux gardes. Naturellement, ils sont les principaux adversaires du joueur et entrent en bataille avec lui, réagissant aux conditions les plus extrêmes, par exemple, la découverte d'un cadavre ou de personnes inconscientes, ainsi que des armes et autres objets stratégiques trouvés dans le monde ouvert. Comme mentionné ci-dessus, en 2016, Hitman est apparu des gardes du corps de l'IA, suivant activement le VIP et le protégeant lorsqu'il se déplace dans le niveau. En même temps, ils ont toujours le libre arbitre et peuvent explorer indépendamment le monde. Pour l'implémenter, un système complètement différent est nécessaire, et nous en parlerons un peu plus tard.

Ainsi, après avoir reçu toutes ces informations et activé les objectifs, le jeu construit un système d'arbres comportementaux qui permet aux personnages d'agir selon l'une des deux options: soit exécuter les comportements de leur propre chef, soit rejoindre les `` situations '' dans lesquelles les comportements sont coordonnés par le groupe. Le comportement est une ou plusieurs actions, par exemple, se tourner vers un joueur, interagir ou parler avec lui, se déplacer vers des endroits du monde, passer en mode bataille ou interagir avec des objets que le joueur a manipulés. Lorsque vous jouez au jeu, vous remarquerez que de nombreux objectifs remplissent les comportements définis après que le joueur a manipulé le monde d'une certaine manière. Cela se produit car cela correspond aux objectifs fixés que les objectifs doivent atteindre en cas de certaines conditions. Autrement dit, ils se mettent intentionnellement dans une position risquée afin que le joueur puisse les tuer.


Dans le même temps, des situations surviennent souvent lorsque des événements se produisant dans le monde ont un impact plus large, par exemple, lorsque des personnages découvrent des cadavres, lorsqu'un joueur est compromis ou lorsque la cible se rend compte qu'elle le cherche et tente de s'échapper. Dans de tels cas, les personnages sont conscients de ce qui se passe autour d'eux et se joignent à la situation. La situation dicte des actions pour chacun d'eux et ils jouent tous leur rôle dans cette performance. Par exemple, dans le cas où un joueur ouvre le feu lors d'un défilé de mode, les invités et le personnel essaient souvent de s'échapper et d'appeler à l'aide, et les gardes de sécurité commencent à chasser le joueur et à ouvrir le feu.

Le système d'arbres de comportement est apparu pour la première fois dans Absolution et a été considérablement amélioré et complété par la sortie de jeux en 2016 et 2018. Il utilise un système de niveaux de détail (LOD). Cela signifie que lorsque au niveau il y a plus de 300 personnages AI actifs contrôlés par des arbres de comportement, ceux situés loin du joueur mettent à jour leur comportement moins souvent, et la priorité des ressources CPU pour mettre à jour l'IA est donnée aux personnages les plus proches. De plus, pour ces personnages IA distants, les animations sont soit simplifiées soit complètement désactivées. Comme mentionné ci-dessus, la grande majorité des personnages de ce niveau sont contrôlés par le système d'IA de foule, mais si nécessaire, chaque personnage de la foule peut être doté d'une IA d'arbre de comportement, ce qui augmente sa capacité à devenir un personnage réactif et coordonné.

Des foules


Maintenant, avant de passer aux systèmes conçus pour le jeu de 2016, jetons un coup d'œil au deuxième système de base créé pour Absolution: le cadre d'intelligence artificielle de la foule. Dans Absolution, il pouvait soutenir jusqu'à 1 200 agents dans une foule, et 500 d'entre eux pouvaient être visibles en même temps. Je ne l'ai pas encore dit, mais les systèmes de foule sont très difficiles à mettre en œuvre correctement. Les foules se composent souvent d'une multitude de mannequins IA, qui ne peuvent pas être comparés dans leur esprit à des personnages AI ordinaires. Cela est principalement dû au fait qu'ils sont trop nombreux, mais souvent c'est aussi tout à fait logique - les gens dans la foule obéissent simplement à l'instinct de la foule et se déplacent dans l'espace vers leur objectif. Mais les développeurs Hitman se sont fixé pour tâche de brouiller la frontière entre les foules et le comportement de l'arborescence de l'IA.


Les personnages sont placés dans une foule en tant qu'individus, capables de marcher, de s'arrêter et de reconnaître des objets dans l'espace. Il existe également des groupes sur lesquels les concepteurs ont plus de contrôle. Un groupe est très utile lorsqu'il existe une action spécifique que plusieurs personnages doivent effectuer dans une foule, par exemple, regarder à un moment donné et en même temps former une certaine forme, par exemple, une grande figure ou une configuration. Chaque personnage de personnalité met en œuvre un système similaire à une simple machine à états finis, n'ayant que trois états de comportement de base: l'oisiveté, la marche et «l'attente de la marche». Ce dernier état est utile dans les situations où le personnage veut bouger, mais il n'est pas autorisé à le faire avec une foule de foules. Si les personnages sont coincés dans la foule, alors ils décident de la meilleure direction de mouvement et attendent une opportunité qui leur permettra de reprendre la marche. En fait, tout est plus compliqué que je ne le décris, car dans le processus de déplacement, les personnages doivent ajuster leur vitesse. Par conséquent, chaque personnage est en mesure de définir la vitesse préférée et maximale utilisée pour maintenir le flux de la foule. Un tel système est encore plus utile en cas de panique, lorsque les gens commencent à courir au hasard.


L'un des dangers réels d'avoir autant d'agents dans un système de contrôle des foules est d'interroger un nomesch pour trouver un moyen ou simplement de vérifier s'il peut atteindre le point souhaité. Les maillages de navigation sont un système couramment utilisé dans les jeux 3D pour déplacer des personnages dans des environnements. La société IO s'est rendu compte que c'était un moment plutôt critique, donc, a superposé une grille de décision 2D informant le personnage de l'IA s'il était possible de traverser un espace donné, s'il fallait l'éviter (s'il s'agit d'une zone protégée), des points de sortie pour les PNJ, et zones interdites en cas de panique causée par l'agent 47 - il serait étrange que des gens courent calmement à côté de lui. L'intelligence artificielle des foules et des arbres de comportement ont des grilles de décision. Pour les arbres comportementaux, les grilles offrent un moyen rapide et efficace d'effectuer des contrôles de visibilité, de rechercher des emplacements appropriés à proximité de points importants et de trouver des emplacements tactiques par rapport à un personnage donné sans contrainte excessive sur la charnière elle-même.

Mais la partie la plus difficile commence lorsque l'agent 47 est ajouté au système. La foule se promène autour de lui et vaque à ses occupations, mais lorsque le joueur commence à faire des ravages, les systèmes d'IA devraient être en mesure d'y répondre. Les personnages à proximité immédiate du joueur devraient avoir l'air paniqués et essayer de s'échapper, mais cela aura un effet cumulatif sur toute la foule - cela commencera à se déplacer dans l'espace dès que chaque personnage à proximité fuira la source de l'alarme. Ce problème est résolu par deux systèmes appelés zones de comportement et flux de panique.


Premièrement, toute action dans le monde qui devrait influencer la foule crée une ou plusieurs zones de comportement dans l'environnement. La zone de comportement envoie une impulsion avec un certain rayon et un certain angle par rapport à la source de l'événement, qui détermine la réaction de chaque IA interagissant avec elle. Par exemple, lorsque les feux d'artifice commencent à faire du bruit, alors tous les personnages dans un certain rayon se tournent vers un point important pour regarder leurs explosions. Si un joueur, pendant ce temps, sort une arme et la dirige vers un spectateur innocent, trois zones de comportement fonctionneront:

  • Le premier fait tomber ceux sur la ligne de tir au sol.
  • Le second fait paniquer le personnage à proximité immédiate du joueur.
  • Le troisième fait que tout le monde dans un certain rayon du joueur apprend la situation et entre dans un état d'anxiété accrue.

Lorsque l'agent se déplace dans l'espace avec des armes, ces zones comportementales continuent d'envoyer des impulsions du joueur et de faire réagir d'autres personnages IA de la foule.La zone de comportement peut provoquer de nombreuses réactions dans l'IA de la foule: regardez un point important, évitez la source de la zone de comportement, informez-en, faites-en peur ou tombez au sol. Si l'IA de la foule se situe entre plusieurs zones de comportement, il préfère l'action qui affectera le plus son humeur. De plus, selon mes recherches, si un joueur fait fuir les personnages, il ne sera pas possible de les calmer, donc vous ne pouvez que faire pire et il est impossible d'améliorer la situation. Le joueur a un impact négatif sur la foule.

De telles zones de comportement sont créées par les concepteurs pour chaque niveau, car elles sont nécessaires pour que les personnages réagissent aux événements du monde, mais leurs réactions auraient un sens dans un contexte spécifique. Par exemple, si dans HitmanEn 2016, une bagarre commencera dans le bar du défilé de mode, cela se révélera très inapproprié et la foule réagira assez négativement. Si un joueur commence un gâchis au iVixen Club dans Hitman Absolution , alors il ne sera pas pris au sérieux, car les bars à strip ont une atmosphère appropriée et les gens peuvent se comporter comme des cochons là-bas.

Mais quand un joueur crée le chaos, la foule veut s'écarter de son chemin et des courants de panique viennent ici. Les flux de panique sont créés sur la base de la grille de décision, que j'ai mentionnée ci-dessus, dans laquelle chaque sortie publiée par les concepteurs fait que chaque cellule de la carte calcule le chemin le plus court vers cette sortie en utilisant une variante de l'algorithme de Dijkstra. Ces chemins vers les sorties sont des flux de panique, et la foule AI choisit le meilleur flux à suivre en cas de danger. Ces flux sont calculés pour toutes les sorties dans un espace donné, ce qui permet à la foule AI de basculer dynamiquement vers une autre sortie en cas d '«embouteillage», ainsi que de résoudre les situations où un joueur décide de bloquer la sortie la plus proche.

Gardes du corps et VIP


Après avoir amélioré les systèmes d'IA des arbres de comportement et de l'IA de foule pour Hitman 2016, il restait à ajouter une autre fonction importante: le système VIP et les gardes du corps. De nombreux objectifs importants dans Hitman sont accompagnés d'un ou plusieurs gardes du corps, ajoutant un autre niveau de difficulté pour le joueur. Bien sûr, chaque niveau est conçu pour que vous puissiez trouver des moyens de les contourner, les forçant souvent à se déplacer vers des positions plus faibles ou à s'habiller dans un costume qui leur permet de passer inaperçu. Mais pour ajouter ce nouveau niveau de complexité, il était nécessaire d'intégrer un système complètement différent dans le framework AI fini.


Les développeurs devaient résoudre le problème de la création d'une relation entre les gardes du corps et les VIP. Auparavant, les personnages de l'IA ne se connaissaient pas. L'IA de la foule savait seulement que quelque chose l'empêchait de se déplacer dans le monde, et l'IA de l'arbre de comportement n'a jamais su ce que faisaient les autres personnages. Comme mentionné ci-dessus, grâce au système de situations, il semblait qu'ils étaient coordonnés et réagissaient aux événements dans le monde, mais ils ne pouvaient pas rejoindre de manière significative d'autres personnages pour participer à cette situation et ne communiquaient pas entre eux, car ils n'utilisaient que des capteurs et des services. Ils vous permettent simplement de vous ajouter à la situation et un système séparé les sélectionne en fonction de leur position locale et d'autres critères. Mais dans ce cas, nous devons implémenter une relation entre les deux types d'IA. Les gardes du corps doivent toujours suivre le VIP et vérifier son statut,si vous ne l'avez pas vu depuis un moment. Dans le même temps, de nombreuses réactions systémiques aux systèmes de jeu ne devraient pas être gérées par le VIP lui-même (après tout, il est finalement le patron) - il ordonne simplement à ses gardes du corps de les prendre.

Cela a nécessité des situations d'escorte et d'évacuation VIP complètement nouvelles qui doivent être intégrées au système d'IA principal. Dans ce cas, les situations doivent avoir des règles très spécifiques qui déterminent leur travail. Pour les implémenter, IO a créé deux types spéciaux de caractères. VIP est une sorte d'intelligence artificielle civile qui réagit aux situations un peu différemment, y compris une nouvelle capacité à commander d'autres personnes. Les gardes du corps sont un type de gardes IA qui ont un ensemble de comportements légèrement modifiés et surveillent activement leur VIP actuel.

Tout d'abord, le système vous permet de créer une situation appelée Ambient VIP Escort, dans laquelle les gardes du corps accompagnent le VIP en niveau. Les gardes du corps utilisent des systèmes de recherche de nom et de chemin pour rester près du personnage et le suivre. Si le VIP décide de s'arrêter, les gardes du corps adoptent des comportements passifs et attendent jusqu'à ce qu'ils aient besoin de le suivre davantage.

Cependant, cela signifie que les VIP ne peuvent jamais être laissés seuls. Naturellement, un VIP peut devoir être laissé seul pour faire des affaires, ce qui aide le joueur dans sa tâche. Par conséquent, le VIP peut ordonner aux gardes du corps de ne pas le suivre dans certaines zones; les concepteurs de niveaux ont placé des notes sur la carte indiquant aux gardes du corps où ils devaient attendre le patron.

Mais cela révèle un autre point faible - le VIP peut se perdre si les gardes du corps restent debout et ne vérifient pas si le boss est toujours en vie. Cela est contraire à leur objectif. Par conséquent, une autre situation a été ajoutée au jeu: le comportement de recherche d'escorte. Si le jeu comprend que le VIP ne peut pas continuer sa patrouille sur la carte (parce qu'il a été empêché, il est inconscient ou, très probablement, mort), alors le chronomètre démarre. Quand il atteint une certaine valeur, le garde le plus proche commence à vérifier le dernier emplacement connu du VIP, et s'il ne le trouve pas, d'autres gardes du corps le rejoignent et se dispersent pour rechercher une liste plus large de lieux à proximité.

S'ils trouvent un VIP et que tout est en ordre avec lui, le processus se poursuit de la manière habituelle. Si le VIP est mort, le mode de recherche actif est activé, mais si le VIP est retrouvé inconscient, les gardes du corps mettront en œuvre la dernière situation ajoutée au jeu de 2016 - Évacuer le VIP.


La situation d'évacuation a été créée afin que les gardes du corps puissent déplacer le VIP vers un endroit sûr. Cela commence lorsque le VIP découvre l'attentat à sa vie, dans le cas de tirs, d'explosions et d'autres signaux de danger qui se sont produits à proximité. Dans une situation d'évacuation, les gardes les plus proches entourent le VIP, après quoi ce groupe se déplace dans une pièce sûre. Les chambres sûres sont des endroits que les concepteurs de niveaux ont étiquetés comme un bon endroit pour cacher les VIP. Lorsqu'un groupe est sur le point de se déplacer dans une salle sûre, le système calcule l'espace de son impact sur la grille de décision, préférant les chemins les moins fréquentés pour éviter de créer des embouteillages dans la foule. Les chemins calculés sont délibérément agencés pour que le groupe évite d'être pressé dans les coins, car lorsque plusieurs gardes du corps protègent un VIP,ils ne devraient pas s'accumuler et entrer en collision les uns avec les autres. S'il est impossible de trouver une pièce sûre ou de construire un chemin vers celle-ci, ils décident que la meilleure voie d'évacuation est de maintenir la position jusqu'à ce qu'une nouvelle opportunité de retraite se présente.

Quoi qu'il en soit, pour commencer l'évacuation, les gardes du corps doivent s'aligner. Pour ce faire, ils ont besoin d'un bâtiment, qui est géré par un système de construction séparé, attribuant à chaque personnage son propre emplacement et créant la priorité de son ajout au groupe. Puis un autre système entre en jeu, soutenant la vitesse de déplacement et préservant au maximum la construction du groupe; le point de départ est VIP. Cependant, si le joueur décide de les poursuivre, les gardes du corps peuvent sortir de la ligne pour arrêter et accepter la bataille.

Après être arrivé dans une pièce sûre, tous les gardes affectés sont assignés à la pièce et ont un comportement défensif pour protéger le VIP. Si après cela, un joueur apparaît et met en danger cette pièce, le système recommence le processus d'évacuation, après quoi les PNJ créent un bâtiment et calculent une nouvelle pièce et le chemin qui y mène.

Des animations


Le dernier élément important de l'intelligence artificielle d' Hitman est les systèmes d'animation que le joueur voit en premier lieu. Les animations dans les jeux sont très importantes pour démontrer les décisions prises par les personnages; ils sont particulièrement importants dans les jeux furtifs, où le joueur doit comprendre ce à quoi il pense, car cela affecte sa stratégie dans son ensemble.

Traditionnellement, l'animation est contrôlée par un contrôleur: le système sait que dans certains contextes un personnage passe d'un état d'attente passive à la marche et à la course. Pour cela, les programmeurs et les animateurs doivent généralement construire de tels systèmes de manière à ce que chaque personnage connaisse non seulement l'animation qu'il doit jouer, mais comprenne également comment effectuer des transitions fluides entre les animations, ainsi que gérer de nombreuses conditions dans lesquelles vous devez mélanger ensemble. plusieurs animations pour obtenir l'effet souhaité. Si le système fonctionne mal, les personnages ne semblent pas naturels et maladroits, mais pour sa bonne mise en œuvre pour chaque personnage, beaucoup de travail est nécessaire. La tâche devient encore plus difficile lorsque les personnages peuvent être dans de nouvelles conditions uniques et de nouvelles animations sont ajoutées au système.Id Software a résolu ce problème en ajoutant àDOOM 2016 est un contrôleur d'animation basé sur l'animation qui minimise le nombre d'animations créées pour chaque personnage et vous permet de calculer la meilleure façon de les gérer dans le contexte actuel. Mais une caractéristique unique pour Hitman était que IO Interactive ne pouvait pas se permettre d'avoir plus d'un millier de contrôleurs d'animation complexes en même temps. Par conséquent, elle avait besoin de quelque chose de moins cher et, dans le cas idéal, calculé à l'avance pour réduire la charge sur le processeur.


Par conséquent, IO Interactive a décidé d'étudier un système appelé Motion Graphs, dans lequel la tâche des concepteurs était de connecter toutes les animations, et la tâche de l'IA était de comprendre comment les mélanger toutes. L'idée sous-jacente est assez simple: après avoir enregistré toutes ces animations, nous forcerons l'algorithme à trouver des images dans lesquelles deux animations sont suffisamment proches l'une de l'autre pour qu'elles puissent être utilisées comme transition. Ceci est réalisé en recherchant une paire d'images (une de chaque animation), dont la différence est minime. Dans le même temps, ils recherchent non pas les images les plus similaires les unes aux autres, mais les moins dissemblables en tenant compte de la durée et de la vitesse. Une fois que la métrique de non-concordance a sélectionné la paire avec la valeur la plus faible, elle l'ajoute au graphique des transitions possibles. Une fois le graphique de mouvement terminé,le personnage peut simplement agir dans le jeu et déterminer la séquence d'animations nécessaire pour obtenir l'effet souhaité.

C'est là que l'IA entre en action, car malgré le fait que le graphique de mouvement élimine la partie conception du problème, nous avons toujours besoin d'un système pour effectuer les animations nécessaires. Par conséquent, à partir d'Absolution, un nouveau contrôleur d'animation a été intégré à la série de jeux, utilisant un apprentissage automatique renforcé. Si le système connaît l'animation actuelle, la direction et la vitesse actuelles, il doit alors remplir les conditions de la direction et de la vitesse nécessaires, et également découvrir dans quelle animation actuelle il doit rester et avec quelle direction et vitesse. La première version du système utilise une simple variation de la politique gourmande standard, mais plus tard, les développeurs ont étudié les possibilités d'apprentissage Q et d'approximation d'une fonction en l'étendant dans un système de fonctions de base (approximation de la fonction de base), qui peut être appliqué dans de nouvelles versions.

Hitman 2


Dans le processus de passage d'Absolution à Hitman 2016, les systèmes d'IA de base ont été améliorés, le système de foule a été optimisé et des systèmes de garde du corps et VIP ont été ajoutés. Le même processus s'est poursuivi lors du développement de la suite de 2018 appelée Hitman 2 .

Au moment d'écrire ces lignes, les détails sont encore inconnus, mais des changements importants ont été apportés au jeu, et chaque système a été révisé et intégré à nouveau. Le changement le plus notable a été l'optimisation du système de foule, qui peut désormais gérer plus de 2000 PNJ, et cela démontre pleinement le deuxième niveau du jeu avec la piste de course à Miami.


Le système de capteurs a également été révisé: vous pouvez désormais vous débarrasser de l'apparence suspecte du PNJ, simplement en vous détournant de lui - vous n'avez plus besoin de quitter son champ de vision. De plus, le joueur peut désormais mieux se cacher dans la foule, ainsi que profiter de la végétation. À leur tour, les PNJ ont appris à voir le joueur dans les miroirs, ce qui rend leur comportement beaucoup plus réaliste.

La troisième mission en Colombie soulève des enjeux particulièrement élevés - elle a jusqu'à trois objectifs, chacun se déplaçant le long d'une route de patrouille assez grande. Le joueur a besoin de plus de flexibilité, car les systèmes de jeu interrompent ces itinéraires cibles s'il devient évident que le joueur essaie de les utiliser.

En conclusion


En fin de compte, Hitman est l'une des fonctionnalités les plus riches et les jeux les plus complexes que j'ai rencontrés dans la série AI et Games. Il utilise un grand nombre de systèmes soigneusement réglés et optimisés qui gèrent un grand nombre de NPC, tout en fournissant une petite charge sur l'ordinateur. Il établit une nouvelle norme pour la taille et l'échelle des personnages de l'IA en temps réel, et j'espère que ce n'est pas le dernier jeu de la franchise IO Interactive.

Les références


  • "Créer l'IA pour le monde vivant et respirant de l'absolution d'Hitman" par Mika Vehkala, GDC Europe 2013.
  • «Crowds in Hitman: Absolution» par Kasper Fauerby, Game / AI Conference 2012
  • «Renforcement de l'apprentissage basé sur la locomotion des personnages dans Hitman: Absolution» par Michael Büttner, Game / AI Conference 2012.
  • "Gardes du corps et VIP: un regard sur le comportement de l'IA ambiante, alerte et d'évacuation dans Hitman" par Jason Schroder et Thomas Egeskov Petersen. Conférence nucl.AI 2016.

Source: https://habr.com/ru/post/fr467301/


All Articles