• Nenhum resultado encontrado

Game IA. Prof. Marcelo Henrique dos Santos

N/A
N/A
Protected

Academic year: 2021

Share "Game IA. Prof. Marcelo Henrique dos Santos"

Copied!
53
0
0

Texto

(1)

Prof. Marcelo Henrique dos Santos

(2)

Bibliografia Recomendada

•BOURG, David M.; SEEMANN, Glenn. AI for Game Developers. O’Reilly, 2004.

•FUNGE, J. Artificial Intelligence for Computer Games: An Introduction. A K Peters, 2004.

•RABIN, Steve. AI Game Programming Wisdom. Charles Rivergg Media, 2002

•www.gamasutra.com •www.gamedev.net

(3)
(4)

Prof. Marcelo Henrique dos Santos

O que é Inteligência?

• capacidade de raciocinar, planejar, resolver problemas, pensar de maneira abstrata, compreender ideias e

linguagens, e aprender

• “A inteligência é aquilo que os testes de inteligência

medem” – Alfred Binet (mais fácil medir do que definir)

• “habilidade de um sistema de adaptar seu comportamento para atingir seus objetivos numa série de ambientes”

(5)

O que é Inteligência Artificial ?

• inteligência apresentada por uma entidade artificial

(geralmente um computador); ramo da Ciência que lida com aprendizagem, comportamento e adaptação em máquinas • teste de QI x teste de Turing (1950)

• usos mais disseminados: controle, planejamento,i dii dt l l jt reconhecimento de imagens (facial)/sons (voz), otimização, etc.

• campos de aplicação: engenharia, medicina, economia, tecnologia militar, jogos eletrônicos, etc.

(6)

O que é GameAI ?

• conjunto de técnicas utilizadas em jogos eletrônicos para

criar um comportamento desejado de non-player characters (NPCs), e eventualmente do ambiente também

• técnicas derivadas das áreas acadêmicas de AI, Teoria de Controle, Robótica e Computação

• tem como principal objetivo melhorar o desafio e a imersão

(o que interessa é a diversão)

(7)

Na prática...

• GameAI é o controle de toda entidade não-humana num jogo:

– outros carros num jogo de corrida – oponentes e monstros num FPS – unidades inimigas num RTS

• não inclui controle de elementos passivos, que não têm

autonomia para agir; quem cuida disso é a física ou a lógica de jogo; ex:

– blocos caindo em “Tetris” – tiros

(8)

Prof. Marcelo Henrique dos Santos

AI vs. GameAI (1)

• criar inteligência é diferente de criar uma ilusão de inteligência

• oponente imbatível ou jogo desafiante ?

• GameAI pode lançar mão d “de “truques sujos” para iludir o jogador

(9)

AI vs. GameAI (2)

AI Tradicional GameAI

Função competir com as pessoas entreter as pessoas

Usa dados e heurísticas

para... ... derrotar humanos ... imitar

(10)

Objetivos da GameAI

• proporcionar diversão

• ser convincente (pelo menos não parecer estúpida...)

• usar pouca memória e processamento • implementação rápida e fácil

(11)

Aplicações da GameAI (1)

• projeto de NPCs: – movimentação – tomada de decisão – comportamento • aprendizado

• controle de reação de ambiente • posicionamento de câmera

(12)

Aplicações da GameAI (2)

• iluminação

• controle de narrativa e eventos • balanceamento de dificuldade • testes

(13)

Trapaça, a técnica mais comum

• compensa o desequilíbrio contra a inteligência humana e deixa o jogador desafiado

• razões para trapacear:

– fingir que é “pior”: mira nos shooters (o objetivo nem sempre é acertar)

– fingir que é “melhor”: inimigos mais rápidos, violação nas regras, etc. (vale tudo)

(14)

Ainda sobre trapaças...

• não exagerar: o jogador não pode perceber

• trapacear demais pode deixar a dificuldade do jogo desbalanceada

• exemplo de trapaça: em jogos de estratégia, o computador sabe absolutamente todas as

informações sobre os oponentes humanos (localização das bases, armamentos, etc.);

(15)

Histórico (1)

• Não comercial - Jogo da Vida (John Horton Conway – 1970) • Comercial - GameAI nasceu com os single-players; exs:

– “Space Invaders” (1978): padrões de movimentação e dificuldade progressiva

– “Pac-Man” (1980): movimentação dos fantasmas

• Sistemas Especialistas - jogos de esporte (“Madden Football”1984) • Anos 90: difusão das técnicas com o crescimento do gênero

(16)

Histórico (2)

• 1996: “Battlecruiser 3000AD”: primeiro jogo a usar Redes Neurais

