- Flávia Moreira
- 5 de novembro de 2024
- Comments (0)
5 Motivos para usar GOAP em Jogos
Vamos começar apimentando o desenvolvimento de nossos jogos! E quando falamos em pimenta, é aquele nível de ardência que faz qualquer jogador ficar na ponta do assento. GOAP, então… o que é isso?
O Goal-Oriented Action Planning (GOAP) é uma técnica de IA que revolucionou o funcionamento dos NPCs (Non-Playable Characters). Em vez de simplesmente reagirem ao ambiente, os NPCs agora operam em um nível totalmente novo, fazendo escolhas estratégicas como se tivessem “intenções” próprias. Com GOAP, eles ganham objetivos e prioridades, calculando a melhor ação a cada instante com base nas condições do jogo. Imagine personagens que não apenas seguem um roteiro, mas que reavaliam e ajustam suas ações em tempo real, trazendo uma camada extra de inteligência e realismo. Como esse tema exige estudo e promete transformar a experiência do jogador, vou compartilhar os 5 principais motivos para você mergulhar de cabeça nessa técnica e levar seus NPCs a outro nível!
Certo mas de onde surgiu isso?
GOAP ganhou vida no mundo dos jogos como uma inovação para dar mais dinamismo e inteligência aos NPCs. Sua estreia notável foi no jogo F.E.A.R. (First Encounter Assault Recon), lançado em 2005 pela Monolith Productions. Nesse título, a inteligência artificial dos inimigos impressionou os jogadores: eles pareciam ter “propósitos” próprios, tomando decisões táticas e agindo de forma independente, como se tivessem uma estratégia em mente. Essa inovação elevou o padrão para IA em jogos, mostrando como os NPCs podiam se adaptar e reagir com uma “autonomia” quase real, certo mais isso não chega ao nível de machine learning!
É uma abordagem baseada em regras e planejamento, onde as ações dos NPCs são pré-definidas e priorizadas por meio de objetivos e condições estabelecidas pelo desenvolvedor. Ou seja, o comportamento dos NPCs é programado com uma lógica fixa que permite variações inteligentes, mas sem capacidade de aprendizado ou adaptação baseada em experiência, como ocorre no machine learning. ok?
Como Funciona o GOAP?
Como já mencionado, é uma técnica que permite que NPCs ajam de forma independente e inteligente, criando e adaptando seus próprios planos de ação. Em vez de seguir um comportamento fixo, cada NPC é capaz de avaliar as condições do jogo, definir objetivos e desenvolver ações que o aproximem desses objetivos de acordo com as suas prioridades no momento.
Em termos práticos, cada NPC possui um conjunto de objetivos como “proteger-se”, “encontrar comida” ou “ajudar o jogador”. Cada objetivo está vinculado a uma série de ações possíveis que podem ser escolhidas e encadeadas, formando uma espécie de “rede” de decisões adaptativas. Essas ações possuem duas características principais:
- Pré-condições – são requisitos específicos que devem ser atendidos para que a ação possa ser executada (como “precisar de uma poção” para a ação “curar”).
- Efeitos – são as mudanças no ambiente ou no próprio NPC que resultam da execução da ação (como aumentar a saúde do jogador ao curá-lo).
Esse sistema de pré-condições e efeitos permite que o NPC escolha a melhor sequência de ações para atingir seu objetivo. Ele analisa quais ações estão disponíveis, verifica se suas pré-condições são atendidas e, a partir disso, elabora um plano que pode se adaptar automaticamente conforme o ambiente muda.
Na Pele do Curandeiro: A Jornada de Cura e Autossobrevivência!
Esses dias, decidi criar um sistema para um curandeiro, com a capacidade não só de curar o jogador, mas também de se cuidar em momentos críticos. Claro, isso exige uma série de ajustes e considerações para tornar o curandeiro verdadeiramente eficiente e “redondinho”.
Imagine esse curandeiro em um RPG, com um papel essencial: manter o jogador vivo e bem. Ao perceber que o jogador está machucado, ele escolhe a meta “curar o jogador” e inicia o planejamento. Primeiro, ele verifica se possui uma energia suficiente. Se não tiver, ele busca ficar na ação de dormir. O sistema GOAP permite que o curandeiro analise o ambiente e suas próprias condições, adaptando-se em tempo real, sem seguir uma lista fixa de instruções.
E se o inesperado acontecer? Digamos que ele seja atacado enquanto tenta ajudar. Nesse caso, ele pode interromper o plano de cura e priorizar a própria defesa, garantindo sua sobrevivência antes de retomar o objetivo inicial de curar o jogador. Isso cria uma dinâmica realista, onde o curandeiro se mostra não apenas útil, mas também “inteligente” e adaptável, aumentando a imersão e o senso de autenticidade do jogo. Mas isso, é uma outra etapa!
Os 5 Motivos para Usar GOAP em Jogos
Agora que você sabe o que é GOAP e como ele opera, vamos aos principais motivos para aplicá-lo ao desenvolvimento de NPCs no seu jogo:
- NPCs Tomam Decisões de Forma Independente e InteligenteCom o GOAP, seus NPCs analisam o ambiente ao redor e definem o que fazer com base em objetivos e necessidades. Eles não apenas seguem scripts, mas pensam em termos de prioridade e contexto. Por exemplo, se um inimigo aparece enquanto um NPC está realizando outra tarefa, ele pode reavaliar suas prioridades e decidir fugir ou se esconder. Esse comportamento autônomo torna os NPCs mais convincentes e cria uma experiência mais envolvente para o jogador, que percebe os personagens reagindo de forma lógica e adaptada às situações do jogo.
- Facilidade para Ajustar e Adicionar Novas AçõesA estrutura modular do GOAP permite que novas ações ou objetivos sejam adicionados sem grandes complicações. Cada ação tem suas pré-condições e efeitos, facilitando a criação de novos comportamentos ou a personalização dos existentes. Isso significa que, se você quiser adicionar um novo objetivo ao curandeiro do exemplo anterior, como “encontrar um abrigo seguro”, basta definir essa ação com suas próprias condições e efeitos. O NPC automaticamente incluirá essa ação em seu processo de decisão quando for relevante. Isso simplifica o desenvolvimento e a manutenção, economizando tempo e esforço.
- Respostas Realistas a Situações DinâmicasUm dos grandes diferenciais do GOAP é a adaptabilidade dos NPCs a mudanças no ambiente. Se um evento inesperado ocorre, como a aparição de inimigos ou uma alteração no objetivo do jogador, o NPC pode interromper seu plano atual e mudar de direção para reagir ao novo cenário. Em um jogo de sobrevivência, por exemplo, um NPC pode inicialmente se concentrar em buscar comida, mas ao detectar um predador próximo, ele reavalia a situação e decide que é melhor se esconder ou fugir. Isso gera personagens mais inteligentes e um jogo mais imprevisível, o que enriquece a experiência do jogador.
- Menos Código e Mais OrganizaçãoO GOAP organiza o comportamento do NPC de forma eficiente e clara. Em vez de criar um código longo e complexo para cada possível reação do NPC, você define ações com pré-condições e efeitos que o GOAP organiza conforme as necessidades do NPC. Esse sistema de organização torna o desenvolvimento mais limpo e reduz o risco de erros, pois o comportamento do NPC é determinado pela estrutura de metas e ações, e não por um emaranhado de condições. Isso torna o código mais fácil de ler, entender e ajustar conforme o jogo evolui.
- Engajamento Aumentado para o JogadorNPCs que agem de maneira independente e realista aumentam a imersão do jogo. Quando o jogador percebe que as ações dos NPCs fazem sentido, como um curandeiro que se aproxima para curar ou um guarda que protege a área, ele se sente mais conectado ao mundo do jogo. GOAP permite que os NPCs se comportem de maneira autêntica, com objetivos próprios que afetam o ambiente de forma coerente. Isso incentiva o jogador a interagir com esses personagens, resultando em uma experiência mais rica, onde as decisões do jogador e dos NPCs realmente se conectam, criando momentos únicos no jogo.
Esses cinco motivos deixam claro por que o GOAP é uma ferramenta poderosa para o desenvolvimento de IA em jogos. Com ele, você transforma NPCs em personagens com motivações reais e capacidade de adaptação, melhorando a jogabilidade e criando um ambiente mais imersivo e interativo. Ao dar aos NPCs objetivos e ações planejadas, o GOAP permite que o jogador tenha uma experiência de jogo que parece, de fato, viva e imprevisível.
Em resumo, o GOAP vai além de simples reações. Ele cria personagens capazes de planejar e tomar decisões, ampliando a complexidade e o realismo do jogo — tudo sem sobrecarregar o desenvolvimento.
Veja nosso curso de desenvolvimento de jogos
Jogo em 3d
Uma leitura adicional:
Aplicação de planejamento em jogos de estratégia