CyberDemons: Intelligence artificielle DOOM 2016

Les jeux de tir à la première personne ont évolué au fil des ans et sont devenus un support très intéressant pour les personnages non joueurs: des soldats se cachent derrière des abris, des inconnus poursuivent le joueur et des partenaires l'aident dans le feu de l'action. Tout cela s'inscrit dans le concept de design des tireurs modernes: tenir le territoire, créer des lignes de défense et dissuader le joueur. Dans cet article, comme exemple de redémarrage de la franchise DOOM 2016, je vais parler de ce qui se passe lorsque les développeurs refusent d'utiliser le code de conduite standard dans le jeu.


DOOM est construit sur une philosophie connue sous le nom de « combat en avant », affectant la narration, la conception des niveaux, le mouvement des joueurs, etc. En bref, il est un regard critique et une réaction aux tireurs modernes. Alors que Call of Duty force le joueur à ramper derrière la couverture et à tirer sur les ennemis de loin, DOOM viole ces règles, créant un gameplay puissant, rapide et «vertébral». Mais comment tout cela fonctionne-t-il et que fait l'IA pour rendre le gameplay vivant?

Bataille agressive


La philosophie Push Forward Combat englobe tous les aspects de DOOM : elle définit les fondements du jeu et la façon dont les joueurs interagissent avec l'IA au combat. Comme Kurt Laudi l'a expliqué dans son rapport lors du GDC 2018 , le jeu utilise fortement la mécanique des jeux DOOM originaux: mouvement rapide, couloirs secrets et escarmouches furieuses. Mais même si elle veut revenir à ses racines, elle doit également attirer un public complètement nouveau qui n'a jamais joué dans des FPS à l'ancienne, y compris DOOM avec DOOM II: Hell on Earth . Par conséquent, le combat agressif est construit sur quatre piliers sur lesquels repose la conception de l'ensemble du jeu:

  • La vitesse du joueur et des démons.
  • Identité démoniaque
  • Le caractère unique de chaque arme
  • Préserver la puissance du joueur même dans les situations les plus difficiles.

Ces quatre piliers ont permis de créer et d'améliorer la mécanique du jeu; grâce à eux, il devint évident lequel des mécaniciens renforçait le principe du combat agressif, et qui l'empêchait. Par conséquent, le rechargement des armes a été supprimé du jeu, car il interférait avec le cours de la bataille, et un double saut a été ajouté, permettant un accès plus rapide aux ennemis. Enfin, le gameplay de base doit être intuitif et intéressant, mais en même temps, il peut devenir plus complexe, récompensant le joueur pour le bon choix d'objectifs et d'armes. Les combats dans DOOM ont souvent lieu dans des arènes moyennes et grandes, de nature asymétrique, avec de nombreux mouvements verticaux. Ils sont beaucoup plus proches des tireurs multijoueurs en ligne que des campagnes solo traditionnelles. Ajoutez à la composition des démons ennemis, et vous obtenez ce que l'ID appelle «échecs de combat»: la tâche du joueur est de savoir quel démon à détruire en premier, et comment y accéder au mieux.


Pour implémenter et affiner ce gameplay, vous aurez besoin d'un ensemble de nouveaux outils. Les systèmes d'IA utilisés sont créés sous l'influence sérieuse de tireurs à la première personne plus traditionnels et adaptés au concept DOOM . Je reviendrai sur la façon dont DOOM AI, grâce à sa structure, renforce le concept de Push Forward Combat, mais je voudrais d'abord explorer le travail des architectures de l'IA et étudier les sources de son origine. Pour ce faire, nous devons d'abord parler d'un DOOM qui n'a jamais existé et de la façon dont il s'est transformé en un jeu de 2016.

Doom Rescue


Il est bien connu que le cycle de développement de DOOM 2016 était compliqué: la franchise a connu des problèmes d'auto-identité et ne savait pas ce qu'elle allait devenir à l'ère moderne. Initialement, le jeu ressemblait à des tireurs plus modernes, mais il a finalement été abandonné et à partir de ce moment, le DOOM que nous connaissons aujourd'hui a commencé à prendre forme. C'est au cours de cette transition qu'il s'est avéré quels outils de la chaîne d'outils AI peuvent être adaptés au jeu et comment ils peuvent aider à mettre en œuvre le concept de combat agressif.

