1. O documento discute brevemente a história e técnicas comuns de inteligência artificial em jogos eletrônicos, como máquinas de estados finitos, algoritmos genéticos e planejamento. 2. Exemplos de como essas técnicas são usadas em jogos populares como Pac-Man, Resident Evil e StarCraft são dados. 3. O documento fornece referências adicionais para aprender mais sobre o assunto.
3. Introdução
John McCarthy em 1956 definiu Inteligência Artificial como “a ciência e engenharia capaz
de construir máquinas inteligentes”.
O termo “IA em jogos” (ou “Game AI”) é usado amplamente, para a representação e
controle de comportamento de personagens não controlados pelo jogador no jogo
(Non-player characters - NPCs). Utilizado para diferenciar o significado do termo IA em
jogos do significado do termo IA no meio acadêmico.
4. Breve Histórico
● Década de 60
Surgimento dos jogos por computador
Principal preocupação era com o visual
Sem técnicas de IA
5. Breve Histórico
● Década de 70
Número maior de jogos em modo texto também conhecidos como
Multi User Dungeons (MDU’s)
Primeiro sucesso comercial foi Pong (1972) (Do mesmo fundador da Atari)
6. Breve Histórico
● Década de 90
Melhoria na interface e interação depois do lançamento dos computadores de 16 bits
Evolução tanto na área gráfica como de IA
10. Máquina de Estados Finitos
Basicamente uma Máquina de Estados é composta por um conjunto de
estados e por um conjunto de regras de transições entre estes estados
(Neste caso, normalmente refletem algum evento no mundo do jogo).
11. Máquina de Estados Finitos
Representa através dos estados as ações possíveis ao agente
inteligente, de forma que as regras de transição representam as
condições que devem ser verificadas para avaliar se o agente deve
mudar de estado.
13. Algoritmos Genéticos
Algoritmos genéticos são uma classe particular de algoritmos
evolutivos que usam técnicas inspiradas pela biologia evolutiva
como hereditariedade, mutação, seleção natural e recombinação
(ou crossing over).
16. Planejamento
Em Inteligência Artificial, Planejamento é a tarefa de propor uma sequência de ações
que alcançarão um determinado objetivo.
Ao se utilizar um sistema de planejamento de ações orientado a objetivos (goal oriented
action planning - GOAP) em um jogo, é possível permitir aos NPCs decidir não só o que
fazer em um certo momento, mas também como fazer. O personagem formula seus
próprios planos, tem comportamentos menos repetitivos e menos previsíveis, além de
poder adaptar suas ações específicas da situação corrente.
17. Planejamento
Definições:
Ação:
É um comportamento indivisível que contribui para a satisfação de um ou mais objetivos.
Possui um conjunto de efeitos e pré-condições. Os efeitos definem como a execução da
ação modifica o estado do mundo e as pré-condições definem aspectos do estado do
mundo que devem ser verdade no momento da execução da ação.
18. Planejamento
Objetivo:
Sub-estado do ambiente do jogo (acoplado ao personagem ou ao mundo) que um plano
tenta alcançar e que quando é alcançado com sucesso encerrar o comportamento
iniciado para alcançá-lo.
Plano:
É uma sequência válida de ações, que quando executadas a partir do estado atual
permite ao agente inteligente alcançar o objetivo.
19. Planejamento
Funcionamento de um Sistema de Planejamento:
Recebe como entrada o estado atual do mundo do jogo, objetivos a serem satisfeitos e o
conjunto das ações que podem ser executadas e gera um plano.
A idéia é então criar um plano em tempo real passando um ou mais objetivos para o
planejador, caso um plano seja encontrado o mesmo é retornado ao agente. Com o
plano, o agente pode seguí-lo até o fim, até que o plano seja invalidado por mudanças no
mundo ou até o surgimento de outro objetivo de maior prioridade ocasionar a criação de
um novo plano.
20. MultiAgentes
O que é um agente? é uma entidade real ou virtual
que está inserida em um ambiente
que pode perceber o seu ambiente
que pode agir no ambiente
que pode se comunicar com outros agentes
que tem um comportamento autônomo, conseqüência de suas observações, de seu
conhecimento e de suas interações com os outros agentes
22. MultiAgentes
Tipos de Sistemas MultiAgentes
Agentes Cognitivos
● Comunicação direta
● Organização social
● Poucos agentes
Agentes Reativos
● Comunicação indireta
● Organização etológica
● Muitos agentes
23. Exemplos
Máquina de Estados Finitos: Pacman
Pac-Man é baseado em máquina de estados: dispersar, caçar e
fugir. Dispersar: responsável por mover os personagens em direção
aos cantos e andar em círculos. Caçar:1.movimenta-se de acordo
com a posição do Pac-Man. Fugir : é acionada, quando o usuário
“come” uma pastilha de “força”.
25. Exemplos
Em Resident Evil 4, há muitas partes em que o jogador tem a possibilidade de quebrar caixas de madeira que possuem (ou não)
equipamentos ou artefatos dentro. Essas caixas também representam uma das características das Máquinas de Estado, já que possui
estados distintos: Antes de ser quebrada e após ser quebrada, além do estado em que reproduz a animação ao ser quebrada.
26. Exemplos
O lutador possui seus movimentos mapeados em estados. Dependendo do estado do oponente (atacando, defendendo, recuando) o NPC irá
efetuar uma estratégia de luta ou combinação de movimentos.Se você já deu um “hadouken” saiba que ele também está dentro de uma
FSM.
29. Exemplos
Planejamento
F.E.A.R. é um jogo eletrônico de tiro em primeira pessoa produzido pela Monolith. O enredo tem como base vários acontecimentos
sobrenaturais. A sigla F.E.A.R. significa First Encounter Assault Recon.