

Um agente de IA num jogo é como um jogador independente no ambiente gerado por computador. O agente é um programa que não se limita a executar código para ações pré-escritas, mas sim está ciente do estado do jogo e de como as coisas acontecem, o que foi feito, etc., e pode usar essa informação para tomar decisões sobre o que fazer e as ações a tomar. A principal diferença entre o agente de IA e o modelo tradicional de agentes de IA baseados em scripts é que um agente de IA irá adaptar-se.
Por exemplo, se um jogador optar por uma nova abordagem, o agente adaptará o comportamento do agente de IA (se o agente de IA for um NPC) para refletir isso. Uma das coisas mais interessantes sobre isto é que o agente de IA não repete ações cegamente; mas sim usa a sua perceção, juntamente com a experiência anterior, para fazer uma escolha que levará à ação mais eficaz.
Como exemplo disto, considere um NPC guarda. O NPC guarda não está apenas a seguir um caminho predeterminado, mas também leva em consideração todos os sons que ouve, a posição do jogador e a localização de todos os outros guardas NPC ao determinar se deve soar um alarme ou observar o jogador silenciosamente.
O agente de IA é composto por três partes: 1) a perceção (via sensores) do ambiente em que o agente reside; 2) o processo de decisão (módulo de decisão) que permite ao agente agir; e 3) o atuador que determina que ação o agente irá tomar no jogo. No Unity, a maioria dos agentes de IA são escritos usando scripts C# em conjunto com o ML-Agents Toolkit. No Unreal Engine, a maioria dos agentes de IA são criados usando uma combinação de Blueprints e chamadas de API Python para capacidades preditivas.
Os agentes de IA realizam uma variedade de funções (resolvem múltiplos problemas) no jogo ao mesmo tempo. Para começar, estes sistemas gerem NPCs e não apenas inimigos, mas NPCs que parecem realistas e podem aprender a evadir, esconder-se e apoiar-se mutuamente. Esta metodologia exige que o utilizador avalie as suas estratégias e se adapte a essas estratégias; os utilizadores não podem simplesmente memorizar os meios das patrulhas.
O segundo fator em relação ao uso da IA é a sua capacidade de modificar dinamicamente o nível de desafio de acordo com as métricas de desempenho do utilizador. Por exemplo, se tiver dificuldade em completar um nível, o agente diminuirá a dificuldade. Por outro lado, se completar um nível facilmente, o agente pode aumentar o nível de desafio. Existem muitos jogos que incorporam esta forma de jogabilidade adaptativa, incluindo Left 4 Dead e jogos roguelike modernos.
Por último, os agentes de IA fornecem a capacidade para os jogos criarem conteúdo em tempo real, ou seja, novas missões, diálogos e níveis baseados no estilo de jogo e preferências do jogador. Em jogos educativos, um agente de IA fornecerá ao jogador tarefas que são congruentes com o nível de habilidade do jogador. Com base em sucessos ou falhas, estas tarefas são modificadas de acordo.
Os NPCs padrão são previsíveis; por exemplo, um guarda segue um caminho e vê um utilizador e corre para ele. Isto leva ao tédio na jogabilidade. Portanto, os agentes de IA alteram as regras do jogo utilizando árvores de comportamento ou aprendizagem por reforço.
Um exemplo relevante é no jogo "Far Cry 5", onde, através da utilização do sistema de IA, os NPCs analisam o estilo de jogo do utilizador. Se o utilizador preferir a furtividade como modo principal de jogo, o número de NPCs em patrulha será diminuído em áreas abertas, envolvendo o utilizador através de emboscadas a curta distância. Alternativamente, se o utilizador jogar usando uma estratégia de "correr e atirar", a dificuldade dos NPCs será ajustada com base na estratégia defensiva e o equipamento será atualizado. O comportamento adaptativo não é predeterminado, mas sim feito em tempo real. Tome como exemplo a mecânica Nemesis em Middle Earth: Shadow of Mordor. Cada capitão manterá a consciência das ações de cada capitão (Eu fugi? Eu o magoei?) para que, quando o encontrarem novamente, ajam de forma muito mais inteligente (armando armadilhas, adaptando os seus estilos de luta) para contrariar quaisquer métodos de combate que tenha estado a utilizar nos seus encontros anteriores.
Se por acaso matasse um capitão, da próxima vez que o visse, ele estaria de volta com todo o tipo de novas cicatrizes e habilidades. Isto realmente dá alguma profundidade ao jogo!
Enredos não lineares com muitas opções de diálogo (como em Detroit: Become Human ou The Witcher 3) também são difíceis de contabilizar manualmente todas as possibilidades. É aqui que os agentes de IA entram para criar conversas e missões baseadas no contexto (o que fez até este ponto) e nas ações atuais do jogador, bem como onde o resto do mundo esteve até este ponto.
AI Dungeon é um excelente exemplo. No AI Dungeon, pode digitar qualquer ação que queira realizar, e o AI Dungeon fornecerá uma descrição única e criativa de como isso seria, criando assim a história à medida que avança. Não há um único script—apenas a sua imaginação e a capacidade de resposta da IA.
Na posição de fazer produtos comerciais, Inworld AI é uma plataforma sem código que permite definir as características pessoais de um personagem não-jogador (NPC) e para o agente gerar as linhas de diálogo que produz para o jogador em tempo real. Em The Ascent (lembrar-se-á), os personagens não-jogadores frequentemente recordarão eventos recentes como tiroteios, e dirão coisas sobre eles repetidamente.
Quando se trata de jogos educativos, o agente é o seu tutor pessoal. Se errar algo, ele fornecerá algo mais simplificado ou oferecerá dicas. E se tiver sucesso, aumenta a dificuldade das tarefas que lhe são dadas.
O aspeto mais importante aqui é o da recolha de dados (ou seja, quanto tempo o jogador demorou a responder, quantas vezes errou e quantas tentativas o jogador fez). O agente é capaz de adaptar um percurso de aprendizagem individual com base no que o utilizador precisa. Por exemplo, o Duolingo usa repetição espaçada e aprendizagem de máquina para ajudar os utilizadores a aprender novas palavras de forma mais eficaz. No DragonBox Elements, o agente pode rastrear os tipos de tarefas com que um utilizador está a ter problemas e adicionar atividades semelhantes a jogos para ajudá-los a resolver esses problemas, enquanto continua a motivá-los e envolvê-los.

