CyberDemons: Inteligência Artificial DOOM 2016

Atiradores em primeira pessoa evoluíram ao longo dos anos e se tornaram um meio muito interessante para personagens não-jogadores: soldados se escondem atrás de abrigos, estranhos perseguem o jogador e parceiros o ajudam no calor da batalha. Tudo isso se encaixa no conceito de design dos atiradores modernos: manter território, criar linhas de defesa e impedir o jogador. Neste artigo, como exemplo de reinício da franquia DOOM de 2016, falarei sobre o que acontece quando os desenvolvedores se recusam a usar o código de conduta padrão no jogo.


O DOOM é construído sobre uma filosofia conhecida como " combate avançado " , afetando a narrativa, o design de níveis, o movimento do jogador e muito mais. Em suma, ele é um olhar crítico e uma reação aos atiradores modernos. Enquanto Call of Duty força o jogador a se esconder atrás e atirar nos inimigos de longe, DOOM viola essas regras, criando uma jogabilidade poderosa, rápida e "espinhal". Mas como tudo funciona, e o que a IA faz para dar vida à jogabilidade?

Batalha agressiva


A filosofia Push Forward Combat abrange todos os aspectos do DOOM : define a base do jogo e como os jogadores interagem com a IA na batalha. Como Kurt Laudi explicou em seu relatório na GDC 2018 , o jogo assume fortemente a mecânica dos jogos DOOM originais: movimento rápido, corredores secretos e escaramuças furiosas. Mas, embora ela queira voltar às suas raízes, ela também precisa atrair um público completamente novo que nunca tocou no FPS da velha escola, incluindo DOOM com DOOM II: Hell on Earth . Portanto, o combate agressivo é construído sobre quatro pilares nos quais se baseia o design de todo o jogo:

  • A velocidade do jogador e dos demônios.
  • Identidade demoníaca
  • A singularidade de cada arma
  • Preservar o poder do jogador, mesmo nas situações mais difíceis.

Esses quatro pilares permitiram criar e melhorar a mecânica do jogo; graças a eles, ficou óbvio qual dos mecanismos fortaleceu o princípio do combate agressivo e o que o impediu. Portanto, a recarga de armas foi removida do jogo, pois interferiu no curso da batalha, e um salto duplo foi adicionado, permitindo um acesso mais rápido aos inimigos. Finalmente, a jogabilidade básica deve ser intuitiva e interessante, mas ao mesmo tempo pode se tornar mais complexa, recompensando o jogador pela escolha certa de gols e armas. As brigas em DOOM ocorrem frequentemente em arenas médias e grandes, de natureza assimétrica, com muitos movimentos verticais. Eles estão muito mais próximos dos atiradores multiplayer online do que das campanhas tradicionais para um jogador. Adicione à composição dos demônios inimigos, e você obtém o que chamamos de "xadrez de batalha": a tarefa do jogador é descobrir qual demônio destruir primeiro e qual a melhor forma de alcançá-lo.


Para implementar e aprimorar essa jogabilidade, você precisará de um conjunto de novas ferramentas. Os sistemas de IA usados ​​nele são criados sob a séria influência de atiradores em primeira pessoa mais tradicionais e adaptados ao conceito DOOM . Voltarei a como DOOM AI, graças à sua estrutura, reforça o conceito de Push Forward Combat, mas primeiro gostaria de explorar o trabalho das arquiteturas de IA e estudar as fontes de sua origem. Para fazer isso, primeiro precisamos falar sobre um DOOM que nunca existiu e como ele se transformou em um jogo de 2016.

Doom Rescue


É sabido que o ciclo de desenvolvimento do DOOM 2016 foi complicado: a franquia experimentou problemas de identidade própria e não sabia o que se tornaria na era moderna. Inicialmente, o jogo lembrava atiradores mais modernos, mas no final foi descartado e, a partir desse momento, o DOOM que conhecemos hoje começou a tomar forma. Foi durante essa transição que descobrimos quais ferramentas de cadeia de ferramentas de IA podem ser adaptadas ao jogo e como elas podem ajudar a implementar o conceito de combate agressivo.