• 1996: uso de Algoritmos Genéticos na série “Creatures” • 1997: Deep Blue derrotou o campeão Kasparov (não

exatamente um exemplo de entretenimento)

(17)

Onipresença da AI (gêneros...)

• estratégia (tática dos inimigos)

• luta (padrões de ataque e defesa)

• first-person shooters (movimentação e ataque de oponentes e aliados)

• tabuleiro (tomada de decisão de oponentes) • RPG (monstros, NPCs)

• esportes ( ação tática de outros times/atletas, comentaristas) • corrida (controle dos outros carros)

(18)

Onipresença da AI (... e no tempo)

De...

– controle dos fantasmas em “Pac Man”

– movimentação das naves em “Defender” ... até

– modelagem de emoções em “The Sims”

(19)

AI – A Fronteira Final

Impacto na capacidade de imersão:

• Computação gráfica: fotorrealismo cada vez mais próximo (velocidade das GPUs), em alta resolução e a elevado

frame-rate

• Simulação Física: campo em forte expansão. O realismo não é necessário (ou mesmo desejável) em todos os gêneros.

→ Quanto maior a qualidade visual e física da simulação,

maior é a expectativa do jogador quanto ao comportamento de personagens (NPCs) e do ambiente.

(20)

Classificação (1)

Determinismo em GameAI

AI Determinística AI Não-determinística Comportamento previsível imprevisível

Implementação mais fácil mais difícil

Teste/debug fácil, mas trabalhoso difícil

Aprendizado difícil fácil

Exemplos algoritmos de perseguição e fuga, máquinas de estados adaptação via Redes Neurais, Algoritmos Genéticos

(21)

AI Reflexiva (pré-análise)

AI Reativa (decisão instantânea) algoritmo exaustivo, força bruta heurístico

modelagem fenômeno “caixa preta”

resposta lenta rápida

solução ótima satisfatória

Classificação (2)

(22)

Arquitetura (1)

AI no game loop

• atualizada como parte do game loop, após a entrada de dados e antes da renderização

• precisa ser atualizada em todos os frames ?

– as entradas da AI talvez não variem tão rápido – AI pode ser disparada somente por eventos