Dois dos algoritmos usados por agentes de IA em jogos são Árvores de Comportamento (BT) e Máquinas de Estados Finitos (FSM).
Numa Máquina de Estados Finitos (FSM), um agente alterna entre três estados de comportamento: patrulha, ataque e fuga, com base no ambiente. À medida que o número de comportamentos aumenta, torna-se cada vez mais difícil gerir e rastrear todas as várias transições de estado.
As Árvores de Comportamento (BT) oferecem uma abordagem alternativa para gerir este problema, pois usam a modularização para manter uma hierarquia de condições e comportamentos que ciclam continuamente e selecionam o comportamento ideal no momento da avaliação. Por exemplo, um guarda tem três sequências de comportamento com base nos seguintes conjuntos de condições:
Existem várias ferramentas de Designer de Comportamento disponíveis para desenvolvedores Unity para criar Árvores de Comportamento, enquanto os utilizadores do Unreal Engine têm acesso a um construtor de Árvores de Comportamento que podem usar para criar árvores sem escrever nenhum código. O uso desses algoritmos permite que os desenvolvedores de jogos criem comportamentos realistas e críveis em NPCs. A Aprendizagem por Reforço (às vezes chamada de "RL") é um método intuitivo que usa uma abordagem exploratória para o desenvolvimento de agentes de RL, usando múltiplas tentativas para explorar todas as ações possíveis dentro de um ambiente e seus resultados em relação à recompensa ou punição recebida pelas ações realizadas, o que permite ao agente determinar quais ações são ótimas para maximizar as recompensas a longo prazo. Este método de usar recompensas e punições é melhor visto numa situação de labirinto padrão, onde explorar diferentes caminhos ao longo do labirinto resulta em receber uma recompensa por cada caminho bem-sucedido e uma punição por seguir um caminho incorreto.
Uma das formas mais simples de representar isso é usando Q-learning para criar uma tabela básica de valores de ação; no entanto, à medida que os agentes de RL se tornaram mais complexos, o Q-learning foi eventualmente substituído ou aumentado pelo uso de técnicas de modelos de aprendizagem profunda, utilizando o desenvolvimento e implementação de redes neuronais através da tecnologia de rede Q-profunda (DQN). Mais recentemente, algoritmos de Aprendizagem por Reforço como PPO e SAC têm sido amplamente utilizados devido à rápida velocidade com que o agente aprende em comparação com o método de treino Q-learning ou DQNs, bem como à sua capacidade de fornecer aos agentes de RL um nível de estabilidade. Como exemplo, a Ubisoft incorporou o uso do algoritmo PPO para os personagens não-jogadores (NPCs) no seu jogo "Watch Dogs: Legion", no qual os NPCs podiam apoiar-se mutuamente, procurar cobertura para proteção e realizar manobras táticas para criar desafios do mundo real para os jogadores, dando aos NPCs características comportamentais semelhantes às dos jogadores do mundo real.
O Unity ML-Agents Toolkit é o conjunto principal de ferramentas usado para incorporar agentes de RL em jogos Unity. O processo para implementar um modelo treinado usando Unity ML-Agents requer a criação do agente de RL no Unity com um cliente Python associado para treinar os agentes de RL usando Python, com os dados de treino sendo importados para o Unity usando script C#. O seguinte procedimento é usado para criar e treinar agentes de RL com Unity ML-Agents:
O Unreal Engine usa uma interface de programação de aplicações (API) Python semelhante para realizar a mesma função através do uso de Blueprints do Unreal Engine para exportar e converter os agentes de RL treinados para o formato de modelo ONNX. A Embark Studios utilizou a aprendizagem de máquina para melhorar o equilíbrio no seu jogo, The Finals, modificando continuamente os seus modelos de aprendizagem de máquina usando estatísticas dos jogadores.
O Unity ML-Agents Toolkit é o kit de ferramentas oficial de agentes suportado pelo Unity que permite a integração com o PyTorch e possui boa documentação (incluindo exemplos completos). Também pode ser treinado na nuvem sem custos. No entanto, o utilizador deve ter um conhecimento prático tanto de Python quanto de Aprendizagem por Reforço, com a capacidade de treinar pelo tempo que for necessário para concluir.
O sistema de IA do Unreal Engine está integrado com um editor de Árvores de Comportamento, além de suportar modelos de ML usando o formato ONNX. Ambos os sistemas podem ser configurados para ter um bom desempenho, mas nenhum deles oferece um conjunto completo de ferramentas de ML nem oferece tempo de treino adequado.
O Inworld AI permite a geração de diálogo sem código com geração de resposta em tempo real a partir de conteúdo conversacional criado. Além de fornecer protótipos rápidos, o Inworld AI é um serviço pago com todo o processamento a exigir uma conexão ativa à internet e a fornecer lógica mínima fora da lógica conversacional.
O produto Behaviour Designer para Unity oferece uma interface visual e simples para criar o comportamento do agente e suporta modelos prontos sem experiência em codificação. No entanto, o Behaviour Designer não suporta ML de forma alguma e só pode ser usado para agentes que seguem regras.
ASCN.AI NoCode + Agente de IA é um produto que oferece automação completa sem código para a criação e operação de agentes, incluindo integrações pré-construídas e capacidade de lançamento rápido para fins de análise e tomada de decisões, mas é focado em negócios e precisará de adaptações especiais para uso em jogos.
Conforme relatado na GDC State of the Game Industry Survey 2024, 71% dos entrevistados na pesquisa relataram usar ou planear usar IA. Mais comumente, essas tecnologias de IA estão sendo usadas para geração de conteúdo procedural, para aprimorar o comportamento de personagens não-jogáveis no jogo e para funções de teste.
Devido ao crescimento esperado do mercado de inteligência artificial (IA) de 1,2 mil milhões de dólares em 2024 para uma estimativa de 7,3 mil milhões de dólares até 2032 e uma taxa de crescimento anual média de 25,4%, os desenvolvedores independentes têm aproveitado novas tecnologias, como a ferramenta GPT-4, para criar diálogos para videojogos e, assim, acelerar consideravelmente o tempo de desenvolvimento.
Custos Médios para Desenvolver um Agente de IA:
| Tipo | Intervalo de Custo |
|---|---|
| Agente de IA Baseado em Regras (BT ou FSM) | 495 $ a 1.500 $ |
| Agente de RL para Um Tipo de NPC | 2.000 $ a 5.000 $ |
| Sistemas Complexos de NPC com Dificuldade Adaptativa e Integração | 10.000 $ a 30.000 $ |
Por exemplo: Um Estúdio Indie que configurou o ASCN.AI (para recolher e analisar o feedback dos jogadores usando um Bot do Telegram com classificação automática de sentimento) gastou 29 $/mês em serviços e teve-o configurado em poucas horas. Esta foi a solução ideal para um desenvolvedor que procurava uma forma de implementar soluções funcionais rapidamente sem ter de contratar pessoal (programador).
Que Problemas Deseja Resolver? Um Exemplo - Tornar os NPCs mais previsíveis, Diminuir as Queixas sobre a Dificuldade do Jogo, Criar Mais Conteúdo. Que Métricas Deseja Melhorar? Retenção, Tempo Médio de Jogo, Contração.
Um Agente de IA Baseado em Regras (Árvores de Comportamento ou Máquinas de Estados Finitos) Resolverá Problemas de Lógica Básica e será mais rápido de projetar e desenvolver; enquanto um Agente de IA de Aprendizagem de Máquina (Aprendizagem por Reforço) Resolverá Problemas Complexos que Requerem Comportamento Adaptativo Contínuo, mas o Processo de Design e Desenvolvimento é mais longo. Um Modelo Híbrido é criado quando a Árvore de Comportamento é usada como uma Estrutura de Alto Nível; e a Aprendizagem de Máquina é usada para Criar Decisões de Baixo Nível (por exemplo: Criar Missões Usando IA Generativa).
Para Modelos Baseados em Regras, Crie uma Árvore Visual. Para Modelos de Aprendizagem de Máquina, Escreva Scripts; Crie Entradas, Ações e Recompensas; e depois Treine o Modelo. Para IA Generativa, Escolha uma Plataforma para Usar e Configure os Seus Prompts.
Realize Testes A/B, Meça os Parâmetros do Jogo, Ajuste as Recompensas/Mapeamentos Lógicos Conforme Necessário e Recolha o Feedback do Utilizador. É importante Melhorar Continuamente o Comportamento do Agente de IA e a Interação do Utilizador.
Um agente de IA é um Componente Autónomo de um Jogo que interpreta entradas do Mundo do Jogo e processa essas entradas usando Lógica Baseada em Regras ou Algoritmos de Aprendizagem de Máquina, e tem a capacidade de ser Adaptativo (Ou seja, em vez de apenas Executar Scripts).
As quatro opções principais para desenvolver agentes são: máquinas de estados finitos (FSM), árvores de comportamento (BT), aprendizagem por reforço, com os seus vários algoritmos como Q-learning, DQN, PPO, SAC, e modelos de linguagem generativos (GPT) para desenvolver diálogo.
Sim, existem plataformas sem código que oferecem a capacidade de criar diálogo e automatizar processos sem escrever qualquer código. No entanto, se desejar criar integrações profundas com o seu motor de jogo, provavelmente precisará de algum nível de conhecimento técnico para fazer algumas das configurações necessárias.
Embora o treino de um agente exija muitos recursos, o tempo que leva para inferir (executar o modelo no jogo) geralmente ocorre dentro de um prazo aceitável. Quando usa IA generativa para geração de diálogo, haverá latência introduzida (200-500ms), o que será aceitável para alguns tipos de conversas, mas não em casos de ação de alta velocidade.