DOOM 4 - como era originalmente chamado - está em desenvolvimento desde 2008. A ZeniMax Media, empresa-mãe que comprou a id Software em 2009, estava descontente com o processo de desenvolvimento e, após uma auditoria interna em 2011, insistiu em mudanças. Fontes próximas ao projeto, que desejavam permanecer anônimas, me informaram que a equipe de desenvolvimento do Rage , preparando-se para o início da pré-produção da sequência, foi forçada a parar de trabalhar e se unir à equipe do DOOM 4 . "Call of Doomy", como o jogo de estúdio foi chamado com desdém, mudou drasticamente o curso, passando de DOOM 4 para apenas DOOM . Isso levou a um sério desapontamento - idéias e personalidades se opuseram à nova direção escolhida. O novo design do projeto levou Matt Hooper a iniciar a busca necessária para reviver a energia do clássico DOOM . Minhas fontes afirmam que o sucesso do mod Brutal DOOM do desenvolvedor do SgtMarkIV se tornou uma confirmação da correção desse ideal. Isso levou à criação de uma nova demo de jogabilidade, lançada em 2012, focada na filosofia de combate push forward e também redesenhada o sistema de kill glory (aprox. Por.: O sistema para efetivamente terminar o inimigo em combate corpo-a-corpo) , já presente no DOOM 4 .

Juntamente com muitos desenvolvedores experientes que se mudaram da equipe Rage para criar o DOOM , várias ferramentas e sistemas foram transferidos para o novo projeto, tanto no próprio jogo quanto no mecanismo id Tech 5. Vamos falar sobre as ferramentas básicas de arquitetura de IA no mecanismo id Tech, bem como como esses sistemas criados e polidos sob o Rage foram posteriormente transportados para o DOOM .

Arquitetura AI


O desenvolvimento da cadeia de ferramentas de IA como parte do mecanismo id Tech 5 começou em 2005, quase imediatamente após o lançamento do DOOM 3 . Foi testado pela primeira vez em um caso no Rage . O principal sistema de tomada de decisão da IA ​​inimiga em Rage e DOOM consiste em Máquinas Hierárquicas de Estados Finitos: uma variação da implementação clássica da IA ​​que fornece maior flexibilidade e controle sobre a sequência de estados com seu comportamento.

Máquinas de estado hierárquico


Máquinas de estados finitos estão intimamente relacionadas ao princípio do estado, durante o qual a IA pode executar determinados comportamentos. Além disso, sujeito a certas condições, a IA pode entrar em outros estados. A combinação de muitos estados em grupos e a implementação de transições entre eles permite criar flexíveis, responsivos à situação e comportamento interessante. Um dos meus primeiros vídeos sobre Batman: Arkham Asylum conta como eles foram usados ​​para furtivas e batalhas.


No entanto, o esquema pode rapidamente se tornar muito complexo: o número de estados aumenta e o número de transições entre eles se torna ainda maior. Para lidar com esse problema, as máquinas de estados finitos hierárquicos (ICA) agrupam conjuntos de estados específicos e os executam em um cluster com transições claras dentro e fora desse cluster.


De fato, os clusters criam pequenas máquinas de estado dentro de uma grande máquina de estado, na qual e a partir da qual o sistema pode executar a transição. Isso permite criar um comportamento mais ordenado e estruturado no qual estados individuais estão presentes em um ou mais grupos. Devido a isso, aspectos específicos - mover para cobrir, atacar à distância ou se aproximar - podem ser processados ​​e modelados para cada demônio.


Isso distingue o DOOM de muitos atiradores modernos, nos quais as máquinas de estado são muito menos comuns e as Árvores de comportamento ou mesmo o planejamento HTN estão ganhando popularidade.