DOOM 4 - comme on l'appelait à l'origine - est en développement depuis 2008. ZeniMax Media, la société mère qui a acheté id Software en 2009, n'était pas satisfaite du processus de développement et, après un audit interne en 2011, a insisté sur des changements. Des sources proches du projet, qui souhaitaient garder l'anonymat, m'ont informé que l'équipe de développement de Rage , préparant le début de la pré-production de la suite, a été contrainte d'arrêter de travailler et de fusionner avec l'équipe DOOM 4 . "Call of Doomy", comme le jeu de studio était méprisé, a radicalement changé de cap, passant de DOOM 4 à DOOM . Cela a provoqué une grave déception - les idées et les personnalités se sont opposées à la nouvelle direction choisie. La nouvelle conception du projet a conduit Matt Hooper à entamer la recherche nécessaire pour raviver l'énergie du DOOM classique. Mes sources affirment que le succès du mod Brutal DOOM du développeur SgtMarkIV est devenu une sorte de confirmation de l'exactitude de cet idéal. Cela a conduit à la création d'une nouvelle démo de gameplay, publiée en 2012, qui se concentrait sur la philosophie de combat en avant, et a également repensé le système de destruction de gloire (environ par: le système pour finir efficacement l'ennemi en combat rapproché) , déjà présent dans DOOM 4 .

Avec de nombreux développeurs expérimentés qui ont quitté l'équipe Rage pour créer DOOM , un tas d'outils et de systèmes ont été transférés au nouveau projet à la fois depuis le jeu lui-même et depuis le moteur id Tech 5. Parlons des outils d'architecture AI de base dans le moteur id Tech, ainsi que comment ces systèmes créés et peaufinés sous Rage ont ensuite été portés sur DOOM .

Architecture de l'IA


Le développement de la chaîne d'outils d'IA dans le cadre du moteur id Tech 5 a commencé en 2005, presque immédiatement après la sortie de DOOM 3 . Il a d'abord été testé dans un cas chez Rage . Le principal système de prise de décision de l'IA ennemie dans Rage et DOOM consiste en des machines à états hiérarchiques (Hierarchical Finite State Machines): une variation de l'implémentation classique de l'IA, offrant une flexibilité et un contrôle accrus sur la séquence des états avec leur comportement.

Machines à états hiérarchiques


Les machines à états finis sont étroitement liées au principe de l'état, pendant lequel l'IA peut exécuter certains comportements. De plus, sous certaines conditions, l'IA peut entrer dans d'autres états. La combinaison de plusieurs états en groupes et la mise en place de transitions entre eux vous permet de créer des flexibles, réactifs à la situation et des comportements intéressants. Une de mes premières vidéos sur Batman: Arkham Asylum raconte comment ils ont été utilisés pour la furtivité et les batailles.


Cependant, le schéma peut rapidement devenir très complexe: le nombre d'états augmente et le nombre de transitions entre eux devient encore plus important. Pour faire face à ce problème, les machines à états finis hiérarchiques (ICA) regroupent des ensembles d'états spécifiques et les exécutent dans un cluster avec des transitions claires dans et hors de ce cluster.


En fait, les clusters créent de petites machines d'état à l'intérieur d'une grande machine d'état, dans laquelle et à partir de laquelle le système peut effectuer la transition. Cela vous permet de créer un comportement plus ordonné et structuré dans lequel les états individuels sont présents dans un ou plusieurs groupes. Pour cette raison, des aspects spécifiques - se déplacer pour couvrir, attaquer à distance ou s'approcher - peuvent être traités et modélisés pour chaque démon.


Cela distingue DOOM de nombreux tireurs modernes dans lesquels les machines à états sont beaucoup moins courantes et les arbres de comportement ou même la planification HTN gagnent en popularité.