ASCN.AI é uma plataforma sem código que permite aos utilizadores automatizar e criar agentes de IA sem a necessidade de uma equipa de desenvolvimento. Ajuda-o a adaptar os seus processos operacionais para poder criar e usar agentes de IA para todas as suas tarefas de desenvolvimento de jogos/técnicas e integrá-los com todos os aspetos da contabilidade e relatórios analíticos.
Antes de usar o ASCN.AI, um pequeno estúdio de jogos precisava de horas de tempo por semana para recolher dados do Firebase e do Unity Analytics. Ao usar o ASCN.AI, agora eles acionam um pedido de dados específicos todos os dias às 9h que é recuperado usando a API. Uma vez que os dados são recebidos, um agente de IA revê os dados recebidos para identificar quaisquer problemas (por exemplo, com um nível de jogo específico). Uma vez estabelecidas as descobertas, os dados são guardados no Google Sheets e um relatório é enviado para a equipa usando o Telegram. Isto poupa à equipa de desenvolvimento pelo menos 10 horas de entrada manual de dados por semana.
Antes do ASCN.AI, o gestor de desenvolvimento era responsável por rever manualmente as avaliações dos jogadores que eram recebidas via Discord, Steam e Reddit. Usando o ASCN.AI, sempre que uma nova avaliação é submetida, um processo automatizado é acionado que classifica automaticamente a avaliação em três categorias (tipo, sentimento e prioridade). Quaisquer erros identificados são enviados para o QA, quaisquer sugestões são adicionadas ao roteiro de desenvolvimento do Google Sheets, e uma mensagem automática de agradecimento é enviada ao jogador. Além disso, relatórios semanais resumidos são enviados por e-mail para a equipa. Isto permite ao gestor poupar pelo menos 8 horas por semana.
Um jogo gratuito estava a tentar aumentar a sua taxa de conversão de 2% para 5%. Quando o jogador completou o nível 10, um evento de acionamento automatizado foi ativado no sistema do ASCN.AI, o que fez com que o ASCN.AI analisasse as compras anteriores dos jogadores e fizesse recomendações personalizadas. Estas foram fornecidas ao jogador por meio de uma mensagem individual, completa com um prazo. O jogo finalmente enviou uma notificação push ao jogador, e subsequentemente as taxas de conversão saltaram para 4,5%, adicionando 15.000 $ em margem adicional por mês.