O sistema Rage ICA permitia aos projetistas com uma certa flexibilidade personalizar o comportamento em situações específicas, mas apenas os programadores podiam criar essas máquinas de estados finitos. Como minhas fontes disseram, era melhor fornecer à equipe de design um grande conjunto de comportamentos interessantes e emocionantes para cada batalha. Isso permitiu manter a integridade dos sistemas de IA e minimizar a probabilidade de falha ou comportamento inesperado. Para garantir a integridade de todo o processo, as máquinas de estado finito DOOM só podem ser criadas usando um editor especialmente criado que possui uma interface com código C ++, que foi usado para criar estados individuais. Esse editor se tornou uma versão estendida da linguagem de macro criada anteriormente para o Rage , que é usada no editor para registrar os estados e as transições propostas da nova máquina de estado. Ele é vinculado a arquivos de cabeçalho de código C ++, que especificam todas as transições possíveis para o estado atual. Isso acabou sendo um recurso incrivelmente valioso para a equipe de programadores, porque nos permitiu verificar rapidamente a integridade e a estrutura de toda a máquina de estado, manualmente ou usando a ferramenta de visualização gráfica. A implementação final acabou sendo rápida e não exigiu o gerenciamento de uma enorme quantidade de recursos no jogo. No entanto, apesar de as ferramentas criadas fornecerem uma visualização clara da estrutura e do comportamento das máquinas de estados finitos, elas também aumentaram o número de abstrações, o que complicou a execução e a depuração passo a passo.

Além da ACI usada para tomar decisões sobre as ações dos demônios, o DOOM usa dois sistemas criados para o Rage : um sistema de abrigo e um sistema de animação.

Sistema de animação


Um sistema de animação chamado AnimWeb em si também é uma máquina de estado. Cada estado controla a execução da animação para um comportamento específico, e as transições entre estados controlam a mistura entre animações. O sistema geralmente calcula caminhos usando o AnimWeb, que inicia animações iniciais, intermediárias e finais para estados específicos de IA com transições sincronizadas com determinados pontos de mistura, calculados com base na análise de ossos na malha do esqueleto. Por que esse sistema é vital, vou contar na análise do design do comportamento dos demônios. Vamos descobrir o que o AnimWeb faz para ajustar e alterar a forma como as animações são executadas durante a execução do jogo, para que os demônios intimidem o jogador durante o jogo.

Sistema de abrigo


Finalmente, o Rage criou e testou um sistema de abrigo que interage ativamente com a decisão AI, AnimWeb e ferramentas de navegação integradas. O sistema de combate Rage , e, portanto, seu sistema de abrigo, foi inspirado nos primeiros jogos de Halo , nos quais esquadrões de monstros miravam em áreas com bons abrigos, enquanto inimigos pesados ​​como Shrouded e Gearhead atacavam o jogador em campo aberto. Esse sistema levou em consideração a distância entre o jogador e as posições de defesa localizadas pelos projetistas, a posição da IA ​​em relação às áreas de bons abrigos, a visibilidade dos oponentes da IA ​​para o jogador, a presença de IA amigável no abrigo, a posição ideal para lançar granadas e muito mais. Você provavelmente se pergunta por que isso é tão importante: a IA no DOOM nunca se esconde atrás de abrigos, e os próprios abrigos em geral violam o conceito de combate agressivo. Como explico abaixo, esse sistema é incrivelmente importante para posicionar daemons no DOOM , mas de uma maneira completamente inesperada!

O processo de desenvolvimento e liberação do Rage levou todos esses sistemas de IA à maturidade e usados ​​em outros produtos. Eles não apenas migraram para o DOOM 2016 - que usa o mecanismo id Tech 6 - mas também são usados ​​no jogo de 2014 Wolfenstein: The New Order da MachineGame. Embora esses sistemas já tenham comprovado seu valor, eles precisavam de mais ajustes e melhorias para usar no DOOM . Além disso, os designers tiveram que fazer o comportamento do sistema no contexto de combate agressivo. Portanto, vamos aprender sobre os segredos de design que nos permitiram implementar essa filosofia.