Le système Rage ICA a permis aux concepteurs avec une certaine flexibilité de personnaliser le comportement dans des situations spécifiques, mais seuls les programmeurs pouvaient créer de telles machines à états finis. Comme mes sources l'ont dit, il était préférable de fournir à l'équipe de conception un large éventail de comportements intéressants et passionnants pour chaque bataille. Cela a permis de maintenir l'intégrité des systèmes d'IA et de minimiser la probabilité de leur défaillance ou de leur comportement inattendu. Pour garantir l'intégrité de l'ensemble du processus, les machines à états finis DOOM ne peuvent être créées qu'à l'aide d'un éditeur spécialement créé doté d'une interface avec du code C ++, qui a été utilisé pour créer des états individuels. Cet éditeur est devenu une version étendue du langage macro précédemment créé pour Rage , qui est utilisé dans l'éditeur pour enregistrer les états et les transitions proposées de la nouvelle machine à états. Il établit une liaison avec les fichiers d'en-tête de code C ++, qui spécifient toutes les transitions possibles pour l'état actuel. Cela s'est avéré être une fonctionnalité incroyablement précieuse pour l'équipe de programmeurs, car elle nous a permis de vérifier rapidement l'intégrité et la structure de l'ensemble de la machine d'état, soit manuellement, soit en utilisant l'outil de visualisation de graphique. L'implémentation terminée s'est avérée rapide et n'a pas nécessité de gérer une énorme quantité de ressources dans le jeu. Cependant, malgré le fait que les outils créés fournissent une visualisation claire de la structure et du comportement des machines à états finis, ils augmentent également le nombre d'abstractions, ce qui complique l'exécution et le débogage étape par étape.

En plus de l'ICA utilisé pour prendre des décisions sur les actions des démons, DOOM utilise deux systèmes créés pour Rage : un système d'abri et un système d'animation.

Système d'animation


Un système d'animation appelé AnimWeb lui-même est également une machine à états. Chaque état contrôle l'exécution de l'animation pour un comportement particulier et les transitions entre états contrôlent le mélange entre les animations. Le système calcule souvent des chemins à l'aide d'AnimWeb, qui démarre des animations initiales, intermédiaires et finales pour des états d'IA spécifiques avec des transitions synchronisées avec des points de mélange donnés, calculées en fonction de l'analyse des os dans le maillage du squelette. Pourquoi ce système est vital, je le dirai dans l'analyse de la conception du comportement des démons. Nous découvrirons ce que fait AnimWeb pour modifier et changer la façon dont les animations s'exécutent pendant l'exécution du jeu, afin que les démons intimident le joueur tout au long du jeu.

Système d'abri


Enfin, Rage a créé et testé un système d'abri qui interagit activement avec l'intelligence artificielle décisionnelle, AnimWeb et les outils de navigation intégrés. Le système de combat Rage , et donc son système d'abris, a été inspiré par les premiers jeux Halo , dans lesquels des escouades de monstres visaient des zones avec de bons abris, tandis que de lourds ennemis comme Shrouded et Gearhead attaquaient le joueur en plein air. Ce système a pris en compte la distance entre le joueur et les positions de défense localisées par les concepteurs, la position de l'IA par rapport aux zones de bons abris, la visibilité des adversaires de l'IA pour le joueur, la présence d'une IA amie dans l'abri, la position optimale pour lancer des grenades, et bien plus encore. Vous vous demandez probablement pourquoi c'est si important: l'IA dans DOOM ne se cache jamais derrière des abris, et les abris eux-mêmes en général violent le concept de combat agressif. Comme je l'explique ci-dessous, ce système est extrêmement important pour positionner les démons dans DOOM , mais d'une manière complètement inattendue!

Le processus de développement et de publication de Rage a amené tous ces systèmes d'IA à maturité et utilisés dans d'autres produits. Ils ont non seulement migré vers DOOM 2016 - qui utilise le moteur id Tech 6 - mais ils sont également utilisés dans le jeu Wolfenstein: The New Order 2014 de MachineGame. Bien que ces systèmes aient déjà fait leurs preuves, ils nécessitaient d'autres ajustements et améliorations pour être utilisés dans DOOM . De plus, les concepteurs devaient faire le comportement du système dans le contexte d'un combat agressif. Par conséquent, découvrons les secrets de conception qui nous ont permis de mettre en œuvre cette philosophie.

Conception de l'IA


Maintenant que nous connaissons les systèmes d'IA internes, voyons comment ils sont utilisés pour créer des ennemis dans DOOM et renforcer la conception de base. Revenons donc aux quatre piliers du gameplay du combat agressif: la vitesse, l'individualité des démons, l'unicité des armes et la puissance du joueur. Que fait l'IA pour renforcer ces aspects?

La vitesse


