Como a IA funciona em Hitman (2016)

Lançado pela IO Interactive em 2016, Hitman retornou a franquia: criando cenários ricos e interessantes nos quais o Agent 47 precisa eliminar seus objetivos, geralmente de maneira improvisada e impraticável. Para resolver esse problema, muitos sistemas de IA são usados ​​dentro do jogo, e vamos estudá-los com precisão. Vamos nos aprofundar na estrutura dos sistemas de IA responsáveis ​​por várias funções na última geração de jogos Hitman : a criação de NPCs responsivos à situação, guarda-costas, sistemas de multidões controlados por inteligência artificial e muito mais.


Sobre Hitman


Os jogadores de Hitman têm a tarefa de matar personalidades cruéis e sem princípios, cuja morte ninguém se arrependerá particularmente. Mas em cada caso, o significado está mais nas histórias únicas que o jogador pode criar por conta própria, destruindo objetivos de uma maneira complexa ou divertida. Hitman está repleto de sistemas que permitem ao jogador experimentar, improvisar e responder a mudanças no cenário geral que se desenrola. Disfarçar-se de barman e envenenar a vítima com uma bebida, quebrar o pescoço dela fingindo ser massagista, assustar o alvo retratando um médico da peste ou até ganhar a confiança da equipe de gravação tocando bateria. O jogo fornece aos usuários uma ampla variedade de métodos de penetração interessantes e geralmente pré-negociados ou oculta informações deles em cenários mais complexos e demorados. Se você está andando na passarela de uma semana de moda em Paris ou agindo no meio de um golpe político em Marrakech, seus objetivos estão sempre em cenas densamente povoadas, animadas e complexas, onde existem guardas pessoais e agências locais de aplicação da lei, sem mencionar civis interferindo sob os pés. Mas justamente por isso, o jogo se torna realmente interessante: os jogadores devem se fundir com o ambiente, se disfarçar e manipular o mundo ao seu redor, para se aproximar um pouco do objetivo, infligir retribuição cármica a eles e escapar até o mundo ao seu redor suspeitar da presença do Agente.


Hitman traz o maior prazer quando a preparação e o planejamento estão corretos e perfeitamente implementados, e para isso você precisa de muitos sistemas de IA. Neste artigo, examinaremos quatro elementos principais, explicaremos como eles funcionam e ajudarão a criar a jogabilidade Hitman :

  • Um sistema de árvores comportamentais orientado pela situação, no qual mais de 300 personagens de nível podem tomar decisões sobre suas ações futuras com base no que está acontecendo ao seu redor e responder a eventos, que geralmente estão nas mãos do jogador.
  • Sistemas responsivos e práticos de guardas e guarda-costas que complicam o trabalho do Agente e são distribuídos para proteger o jogador que complica o alcance da meta.
  • Um sistema poderoso para controlar e simular o comportamento das multidões, permitindo que você use no nível da multidão até 1000 NPCs que respondem às ações dos jogadores.
  • E, finalmente, uma estrutura de animação cuidadosamente ajustada que fornece a todos esses personagens a aparência e o comportamento mais realistas.

Vou explicar como todos esses sistemas funcionam, bem como falar sobre as configurações mais refinadas usadas no jogo de 2016 e na sequência de 2018. No entanto, antes de iniciar uma conversa sobre a IA de qualquer jogo, você precisa olhar a fonte a partir da qual a cadeia de ferramentas da AI começa e estudar os princípios básicos de seu design. Portanto, começaremos com a Hitman Absolution .