AI design


Agora que sabemos sobre os sistemas internos de IA, vamos descobrir como eles são usados ​​para criar inimigos no DOOM e reforçar o design principal. Portanto, voltemos aos quatro pilares da jogabilidade de combate agressivo: velocidade, individualidade dos demônios, singularidade de armas e poder do jogador. O que a IA faz para reforçar esses aspectos?

Velocidade


Primeiro, vamos falar sobre velocidade: um jogador pode se mover pelo mundo muito rapidamente, e a IA leva isso em conta de duas maneiras vitais: atirar e posicionar inimigos. A precisão dos demônios diminui deliberadamente, dependendo da velocidade do jogador: quanto mais rápido ele é, mais difícil é entrar nele. Isso é alcançado graças a uma distribuição ponderada da precisão dos tiros - os demônios perdem intencionalmente quando o jogador se move à velocidade máxima e se tornam mais precisos quando diminuem a velocidade. Além disso, este sistema está associado a níveis de dificuldade: com alta complexidade, a precisão dos demônios compensa rapidamente os movimentos do jogador. E mais um toque: os inimigos não atiram em barris explosivos, mesmo que estejam ao lado do jogador, para dar ao jogador a chance de usá-los contra demônios.


No entanto, ainda mais interessante é o sistema de posicionamento da IA ​​em batalha para manter sua eficácia e garantir a liberdade de movimento do jogador. Atirar em inimigos, como diabinhos, como demônios demoníacos e mancuses, procura ativamente estar à distância do jogador, se possível, para atacar de longe. Ao mesmo tempo, o jogo procura tornar outros inimigos bem posicionados para atacar, levando em conta o fato de que eles precisarão correr para o jogador a qualquer momento. Para conseguir isso, o DOOM pega o sistema de abrigo do Rage e o inverte : o sistema não é usado para encontrar pontos de abrigo, mas para encontrar posições abertas perto de abrigos que fornecem visibilidade máxima para o jogador. Esses abrigos "invertidos" não apenas permitem que os demônios continuem atacando, mas também ajudam o jogador a encontrar o alvo.

Individualidade


Agora vamos olhar para a personalidade dos demônios. DOOM possui 16 arquétipos de IA, cada um com comportamentos e animações únicos que enfatizam suas características. Dado o ritmo acelerado do jogo, o objetivo principal é reconhecer instantaneamente os demônios pelo jogador e garantir a integridade de seu comportamento. Imagine o Pac-Man , no qual o jogador se move 10 vezes mais rápido que o normal, e os fantasmas são realmente hordas infernais! Simplesmente não há lugar para comportamentos intricados e complexos. Os oponentes devem ser reconhecíveis pelo jogador e interessantes para o projetista lançá-los no tabuleiro de xadrez da batalha.

Esse objetivo é alcançado não apenas através de animações exageradas de comportamentos, mas também através dos objetivos dos inimigos e de como alcançá-los. Quase como no DOOM clássico, muitas das IAs têm comportamentos reconhecíveis, mas sintonizados com o design do DOOM moderno: demônios rosa correm em direção ao jogador, tentando atacá-lo, e os diabinhos ficam longe para jogar bolas de fogo.

Além disso, as animações são criadas de maneira a enfatizar a especificidade de cada arquétipo demoníaco. Além de implementar a mistura suave, o AnimWeb também realiza verificações de animação em tempo real para garantir que a animação possa se encaixar na curva de movimento do daemon. Portanto, os diabinhos podem pular distâncias curtas e longas usando a mesma animação, configurada em tempo real, e os cavaleiros do inferno realizam verificações para que durante os ataques não se sobreponham aos objetos ao redor. Além disso, cada daemon executa um processo chamado Focus Tracking: calcula a rotação apropriada da cabeça, peito e quadris na plataforma IK para virar e olhar para o jogador da maneira correta.