Tout d'abord, parlons de vitesse: un joueur peut se déplacer très rapidement dans le monde, et l'IA en tient compte de deux manières essentielles: tirer et positionner les ennemis. La précision des démons diminue délibérément en fonction de la vitesse du joueur: plus il est rapide, plus il est difficile d'y entrer. Ceci est réalisé grâce à une distribution pondérée de la précision des tirs - les démons manquent intentionnellement lorsque le joueur se déplace à la vitesse maximale, et deviennent plus précis lorsqu'il ralentit. De plus, ce système est associé à des niveaux de difficulté: avec une grande complexité, la précision des démons compense rapidement les mouvements du joueur. Et encore une touche: les ennemis ne tirent pas sur des tonneaux explosifs, même s'ils sont à côté du joueur, pour donner au joueur une chance de les utiliser contre les démons.


Cependant, encore plus intéressant est le système de positionnement de l'IA au combat pour maintenir son efficacité et assurer la liberté de mouvement du joueur. Tirer sur des ennemis, tels que des lutins, tels que des démons démons et des mancubus, cherche activement à être à distance du joueur, si possible, pour attaquer à distance. Dans le même temps, le jeu cherche à rendre les autres ennemis bien placés pour attaquer, en tenant compte du fait qu'ils devront courir vers le joueur à tout moment. Pour y parvenir, DOOM prend le système d'abris de Rage et le renverse : le système n'est pas utilisé pour trouver des points d'abris, mais pour trouver des positions ouvertes près d'abris qui offrent une visibilité maximale pour le joueur. De tels abris «inversés» permettent non seulement aux démons de poursuivre leurs attaques, mais aident également le joueur à trouver la cible.

Individualité


Voyons maintenant la personnalité des démons. DOOM possède 16 archétypes distincts de l'IA, dont chacun a des comportements et des animations uniques qui mettent l'accent sur ses caractéristiques. Compte tenu du rythme élevé du jeu, l'objectif principal est de reconnaître instantanément les démons par le joueur et d'assurer l'intégrité de leur comportement. Imaginez Pac-Man , dans lequel le joueur se déplace 10 fois plus vite que d'habitude, et les fantômes sont en fait des hordes infernales! Il n'y a tout simplement pas de place pour un comportement complexe et complexe. Les adversaires doivent être reconnaissables au joueur et intéressants pour le concepteur en les jetant sur l'échiquier de bataille.

Cet objectif est atteint non seulement par des animations exagérées de comportements, mais aussi par les objectifs des ennemis et comment les atteindre. Presque comme dans le DOOM classique, de nombreuses IA ont leurs comportements reconnaissables, mais à l'écoute du design du DOOM moderne: des démons roses se précipitent vers le joueur, essayant de le percuter, et les imps restent à l'écart pour lancer des boules de feu.

De plus, les animations sont créées de manière à souligner la spécificité de chaque archétype de démon. En plus d'implémenter le mélange en douceur, AnimWeb effectue également des vérifications d'animation en temps réel pour s'assurer que l'animation peut s'adapter à la courbe de mouvement du démon. Par conséquent, les imps peuvent sauter sur de courtes et longues distances en utilisant la même animation, qui est configurée en temps réel, et les chevaliers de l'enfer effectuent des vérifications afin que lors des attaques, ils ne se chevauchent pas avec les objets environnants. De plus, chaque démon exécute un processus appelé Focus Tracking: il calcule la rotation appropriée de la tête, de la poitrine et des hanches dans la plate-forme IK pour tourner et regarder le joueur de la bonne manière.

En plus de tout cela, DOOM renvoie à nouveau des escarmouches entre ennemis qui étaient utilisés dans les jeux originaux de la série: le système de fraction capture les interactions et les comportements entre les archétypes individuels de l'IA. Elle utilise un système de règles qui détermine comment et pourquoi une faction de démons commence à se mettre en colère contre une autre. De plus, il capture des événements tels que les dommages accidentels ou intentionnels infligés par ces factions les uns aux autres, et les utilise pour lancer des batailles entre ennemis. Les factions au sein du système empruntent les habitudes des autres factions.Alors que les lutins souffrent des griffes des mancubus et des barons, les soldats UAC obsédés sont également détestés par tous les démons et sont généralement tués en premier lors d'escarmouches internes.

Unicité