• não precisa ser síncrona (atualizada

(23)

Arquitetura (2)

Polling vs. Event Driven

• Polling

―AI é executada a uma taxa fixa de atualização ―sensoreamento: o que mudou no ambiente ? ―reage a partir de mudanças detectadas

―geralmente ineficiente

―bom se apenas estado atual interessa • Event Driven

―só reage a eventos

―mensagens (chegada de inimigos, timeout, etc.)

―exige arquitetura de mensagens substituindo o sensoreamento ―imprescindível quando transições são importantes

(24)

Arquitetura (3)

Complexidade de Execução

• qual o impacto na velocidade com a adição de conhecimento ?

• qual o impacto na memória com a adição de conhecimento ?

• determina o custo da técnica em termos de tempo de execução

(25)

Desafios da GameAI

• resultados menos frustrantes para os jogadores

(GameAI tende a ser lembrada mais quando falha do que quando acerta...)

• evoluir (ou pelo menos manter) o comportamento inteligente à medida que o realismo gráfico e físico aumenta (pathfinding numa grade 2D com muros retos é fácil...)

(26)

Mais desafios...

• explosão de conteúdo, mundos mais densos e mais reativos

• nem sempre o que o mercado quer é o estado-da- arte da tecnologia em AI

• pressão por maior uso de técnicas não-

determinísticas, mas aí estão os maiores riscos,

(ciclo de desenvolvimento mais longo, mais caro,

(27)

Considerações

• NPCs inteligentes podem agir de forma autônoma, mas os game designers precisam controlá-los para manter o jogo conforme o projetado

• decisões inteligentes (mas completamente

imprevisíveis) podem arruinar um roteiro pré-

(28)

Técnicas de GameAI:

Uma visão geral

(29)

Técnicas de GameAI

Maquinas de Estado Finito (FSM)

Lógica Nebulosa - Fuzzy

Sistemas baseados em regras

Sistemas baseados em planejamento

Algoritmos Genéticos

Redes Neurais Aula 2

Padrões de Movimento

Perseguição e Fuga

Basico

Line of Sight

Interceptacao

(30)

Maquinas de estado Finito

FSM, ou Finite State Machine

O que é?

Uma máquina de estados é composta por um conjunto de estados (patrulhando,

rondando, parando, etc.) e um conjunto de regras de transição (tomei um tiro, vou

perseguir o agressor; estou sem energia,

vou buscar energia) entre estes estados. Determinística

Máquinas de Estados Determinísticas não permitem múltiplas transições de

um mesmo estado com a mesma entrada.

Não - Determinística

Máquinas de Estados Não-Determinísticas ao contrário, permitem essas transições.

(31)

Maquinas de estado Finito

FSM, ou Finite State Machine

Vantagens da FSM •Intuitivo; •Fácil implementação; •Fácil teste; •Flexível; •Representação realista de Comportamentos. Desvantagens da FSM •Comportamentos repetitivos e limitados;

•Número de transições da FSM cresce muito rápido com a complexidade do ambiente.

(32)

Lógica Nebulosa Fuzzy

A lógica fuzzy permite representar valores como “pouca comida”, “muito perto”, e outros eventos não contáveis (ou imprecisos) num sistema

computacional que, usando lógicas clássicas, onde os únicos valores são zero e 1, não conseguiriam representar.

O conhecimento é representado por um conjunto que contém valores numéricos, que podem representar melhor uma emoção humana.

Ex: eu tenho um personagem “muito feliz”, ele é do conjunto feliz e pode receber 9 (numa contagem de 0 a 10) e eu posso ter um personagem

“nada feliz” com valor 1.

se a bola está próxima ao gol e o goleiro está um pouco afastado chute a bola com força mediana.

(33)

Misturando as duas técnicas

FUZZY + FSMs = FuSMs

Vantagens

• Possibilidade de criação de personagens “razoavelmente inteligentes” e que erram

Desvantagens

(34)

Sistemas baseados em regras

O que é?

É um conjunto de parâmetros e um conjunto de regras que trabalham sobre estes parâmetros, de modo que durante a tomada de decisão, essas regras são então

processadas.

• técnicas mais simples utilizadas em jogos

• reações “instintivas”, ativadas por conjuntos de condições do ambiente • utilizam, geralmente, lógica proposicional estruturada em condições if-

then-else:

Se <unidade_A> ataca <unidade_B> então <unidade_B> dispara

(35)

Sistemas baseados em planejamento

O que é?

O planejamento de IA aplicado a jogos digitais é o armazenamento de “planos de ação” e fazer com que o personagem escolha o plano mais adequado numa determinada situação. Também pode permitir ao personagem decidir qual estratégia ele pode utilizar (além do próprio personagem criar a sua estratégia)

Vantagens

• Ações do personagem não são tão repetitivas

Desvantagens

(36)

Algoritmos Genéticos

O que são ?

São algoritmos que simulam a seleção natural proposta por Darwin na genética, ou seja, a estrutura pode evoluir e entrar em mutação, para executar com uma melhor performance.

É algo similar à experiência em jogos de RPG, onde o personagem pode evoluir, ganhar mais atributos e poderes que podem ajudar em níveis mais avançados do game.

Vantagens

• Possibilidade de criar diversas variações baseadas em um design inicial, ampliando as potencialidades do mesmo;

• Otimiza o tempo de criação do jogo (caso certo jogo tenha muitas

variações de adversários;

• Quanto à própria Inteligência Artificial do jogo (o jogador pode encontrar

adversários diferentes, aumentando a diversão do game)

(37)

Características

•metáfora do processo de seleção natural

(evolução biológica);

•indivíduos, soluções, etc., codificados em “DNA”;

•operadores genéticos(cruzamento, mutação);

•algoritmo baseado em populações;

•os mais adaptados sobrevivem e passam os seus

“genes” às próximas gerações;

(38)

Etapas

1) Inicialização: modo de codificar os

cromossomos,maneira simples,utilizando um vetor de caracteres; cada índice do vetor pode representar uma característica do ambiente

externo e o valor contido nesta posição representa a ação que a criatura deverá executar.

ex: Suponha que a população de criaturas controladas pelo computador tenham que

responder de acordo com a arma em uso pelo jogador (espada, arco, lança e machado), e as respostas possíveis são: usar Escudo (1), ataqueComEspada (2), fugir (3), esconder (4) e ataqueComArco (5).

Arma Espada Arco Lança Machado Ação [1..5] [1..5] [1..5] [1..5]

(39)

Etapas

2) Validação da aptidão: avaliar quais indivíduos da

população são os mais aptos,utiliza-se uma

função de avaliação de aptidão (função fitness).

ex: Para o exemplo, uma boa função avaliação é contabilizar a diferença entre

o dano que a criatura causou ao jogador e o dano recebido. As criaturas com a

maior aptidão segundo esta função terão a maior probabilidade de passar seus

(40)

Etapas

3) Seleção: aplicação da função de avaliação de

aptidão para selecionar indivíduos que participarão do processo evolucionário. Vida real, dois pais contribuem.

Mundo dos jogos, qualquer número dentre os melhores indivíduos.

(41)

Etapas

4) Evolução: criados os novos indivíduos e