Lançado em 2012, o Hitman Absolution implementou uma interpretação mais suave e linear da fórmula da franquia. Apesar de sua popularidade relativamente baixa em comparação com os jogos mais recentes, tornou-se a base das tecnologias e ferramentas básicas usadas nos jogos em 2016 e 2018. Uma das razões mais importantes para isso foi que Absolution foi o primeiro jogo de franquia depois de Hitman: Blood Money em 2006 (no meio, a IO Interactive trabalhou nas séries Kane & Lynch e Mini Ninjas . Portanto, novas ferramentas foram criadas para Absolution e sistemas que refletem melhor as ambições da equipe para o futuro A arquitetura básica da IA ​​de personagens não-jogadores da Hitman , bem como sistemas de multidões e animações, foram criados para o Absolution e aprimorados para os lançamentos de 2016 e 2018.

Arquitetura básica de IA


O Hitman AI foi projetado para tirar proveito dos diferentes estilos de passes disponíveis no Absolution e nos jogos subseqüentes. Isso significa que o sistema permite que você use furtividade, disfarce e se junte ao meio ambiente (os desenvolvedores chamam de "furtividade social") ou escolha uma abordagem mais agressiva e use armas.

Além disso, deve permitir que o NPC viva uma vida normal, às vezes até tenha procedimentos comportamentais bem estabelecidos: eles servem bebidas, aplicam maquiagem, guardam entradas, preparam alimentos, ou seja, fazem o que é apropriado para o ambiente da cena. Esses procedimentos devem ser previsíveis e confiáveis, porque em jogos furtivos, os jogadores devem confiar nessa previsibilidade. Ao mesmo tempo, a IA deve poder interrompê-los quando descobrir um dos muitos itens que o jogador pode manipular no mundo. Por exemplo, quando um jogador desliga o motor, bloqueia o dreno na pia, quebra o tanque de combustível ou liga o vídeo. Dependendo do tipo de interação, ele atrairá imediatamente os personagens, pois interfere em suas ações ou muda a sequência de suas ações posteriormente, para que o jogador possa usá-lo. Isso é útil para algumas ações específicas que permitem atrair alvos para o lugar certo. O jogador não vai querer esperar pelo resultado de 20 minutos, mas a reação instantânea dos personagens pareceria artificial demais.


A IA Fundamental do Hitman usa árvores de comportamento - um dos formatos mais comuns de gerenciamento de comportamento da IA ​​em jogos modernos. Nas árvores comportamentais, é construída uma estrutura de cima para baixo que determina as reações dos personagens a várias condições. Os comportamentos são selecionados de acordo com as condições específicas do mundo circundante e levam a uma ação ou cadeia de ações como reação às ações do jogador e de outros sistemas de jogo.

Mas antes que a árvore do comportamento possa tomar uma decisão, cada personagem deve descobrir o que está acontecendo no mundo ao seu redor. Para isso, todo personagem de IA ativo no mundo tem uma base de conhecimento. A base de conhecimento é composta por dois conjuntos de dados: conhecimento geral, ou seja, informações conhecidas publicamente sobre um objeto ou personagem, bem como informações que refletem sua condição. Mas também existe o conhecimento privado de que o personagem retém as últimas posições conhecidas de objetos ou personagens. Ele também mantém um histórico de conhecimentos sobre assuntos específicos. Consequentemente, o personagem começa a perceber que as coisas próximas desaparecem ou se movem; da mesma forma, ele não tentará encontrar personagens que desapareceram ou morreram e também interagir com eles.


A base de conhecimento é acumulada coletando todas as informações que estão acontecendo atualmente em um determinado ponto do mundo do jogo, com sua subsequente filtragem usando sensores e serviços. Os sensores permitem que os personagens atualizem seus dados pessoais e respondam às alterações que percebem, além de ouvir o que está acontecendo nas proximidades. Serviços atualiza uma base de conhecimento comum. Os três serviços mais comuns são Disfarce (disfarce), Deadbody (cadáver) e Hitman (assassino). O serviço Disfarce é usado quando o Agente 47 muda para um traje; ajuda o personagem a saber se a roupa do agente deve suspeitar dele. O serviço Deadbody ajuda os personagens próximos a perceberem que um cadáver foi encontrado recentemente perto deles. Finalmente, o serviço Hitman permite compartilhar conhecimentos gerais sobre o Agente 47, por exemplo, informações sobre se um jogador foi comprometido e onde ele foi visto pela última vez. Uma característica divertida dos sensores é que eles fornecem um curioso equilíbrio de conhecimento contextual e, ao mesmo tempo, deixam lacunas que o jogador pode explorar. Os sensores fornecem informações diretas sobre o mundo, mas suas ações podem ser interrompidas ao bloquear o escopo ou distrair os personagens. Os serviços não são onipotentes e são atualizados apenas em determinados intervalos. Portanto, a maioria das informações recebidas dos serviços se desatualiza rapidamente, o que permite ao jogador manipular os personagens em seus interesses.

Mas quando a IA recebe todas essas informações, precisa tomar decisões sobre suas ações. Cada personagem da IA ​​pode incluir um conjunto de objetivos para si, que controla suas decisões. Depois de selecionar esses objetivos, ele usa a árvore de comportamento para tomar decisões sobre o comportamento futuro. Até agora, não expliquei isso, mas mais tarde chegaremos a esse tópico.

Para diversificar a jogabilidade, o jogo divide AIs de NPCs gerenciados em dois tipos principais: civis e guardas de segurança. Essa separação afeta as informações armazenadas em sua base de conhecimento e os tipos de objetivos que eles podem escolher por si mesmos.

Vamos começar com os civis. Esses personagens geralmente são de natureza passiva, mas percebem o comportamento mais provocativo, considerando-o suspeito ou alarmante. Ao mesmo tempo, eles podem ter objetivos como se opor ao jogador ou avisar os guardas, mas isso não lhes permite entrar em batalha. Bons exemplos disso são os níveis no desfile de moda de Paris e no hotel Bangkok de 2016 em Bangkok. Neles, civis com diferentes perfis de base de conhecimento apresentam diferentes comportamentos. Os convidados são muito mais passivos, mas todos reagem ao comportamento mais flagrante do jogador, enquanto o pessoal e as pessoas que cercam o objetivo do agente têm maior probabilidade de reagir às suas travessuras e tentar neutralizá-lo.

Vamos para os guardas. Naturalmente, eles são os principais oponentes do jogador e entram em batalha com ele, reagindo às condições mais extremas, como a descoberta de um cadáver ou pessoas inconscientes, além de armas e outros itens estratégicos encontrados no mundo aberto. Como mencionado acima, em 2016 Hitman apareceu guarda-costas da IA, seguindo ativamente o VIP e protegendo-o quando ele se move ao redor do nível. Ao mesmo tempo, eles ainda têm livre-arbítrio e podem explorar o mundo independentemente. Para implementar isso, é necessário um sistema completamente diferente, e um pouco mais tarde falaremos sobre isso.

Assim, tendo recebido todas essas informações e ativado os objetivos, o jogo constrói um sistema de árvores comportamentais que permite que os personagens ajam de acordo com uma das duas opções: realizar os comportamentos por conta própria ou participar das “situações” nas quais os comportamentos são coordenados pelo grupo. Comportamento é uma ou mais ações, por exemplo, voltando-se para um jogador, interagindo ou conversando com ele, movendo-se para locais do mundo, alternando para o modo de batalha ou interagindo com objetos que o jogador manipulou. Ao jogar, você notará que muitos dos objetivos cumprem os comportamentos estabelecidos após o jogador manipular o mundo de uma certa maneira. Isso acontece porque corresponde às metas definidas que as metas devem cumprir no caso de determinadas condições. Ou seja, eles intencionalmente se colocam em uma posição arriscada para que o jogador possa matá-los.


Ao mesmo tempo, as situações geralmente surgem quando os eventos que ocorrem no mundo têm um impacto mais amplo, por exemplo, quando os personagens descobrem cadáveres, quando um jogador é comprometido ou quando o alvo percebe que está procurando por ele e tenta escapar. Nesses casos, os personagens estão cientes do que está acontecendo ao seu redor e se juntam à situação. A situação determina ações para cada um deles e todos eles participam dessa performance. Por exemplo, no caso em que um jogador abre fogo em um desfile de moda, convidados e funcionários geralmente tentam escapar e pedir ajuda, e os guardas de segurança começam a caçar o jogador e abrir fogo.

O sistema de árvores de comportamento apareceu pela primeira vez no Absolution e foi bastante aprimorado e complementado pelo lançamento de jogos em 2016 e 2018. Ele usa um sistema de níveis de detalhe (LOD). Isso significa que, quando no nível há mais de 300 caracteres ativos de AI controlados por árvores de comportamento, aqueles localizados longe do jogador atualizam seu comportamento com menos frequência, e a prioridade dos recursos da CPU para atualizar o AI é atribuída aos personagens mais próximos. Além disso, para esses personagens distantes da IA, as animações são simplificadas ou completamente desativadas. Como mencionado acima, a grande maioria dos personagens no nível é controlada pelo sistema de IA da multidão, mas se necessário, cada personagem da multidão pode ser dotado de uma árvore de comportamento da IA, o que aumenta sua capacidade para um personagem responsivo e coordenado.

Multidões


Agora, antes de avançarmos para os sistemas projetados para o jogo de 2016, vamos dar uma olhada no segundo sistema básico criado para o Absolution: a estrutura de inteligência artificial da multidão. Na Absolvição, ele podia suportar até 1200 agentes em uma multidão, e 500 deles podiam ser visíveis ao mesmo tempo. Ainda não disse isso, mas os sistemas de multidões são muito difíceis de implementar corretamente. As multidões geralmente consistem em uma infinidade de manequins de IA, que não podem ser comparados em suas mentes a caracteres comuns de AI. Isso se deve principalmente ao fato de haver muitos deles, mas muitas vezes também é bastante lógico - as pessoas na multidão simplesmente obedecem ao instinto da multidão e se movem no espaço em direção à sua meta. Mas os desenvolvedores do Hitman se propuseram a diminuir a linha entre multidões e o comportamento das árvores de IA.


Os personagens são colocados na multidão como indivíduos, capazes de andar, parar e reconhecer objetos no espaço. Também existem grupos sobre os quais os designers têm mais controle. Um grupo é muito útil quando há uma ação específica que vários personagens devem executar em uma multidão, por exemplo, olhar em algum momento e ao mesmo tempo formar uma certa forma, por exemplo, uma figura ou configuração grande. Cada personagem de personalidade implementa um sistema semelhante a uma simples máquina de estados finitos, com apenas três estados básicos de comportamento: ociosidade, caminhada e "espera para caminhar". O último estado é útil em situações em que o personagem quer se mover, mas ele não tem permissão para fazer isso com uma multidão. Se os personagens estiverem presos na multidão, eles decidirão a melhor direção do movimento e aguardarão uma oportunidade que lhes permita voltar a andar novamente. De fato, tudo é mais complicado do que eu descrevo, porque no processo de mudança os personagens precisam ajustar sua velocidade. Portanto, cada personagem é capaz de definir a velocidade preferida e máxima usada para manter o fluxo da multidão. Esse sistema é ainda mais útil em caso de pânico, quando as pessoas começam a correr aleatoriamente.


Um dos perigos reais de ter tantos agentes em um sistema de controle de multidões é que eles interrogam um nomosch para encontrar uma maneira ou apenas verificam se conseguem atingir o ponto desejado. As malhas de navegação são um sistema comumente usado em jogos 3D para mover personagens pelos ambientes. A empresa de IO percebeu que este era um momento bastante crítico, portanto, sobrepôs uma grade de tomada de decisões 2D informando o caráter de IA se era possível percorrer um determinado espaço, se deveria ser evitado (se essa é uma área protegida), pontos de saída para NPCs e áreas proibidas em caso de pânico causado pelo agente 47 - seria estranho se as pessoas corressem calmamente ao lado dele. A inteligência artificial de multidões e árvores de comportamento possui grades de tomada de decisão. Para árvores comportamentais, as grades fornecem uma maneira rápida e eficaz de realizar verificações de visibilidade, procurar locais adequados perto de pontos importantes e encontrar locais táticos em relação a um determinado personagem sem sobrecarregar indevidamente a própria dobradiça.

Mas a parte mais difícil começa quando o Agente 47 é adicionado ao sistema.A multidão anda ao redor dele e cuida dos seus negócios, mas quando o jogador começa a causar estragos, os sistemas de IA devem ser capazes de responder a ele. Os personagens nas imediações do jogador devem ficar em pânico e tentar escapar, mas isso terá um efeito cumulativo em toda a multidão - começará a se mover pelo espaço assim que cada personagem localizado nas proximidades começar a fugir da fonte de alarme. Esse problema é resolvido por dois sistemas chamados zonas de comportamento e fluxos de pânico.


Primeiro, qualquer ação no mundo que deva influenciar a multidão cria uma ou mais zonas de comportamento no ambiente. A zona de comportamento envia um impulso com um certo raio e ângulo em relação à fonte do evento, que determina como cada AI da multidão que interage com ele deve reagir. Por exemplo, quando os fogos de artifício começam a fazer barulho, todos os personagens em um determinado raio se voltam para um ponto importante para observar suas explosões. Se um jogador, enquanto isso, puxa uma arma e a direciona para um espectador inocente, três zonas de comportamento funcionarão:

  • O primeiro faz com que aqueles na linha de fogo caiam no chão.
  • O segundo faz o personagem nas imediações do jogador entrar em pânico.
  • O terceiro faz com que todos, dentro de um certo raio do jogador, aprendam sobre a situação e entrem em um estado de ansiedade aumentada.

Quando o agente se move pelo espaço com armas, essas zonas comportamentais continuam a enviar impulsos do jogador e fazem com que outros personagens da multidão reajam a ele.A zona de comportamento pode causar muitas reações na IA da multidão: observe um ponto importante, evite a fonte da zona de comportamento, notifique-a, fique com medo ou caia no chão. Se a IA da multidão estiver entre várias zonas de comportamento, ele prefere a ação, o que mais afetará seu humor. Além disso, de acordo com minha pesquisa, se um jogador assusta os personagens, não será possível acalmá-los, pois isso só pode ser pior e é impossível melhorar a situação. O jogador tem um impacto negativo na multidão.

Tais zonas de comportamento são criadas pelos designers para cada nível, porque são necessárias para os personagens reagirem aos eventos do mundo, mas suas reações farão sentido em um contexto específico. Por exemplo, se em HitmanEm 2016, uma briga começará no bar no desfile de moda, isso será muito inapropriado e a multidão reagirá negativamente. Se um jogador começar uma bagunça no iVixen Club no Hitman Absolution , ele não será levado tão a sério, porque as barras de strip têm uma atmosfera apropriada e as pessoas podem se comportar como porcos lá.

Mas quando um jogador cria o caos, a multidão quer sair do caminho e os fluxos de pânico entram aqui. Fluxos de pânico são criados com base na grade de decisão, que mencionei acima, na qual cada saída publicada pelos designers faz com que cada célula do mapa calcule o caminho mais curto para essa saída usando uma variante do algoritmo de Dijkstra. Esses caminhos para as saídas são fluxos de pânico, e a multidão AI escolhe o melhor fluxo a seguir em caso de perigo. Tais fluxos são calculados para todas as saídas em um determinado espaço, o que permite que a multidão AI alterne dinamicamente para outra saída no caso de um "congestionamento", além de resolver situações em que um jogador decide bloquear a saída mais próxima.

Guarda-costas e VIP


Depois de melhorar os sistemas de IA de árvores de comportamento e IA de multidão para o Hitman 2016, restou acrescentar outra função importante: o sistema VIP e guarda-costas. Muitos objetivos importantes no Hitman são acompanhados por um ou mais guarda-costas, adicionando outro nível de dificuldade ao jogador. Obviamente, cada nível é projetado para que você possa encontrar maneiras de contorná-los, forçando-os a passar para posições mais fracas ou vestindo um traje que lhes permita passar despercebido. Mas, para adicionar esse novo nível de complexidade, era necessário integrar um sistema completamente diferente à estrutura de IA finalizada.


Os desenvolvedores precisavam resolver o problema de criar um relacionamento entre guarda-costas e VIPs. Anteriormente, os personagens da IA ​​não sabiam da existência um do outro. A IA da multidão sabia apenas que algo estava impedindo que ela se movesse ao redor do mundo, e a árvore de comportamento da AI nunca sabia o que os outros personagens estavam fazendo. Como mencionado acima, graças ao sistema de situações, parecia que eles estavam coordenados e respondiam a eventos no mundo, mas não podiam se unir significativamente a outros personagens para participar dessa situação e não se comunicaram, porque usavam apenas sensores e serviços. Eles simplesmente permitem que você se adicione à situação e um sistema separado os seleciona com base na posição local e em outros critérios. Mas, neste caso, precisamos implementar um relacionamento entre os dois tipos de IA. Os guarda-costas devem sempre seguir o VIP e verificar seu status,se você não o vê há um tempo. Ao mesmo tempo, muitas reações sistêmicas aos sistemas de jogo não devem ser tratadas pelo próprio VIP (afinal, ele é o chefe) - ele simplesmente ordena que seus guarda-costas os tratem.

Isso exigiu completamente novas situações de escolta e evacuação VIP que precisam ser integradas ao sistema principal de IA. Nesse caso, as situações devem ter regras muito específicas que determinam seu trabalho. Para implementá-los, o IO criou dois tipos especiais de caracteres. VIP é um tipo de IA civil que responde às situações de maneira um pouco diferente, incluindo uma nova capacidade de comandar outras pessoas. Os guarda-costas são um tipo de guardas de IA que têm um conjunto de comportamentos levemente modificados e monitoram ativamente seu VIP atual.

Primeiro, o sistema permite criar uma situação chamada Ambient VIP Escort, na qual guarda-costas acompanham o VIP em nível. Os guarda-costas usam sistemas de nomeshme e de localização de caminhos para ficar perto do personagem e segui-lo. Se o VIP decidir parar, os guarda-costas mudam para comportamentos passivos e esperam até que precisem segui-lo mais.

No entanto, isso significa que os VIPs nunca podem ser deixados sozinhos. Naturalmente, um VIP pode precisar ser deixado sozinho para fazer negócios, o que ajuda o jogador em sua tarefa. Portanto, o VIP pode ordenar que os guarda-costas não o sigam em determinadas áreas; os designers de nível colocaram notas no mapa dizendo aos guarda-costas onde eles precisavam esperar pelo chefe.

Mas isso revela outro ponto fraco - o VIP pode se perder se os guarda-costas ficarem em pé e não verificarem se o chefe ainda está vivo. Isso é contrário ao seu objetivo. Portanto, outra situação foi adicionada ao jogo - comportamento do Escort-Search. Se o jogo entender que o VIP não pode continuar sua patrulha no mapa (porque ele foi impedido, ele está inconsciente ou, provavelmente, morto), o cronômetro é iniciado. Quando atinge um determinado valor, o guarda mais próximo começa a verificar o último local conhecido do VIP e, se ele não o encontrar, outros guarda-costas se juntam a ele e se dispersam para procurar uma lista mais ampla de locais próximos.

Se eles encontrarem um VIP e tudo estiver em ordem com ele, o processo continuará da maneira usual. Se o VIP estiver morto, o modo de busca ativo será ativado, mas se o VIP for inconsciente, os guarda-costas implementarão a última situação adicionada ao jogo de 2016 - Evacue o VIP.


A situação de evacuação foi criada para que os guarda-costas pudessem mover o VIP para um local seguro. Tudo começa quando o VIP descobre a tentativa de sua vida, no caso de disparos, explosões e outros sinais de perigo que surgiram nas proximidades. Em uma situação de evacuação, os guardas mais próximos cercam o VIP, após o qual esse grupo se muda para uma sala segura. Salas seguras são locais que os designers de nível classificaram como um bom lugar para ocultar o VIP. Quando um grupo está prestes a se mudar para uma sala segura, o sistema calcula o espaço de seu impacto na grade de decisão, preferindo os caminhos com menos aglomeração para evitar a criação de engarrafamentos na multidão. Os caminhos calculados são deliberadamente organizados para que o grupo evite ser pressionado nos cantos, porque quando vários guarda-costas protegem um VIP,eles não devem acumular e colidir um com o outro. Se for impossível encontrar um quarto seguro ou construir um caminho para ele, eles decidem que a melhor rota de fuga é manter a posição até que uma nova oportunidade de retiro se apresente.

Seja como for, para começar a evacuação, os guarda-costas devem se alinhar. Para fazer isso, eles precisam de um edifício, que é tratado por um sistema de edifício separado, atribuindo a cada personagem seu próprio espaço e criando a prioridade de sua adição ao grupo. Então outro sistema entra em ação, apoiando a velocidade do movimento e preservando a construção do grupo, tanto quanto possível; o ponto de partida é VIP. No entanto, se o jogador decidir persegui-los, os guarda-costas podem sair da linha para parar e aceitar a batalha.

Depois de chegar em uma sala segura, todos os guardas designados são designados para a sala e executam um comportamento defensivo para proteger o VIP. Se depois que um jogador aparecer e colocar em perigo essa sala, o sistema iniciará novamente o processo de evacuação, após o qual os NPCs criarão um edifício e calcularão uma nova sala e o caminho para ela.

Animações


O último componente importante da inteligência artificial de Hitman são os sistemas de animação que o jogador vê em primeiro lugar. Animações em jogos são muito importantes para demonstrar as decisões tomadas pelos personagens; eles são especialmente importantes em jogos furtivos, onde o jogador deve entender o que está pensando, porque isso afeta sua estratégia como um todo.

Tradicionalmente, a animação é controlada por um controlador: o sistema sabe que, em certos contextos, um personagem passa de um estado de espera passiva para caminhar e correr. Para isso, programadores e animadores geralmente precisam criar esses sistemas de forma que cada personagem não apenas conheça a animação que ele precisa jogar, mas também saiba como executar transições suaves entre animações, bem como lidar com muitas condições sob as quais você precisa se misturar. várias animações para alcançar o efeito desejado. Se o sistema funcionar mal, os caracteres parecerão antinaturais e desajeitados, mas para sua implementação adequada para cada personagem, é necessário muito trabalho. A tarefa se torna ainda mais difícil quando os personagens podem estar em novas condições exclusivas e novas animações são adicionadas ao sistema.A Id Software resolveu esse problema adicionando aoDOOM 2016 é um controlador de animação controlado por animação que minimiza o número de animações criadas para cada personagem e permite calcular a melhor maneira de gerenciá-las no contexto atual. Mas um recurso exclusivo da Hitman era que a IO Interactive não podia se dar ao luxo de ter mais de mil controladores de animação complexos ao mesmo tempo. Portanto, ela precisava de algo menos caro e, no caso ideal, calculado com antecedência para reduzir a carga na CPU.


Portanto, a IO Interactive decidiu investigar um sistema chamado Motion Graphs, no qual a tarefa dos designers era conectar todas as animações, e a tarefa da IA ​​era descobrir como misturar todas elas. A idéia subjacente é bastante simples: depois de gravar todas essas animações, forçaremos o algoritmo a encontrar quadros nos quais duas animações estão próximas o suficiente uma da outra para que possam ser usadas como uma transição. Isso é realizado através da pesquisa de um par de quadros (um de cada animação), cuja diferença é mínima. Ao mesmo tempo, são pesquisados ​​não os quadros mais semelhantes entre si, mas os menos diferentes, levando em consideração a duração e a velocidade. Depois que a métrica de incompatibilidade seleciona o par com o valor mais baixo, ela é adicionada ao gráfico de possíveis transições. Quando o gráfico de movimento estiver completo,o personagem pode simplesmente atuar no jogo e determinar a sequência de animações necessárias para alcançar o efeito desejado.

É aqui que a IA entra em ação, porque, apesar do gráfico de movimento eliminar a parte do problema do design, ainda precisamos de um sistema para executar as animações necessárias. Portanto, a partir do Absolution, um novo controlador de animação foi integrado à série de jogos, usando aprendizado de máquina reforçado. Se o sistema conhece a animação atual, a direção e a velocidade atuais, ele precisa atender às condições da direção e velocidade necessárias e também descobrir em qual animação atual precisa permanecer e com qual direção e velocidade. A primeira versão do sistema usa uma versão simples da política gananciosa padrão, mas mais tarde os desenvolvedores estudaram as possibilidades de aprender Q e aproximar uma função expandindo-a para um sistema de funções básicas (aproximação da função básica), que pode ser aplicada em novas versões.

Hitman 2


No processo de mudança da Absolution para o Hitman 2016, os sistemas básicos de IA foram aprimorados, o sistema de multidões foi otimizado e os sistemas de guarda-costas e VIP foram adicionados. O mesmo processo continuou durante o desenvolvimento da sequela de 2018 chamada Hitman 2 .

No momento da redação deste artigo, os detalhes ainda são desconhecidos, mas alterações significativas foram feitas no jogo e cada sistema foi revisado e integrado novamente. A mudança mais notável foi a otimização adicional do sistema de multidões, que agora pode lidar com mais de 2000 NPCs, e isso demonstra completamente o segundo nível do jogo com a pista de corrida em Miami.


O sistema de sensores também foi revisado: agora você pode tirar os olhares suspeitos do NPC de si mesmo, simplesmente se afastando deles - você não precisa mais sair do campo de visão deles. Além disso, o jogador agora pode se esconder melhor na multidão, além de aproveitar a vegetação. Por sua vez, os NPCs aprenderam a ver o jogador nos espelhos, o que torna seu comportamento muito mais realista.

A terceira missão na Colômbia eleva os riscos particularmente altos - ela tem até três objetivos, cada um dos quais se move ao longo de uma rota de patrulha bastante grande. O jogador precisa de mais flexibilidade, porque os sistemas de jogo interrompem essas rotas de destino se ficar óbvio que o jogador está tentando usá-las.

Em conclusão


Por fim, Hitman é um dos recursos mais ricos e os jogos mais complexos que encontrei nas séries AI e Jogos. Ele usa um grande número de sistemas cuidadosamente ajustados e otimizados que gerenciam um grande número de NPCs e, ao mesmo tempo, fornecem uma pequena carga no computador. Ele define um novo padrão para o tamanho e a escala dos personagens de IA em tempo real, e espero que este não seja o último jogo da franquia IO Interactive.

Referências


  • "Criando a IA para o mundo vivo e respiratório da absolvição de Hitman" por Mika Vehkala, GDC Europe 2013.
  • “Multidões em Hitman: Absolvição” de Kasper Fauerby, Conferência Game / AI 2012
  • “Locomoção de personagens baseada em aprendizado por reforço em Hitman: Absolution”, de Michael Büttner, Game / AI Conference 2012.
  • “Guarda-costas e VIPs: uma análise do comportamento da IA ​​do ambiente, alerta e evacuação em Hitman”, de Jason Schroder e Thomas Egeskov Petersen. Conferência nucl.AI 2016.

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


All Articles