Parlons maintenant du caractère unique de chaque arme. L'IA DOOM répond lorsqu'un joueur utilise la bonne arme pour le bon démon. Ceci est principalement réalisé par le système de dégâts continus par seconde et le système de gestion de l'état de bataille. Elle rend les démons vulnérables aux tirs de certaines armes, et ils ont peur de ces armes. Mes sources ont expliqué qu'à l'intérieur de DOOM , un système de DPS continu (dégâts par seconde) est utilisé, qui récompense le joueur pour l'agression continue contre un démon spécifique. Les dégâts deviennent durables, ce qui déclenche la réaction douloureuse du démon. Jake Campbell en a parlé dans son discours au GDC. Ces réactions douloureuses peuvent être très diverses: des petites crampes qui affectent légèrement la précision de la vue de l'IA, à la décoloration et au recul, interrompant le comportement actuel de l'IA.


Pour renforcer encore ce système, certains types d'armes déclenchent une réaction chez différents types d'ennemis. Par exemple, lorsqu'ils sont abattus avec un fusil d'assaut, les lutins cessent de bouger et les zombies tirés à partir d'un fusil de chasse passent rapidement dans un état stupéfiant, dans lequel ils sont faciles à tuer. Mes sources ont déclaré qu'au stade de développement, le cacodémon pouvait être coincé dans une réaction de décoloration constante avec un tir continu d'un minigun. Cela a été fait intentionnellement pour saluer le DOOM d'origine, mais a été abandonné avant la sortie du jeu.

Puissance du joueur


Enfin, malgré la myriade de hordes de démons et le danger qui en découle, le concept de combat agressif devrait toujours s'efforcer de responsabiliser le joueur. Par conséquent, le jeu doit maintenir l'équilibre et le rythme de la bataille, en veillant à ce que le joueur soit constamment dans le flux. Pour ce faire, DOOM utilise un système de combat qui oblige les démons à demander la permission d'attaquer un joueur. Ceci est mis en œuvre à travers un système de jetons: chaque type d'attaque - mêlée, à distance, etc. - a un nombre limité de jetons à chaque instant. Pour effectuer une attaque, le démon doit demander un jeton et, après utilisation, le retourner au système. Chaque niveau de difficulté a son propre ensemble de valeurs de jetons pour chaque type d'attaque, ce qui crée une horde de démons plus agressive et maintient en même temps l'équilibre en raison de la limite du nombre de démons attaquant simultanément. La chose amusante à propos de ce système est que les démons peuvent voler des jetons les uns des autres s'ils estiment que les moyens de les utiliser plus efficacement à l'heure actuelle. La raison principale en est de forcer les démons à côté du joueur à l'attaquer, et non à se tenir à côté du regard stupide.


De plus, les concepteurs ont réalisé qu'il ne serait pas juste que les démons attaquent alors que le joueur ne peut pas répondre. Par conséquent, pendant l'exécution des éliminations de gloire, le joueur est invulnérable et l'intelligence artificielle n'a pas le droit de commencer un nouveau comportement d'attaque jusqu'à ce que la destruction de gloire soit terminée. Enfin, les glissements tués sont précieux pour le joueur car ils donnent de la santé, et dans le cas de tuer une tronçonneuse - et des munitions! Avec la gloire, les joueurs lâchent toujours des objets et les grands démons donnent encore plus de vie. Cependant, les munitions qui tombent sont généralement constantes, car le jeu veut que le joueur continue à développer son arsenal et à utiliser les meilleures armes dans l'environnement actuel. Par conséquent, si vous utilisez une tronçonneuse pour tuer le chevalier de l'enfer, cela ne vous donnera pas plus de munitions!

En conclusion


Le retour de DOOM en 2016 s'est avéré être triomphant, mais comme nous venons de le voir, cela n'est pas arrivé par hasard: grâce à des années de travail sur le jeu AI, les démons de l'enfer se sont rebellés en force. Ce jeu est un exemple clair d'utilisation de techniques classiques d'IA ainsi que d'outils de conception qui renforcent le cœur du gameplay. Comme l'ensemble de la franchise dans son ensemble, DOOM déclare que bien que certains outils d'IA soient déjà passés de mode, il existe toujours un potentiel pour créer un nouveau gameplay intéressant qui plaira aux joueurs modernes. Pendant la rédaction de cet article, il a été annoncé que DOOM Eternal serait développé avec encore plus d'archétypes de démons. L'enfer sur terre n'a jamais été aussi excitant.


Bibliographie


Loudy, K. et Campbell, J. 2018. Embracing Push Forward Combat in DOOM. Conférence des développeurs de jeux, 2018.

Cambell, J. 2017 Bringing Hell to Life: AI and Fully Body Animation in DOOM. Conférence des développeurs de jeux, 2017.

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


All Articles