introduzidos no ambiente do jogo.São selecionados os melhores indivíduos e

combinados seus genesno processo de crossover. Aqui também são introduzidas mutações

aleatórias.Observe a tabela abaixo.

1 Usar Escudo

2 ataqueComEspada

3 fugir

4 esconder

(42)

Redes Neurais

O que são?

São redes computadorizadas onde a sua estrutura é similar a um cérebro humano, tendo nós de rede (neurônios) e conexões entre os nós.

As redes devem ser treinadas para adquirir conhecimento (backpropagation, RBF, etc.)

Vantagens

• a rede pode aprender e armazenar conhecimento para uso posterior.

(43)

Padrões de Movimento

•Galaga é o exemplo clássico ... e antigo •Atualmente:

–RPG/FPS: patrulhamento

–Combate aéreo: manobras evasivas ou de ataque

–NPCs e personagens secundários, impressão de estarem: vagando, se alimentando ou realizando uma tarefa

(44)

Padrões de Movimento

Implementação

•codificar os padrões em um array ou conjunto de arrays

(45)

Padrões de Movimento

•algoritmo simples

•implementação varia com estrutura do jogo

•regra geral é ter vários padrões em arrays distintos

–IA seleciona padrões aleatoriamente ou baseado em alguma regra

(46)

Perseguição e Fuga

Método Básico

•entradas: coordenadas da presa e do predador

•atualização das coordenadas do predador no game loop:

se predadorX > presaX

predadorX = predadorX-1 senão se predadorX < presaX predadorX = predadorX+1

•atualização das coordenadas da presa no game loop:

se presaX > predadorX presaX = presaX+1

(47)

Perseguição e Fuga

Método Básico

vantagens

•fácil implementação •fácil teste

•baixa complexidade (pouco uso de CPU)

desvantagens

•movimentos muito mecânico •perseguição não eficiente

•não permite interceptação Obs.

cenários discretos (tiled): implementação específica - algoritmo de Bresenham

(48)

Perseguição e Fuga

Linha de Vista (Line-of-Sight)

•predador sempre se move em direção à posição da presa •recálculo é necessário quando a presa se move

(49)

Perseguição e Fuga

Linha de Vista (Line-of-Sight)

(50)

Perseguição e Fuga

Linha de Vista (Line-of-Sight)

vantagens

• movimento mais natural

desvantagens

• implementação mais difícil

• predador acaba sempre atrás da presa

• ou passa a trajetória (predador mais rápido) –pode se prevenido (controle de velocidade)

(51)

Perseguição e Fuga

Interceptação

• predador sempre se move em direção à futura posição da presa

• quanto tempo é futuro? ...

• depende da velocidade relativa entre presa e predador • depende da distância relativa entre presa e predador

(52)

Perseguição e Fuga

Interceptação

• mais física ...

• velocidade relativa

Vrel = Vpresa - Vpredador • distância relativa

Srel = Spresa - Spredador • tempo para o encontro

tenc = |Srel|/|Vrel|

• posição do encontro

Senc = Spresa + (Vpresa)*(tenc)

(53)

Perseguição e Fuga

Interceptação

vantagens

• movimento mais natural

• tempo/trajetória de caça menor

desvantagens

•nem sempre interceptação é possível –predador mais lento do que a presa –predador acaba na frente da presa

Obs.

cenários discretos(tiled):implementação específica - algoritmo de Bresenham

Referências

Documentos relacionados

Desta maneira, aparente- mente, o pólen é transferido das flores esta- minadas das inflorescências na condição bis- sexual para os estigmas das inflorescências, na

5. Cálculo dos impostos: por serem retidos na fonte, não há necessidade do investidor ficar efetuando cálculos e nem se preocupar em ter de recolher o imposto. Investir

Anal lobe squat, bare, with three macrosetae each subequal in length to anal lobe (B. andinus), or two macrosetae with one longer, one fine and shorter (B. Male genital sac

É importante ressaltar também que ocorre uma estreita relação entre a situação topográfica na qual o sítio urbano está inserido e a formação de campos

Este trabalho tem como objetivo construir uma análise comparativa dos programas de formação continuada dos especialistas diretores de escola, assistentes de diretor de

Results of MnP activities in B&amp;K medium, after 7 days of incubation in the presence of inductors, suggest that the production of this enzyme in medium with glucose

Mova a alavanca de acionamento para frente para elevação e depois para traz para descida do garfo certificando se o mesmo encontrasse normal.. Depois desta inspeção, se não

A espectrofotometria é uma técnica quantitativa e qualitativa, a qual se A espectrofotometria é uma técnica quantitativa e qualitativa, a qual se baseia no fato de que uma