Além de tudo isso, o DOOM retorna novamente conflitos entre inimigos que foram usados ​​nos jogos originais da série: o sistema de frações captura interações e comportamentos entre arquétipos de IA individuais. Ela usa um sistema de regras que determina como e por que uma facção de demônios começa a ficar com raiva de outra. Além disso, captura eventos como danos acidentais ou intencionais infligidos por essas facções entre si e os usa para iniciar batalhas entre inimigos. As facções no sistema tomam emprestado os hábitos de outras facções , portanto, enquanto os diabinhos sofrem com as garras de mancubus e barões, os soldados obcecados do UAC são igualmente odiados por todos os demônios e geralmente são mortos primeiro em escaramuças internas.

Exclusividade


Agora vamos falar sobre a singularidade de cada arma. A IA DOOM responde quando um jogador usa a arma certa para o demônio certo. Isso é realizado principalmente pelo sistema de danos contínuos por segundo e pelo sistema de gerenciamento do estado de batalha. Ela torna os demônios vulneráveis ​​a tiros de certas armas, e eles têm medo dessas armas. Minhas fontes explicaram que dentro do DOOM , é usado um sistema de DPS contínuo (dano por segundo), que recompensa o jogador pela agressão contínua contra um demônio específico. O dano se torna duradouro, o que desencadeia a dolorosa reação do demônio. Jake Campbell falou sobre isso em sua palestra no GDC. Essas reações à dor podem ser muito diversas: desde pequenas cãibras que afetam levemente a precisão da visão da IA ​​até o desbotamento e recuo, interrompendo o comportamento atual da IA.


Para fortalecer ainda mais esse sistema, certos tipos de armas desencadeiam uma reação em diferentes tipos de inimigos. Por exemplo, quando atingidos por uma espingarda de assalto, os diabinhos param de se mover e os zumbis quando atingidos por uma espingarda entram rapidamente em um estado impressionante, no qual são fáceis de matar. Minhas fontes disseram que, no estágio de desenvolvimento, o cacodemon pode ficar preso em uma reação constante de desbotamento com o disparo contínuo de uma minigun. Isso foi feito intencionalmente para saudar o DOOM original, mas foi abandonado antes do lançamento do jogo.

Poder do jogador


Finalmente, apesar das inúmeras hordas de demônios e do perigo que emana deles, o conceito de combate agressivo deve sempre se esforçar para capacitar o jogador. Portanto, o jogo deve manter o equilíbrio e o ritmo da batalha, garantindo que o jogador esteja constantemente no fluxo. Para fazer isso, o DOOM usa um sistema de combate que força os demônios a pedir permissão para atacar um jogador . : — , — . , , . , . , , , . , , .


Além disso, os designers perceberam que não seria justo se os demônios atacassem quando o jogador não pudesse responder. Portanto, durante a execução das mortes por glória, o jogador é invulnerável, e a inteligência artificial não tem o direito de iniciar um novo comportamento de ataque até que a matança por glória seja concluída. Finalmente, mortes por glória são valiosas para o jogador, pois dão saúde e, no caso de matar uma serra elétrica - e munição! Com a glória mata, os jogadores sempre deixam cair itens, e grandes demônios dão ainda mais vida. No entanto, a munição que cai é quase sempre constante, porque o jogo quer que o jogador continue a desenvolver seu arsenal e use as melhores armas no ambiente atual. Portanto, se você usar uma serra elétrica para matar o cavaleiro do inferno, isso não lhe dará mais munição como resultado!

Em conclusão


DOOM 2016 , , : . — , . , DOOM , , , . , DOOM Eternal . .



Loudy, K. and Campbell, J. 2018. Embracing Push Forward Combat in DOOM. Game Developers Conference, 2018.

Cambell, J. 2017 Bringing Hell to Life: AI and Fully Body Animation in DOOM. Game Developers Conference, 2017.

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


All Articles