Você está na página 1de 15

Inteligência artificial em jogos

Non-Player Character (NPC)


Um bot programado em uma simulação para imitar um
personagem. Pode ser para um aliado ou inimigo.

Obviamente, não é controlado pelo usuário

Os NPCs são usados para interagir com os jogadores para:

● Aumentar a imersão
● Melhorar a experiência
● etc

Os NPCs, geralmente, são uma parte importante da


história do jogo (storyline).
IA para Jogos...
Quando falamos em inteligência
artificial em jogos, estamos
preocupados em simular um
comportamento dentro de jogo que
seja aceito pelo jogador com um
comportamento coerente daquele NPC,
e que deixe o jogo mais divertido ou
realista dependendo da proposta do
título.

Fortnite
IA para jogos VS IA tradicional
● Máquinas de Estado Finitos ● Aprendizado de Máquina
● Pathfinding (A*) ● Redes Neurais
● Behaviour Trees ● Deep Learning
● Utility AI
● Flocking, Steering Geralmente envolve o uso de grandes
● Goal-Oriented Action Planning - GOAP conjuntos de dados e algoritmos de
aprendizado para criar modelos
preditivos ou adaptativos.
Uma boa Inteligência Artificial

Consistente: Comportamentos totalmente aleatórios podem estragar a


experiência do jogo

Percebem o ambiente: Os NPCs devem usar informações do ambiente para


tomar ações

Entendem o jogador: Usando informações passadas ou estilos de jogo


Algoritmos de IA
para Jogos
FSM (Finite State Machines / Máquina de Estados Finita)

Também conhecido como autômato finito, é


um modelo matemático usualmente
representado por grafos usado para definir
lógicas, por exemplo em Inteligência
Artificial de Jogos.

Até o começo dos anos 2000 era a técnica


mais usada para programar IA em Jogos
Digitais.

Fonte: Finite-State Machines: Theory and Implementation


Behavior Tree
Ela é composta por uma série de nós organizados em uma estrutura em árvore, que
representam decisões e ações que o personagem pode tomar. A Behavior Tree é
executada de cima para baixo, começando pela raiz e seguindo pelos nós até que
uma ação seja executada.

Fonte: Chris Simpson's Blog - Behavior trees for AI: How they work
Behavior Tree

https://medium.com/geekculture/ho
w-to-create-a-simple-behaviour-tree
-in-unity-c-3964c84c060e
Utility AI
O conceito geral do Utility é de um sistema
baseado em o quão algo é útil, assim todas
as ações possíveis são pontuadas de uma
só vez e uma das principais ações de
pontuação é escolhida. Utility mede o
quanto se deseja algo.

Fonte: Are Behavior Trees a Thing of the Past?


Pathfinding

https://en.wikipedia.org/wiki/Seven_Bridges_of_K%C3%B6nigsberg
Dijkstra e A*

https://en.wikipedia.org/wiki/Dijkstra%27s_algorithm https://www.codingame.com/learn/pathfinding
Links interessantes

IA para jogos (Geral)


- Matemática para IA: https://learn.unity.com/project/the-mathematics-of-ai
-
FSM - Finite state machines
- Tutorial: https://learn.unity.com/tutorial/finite-state-machines-1#
- Assets:
- https://assetstore.unity.com/packages/tools/ai/finite-state-machine-scriptable-object-105346
- (pago) https://assetstore.unity.com/packages/tools/finite-state-machine-49940
Behavior Tree
- Tutorial:
https://www.youtube.com/watch?v=SgrG6uAZDHE&ab_channel=TheKiwiCoder
- https://assetstore.unity.com/?q=behavior%20tree&orderBy=1
Links interessantes
Pathfinding
- Tutorial: https://learn.unity.com/project/beginner-ai-pathfinding
- Tutorial: https://learn.unity.com/project/waypoints-graphs
- https://assetstore.unity.com/packages/tools/ai/pathfinding-17809
- (Pago)https://assetstore.unity.com/packages/tools/ai/open-world-pathfinding-s
ystem-105031

GOAP - Goal Oriented Action Planning


- Tutorial: https://learn.unity.com/tutorial/an-introduction-to-goap
- https://assetstore.unity.com/packages/tools/ai/regoap-77376

Flocking, Steering
- https://assetstore.unity.com/?q=Flocking%20Steering&orderBy=1
Referências

Você também pode gostar