inteligência artificial em jogos eletrônicos
DESCRIPTION
Apresentação sobre técnicas de Inteligência Artificial em Jogos Eletrônicos.TRANSCRIPT
![Page 1: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/1.jpg)
UNIVERSIDADE FEDERAL DA PARAÍBA
CENTRO DE CIÊNCIAS EXATAS E DA NATUREZA
Grupo: Bruno Marinho
Erisvaldo Júnior
Josemar Barrêto
Professora: Natasha Queiroz
![Page 2: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/2.jpg)
Objetivo ROTEIRO
Introduzir e demonstrar
as principais técnicas de
IA aplicadas em jogos
acadêmicos e comerciais.
Introdução
Técnicas de IA para jogos
Exemplos Práticos
Considerações Finais
O Estado da Arte
![Page 3: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/3.jpg)
![Page 4: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/4.jpg)
Inteligência Artificial em JogosExistem diversas interpretaçõespara o que é considerada IA nosjogos eletrônicos.
Utilizaremos uma definição ampla,considerando a Game AI uma"weak AI".
Pela nossa definição, qualquertécnica que forneça a ilusão deinteligência em um nívelapropriado, tornando o jogo maisimersivo, desafiador e divertido,será considerado Game AI.
Determinística X Não-Determinística
Principais Técnicas
O Futuro
![Page 5: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/5.jpg)
Determínistica X Não-Determinística
• Técnicas fáceis de implementar,
entender e testar;
• Rápidas, quando comparadas às
técnicas não-determinísticas;
• Previsíveis. Com o passar do
tempo, o jogador é capaz de prever
com exatidão o comportamento
do NPC, diminuindo a diversão e
longevidade do jogo.
• Técnicas difíceis de implementar,
entender e testar;
• Lentas, quando comparadas às
técnicas não-determinísticas;
• Imprevisíveis. O comportamento
do NPC pode variar de acordo com
as ações do jogador, aumentando
a diversão e longevidade do jogo.
![Page 6: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/6.jpg)
Principais Técnicas
• Cheating;
• Finite State Machines;
• Fuzzy Logic;
•Pathfinding;
• Rules-based AI Systems;
• A-Life techniques;
• Entre outras.
![Page 7: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/7.jpg)
O Futuro
• O próximo grande passo em IA
para jogos é o APRENDIZADO;
• Uso cada vez mais intensivo de IA
não-determinística;
• Foco maior na inteligência dos
jogos, já que a mesma não vem
acompanhando a notória evolução
nos gráficos.
• Alguns jogos comerciais, nos
últimos anos, destacaram-se por
uso de IA não-determinística,
marcando um novo patamar na IA
dos jogos eletrônicos, tais como:
Creatures, Black & White,
Battlecruiser 3000AD, Dirt Track
Racing, Fields of Battle e Heavy
Gear.
![Page 8: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/8.jpg)
![Page 9: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/9.jpg)
Chasing and Evading
• O problema de Chasing andEvading se divide em duas partes:primeiro, define-se qual dos dois sedeve fazer. Segundo, executa-se oalgoritmo responsável pelomovimento;
• Pode-se adicionar uma terceiraparte no problema, que é o desvio deobstáculos;
• Agora, focaremos na segunda partedo problema, que é efetuar, de fato,a perseguição ou fuga.
• Existem diversas formas de implementar
Chasing/Evading, da mais simples até a
mais complexa;
•Uma técnica de Chasing/Evading pode ser
implementada em um mundo contínuo ou
em um mundo tile-based, pouco diferindo
no código;
• Dependendo da necessidade do jogo,
escolhe-se a forma mais simples possível
que possa atender aquela situação
específica.
![Page 10: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/10.jpg)
Chasing and Evading
![Page 11: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/11.jpg)
Chasing and Evading
![Page 12: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/12.jpg)
Chasing and Evading
![Page 13: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/13.jpg)
Chasing and Evading
![Page 14: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/14.jpg)
Pattern Movement
• Muito utilizado para simularmovimentações complexas dosNPCs, mas que na verdade são pré-determinadas;
• A movimentação do NPC ocorresegundo um determinado padrãopreviamente definido;
• Utilizado na maioria dos jogos,dos mais simples aos maiscomplexos;
• Arrays de coordenadas podem ser
utilizados para definir as posições-chave do
movimento;
•Vários padrões podem ser carregados em
situações diferentes, fazendo com que a
movimentação fique variada e pareça de
grande complexidade;
• Pelo fato de ser uma técnica
determinística, pode se tornar previsível,
diminuindo a diversão e longevidade do
jogo.
![Page 15: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/15.jpg)
Pattern Movement
![Page 16: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/16.jpg)
Pattern Movement
![Page 17: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/17.jpg)
Basic Pathfinding andWaypoints
• Existem diversas técnicas dePathfinding e a utilização de uma delasdepende de uma série de fatores, taiscomo:
• O destino é estático oumóvel?
• Existem obstáculos nocaminho?
• Se existem obstáculos,esses obstáculos sãomóveis?
• Como é o terreno?
• O caminho mais curto ésempre a melhor solução?
• Para a maior parte dos problemas de
Pathfinding, existe um algoritmo
bastante conhecido, chamado A*;
•Em alguns casos, principalmente nos
mais simples, o A* não é a melhor
escolha. Esses casos serão abordados a
seguir.
![Page 18: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/18.jpg)
Basic Pathfinding andWaypoints
![Page 19: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/19.jpg)
Basic Pathfinding andWaypoints
![Page 20: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/20.jpg)
Basic Pathfinding andWaypoints
![Page 21: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/21.jpg)
Basic Pathfinding andWaypoints
![Page 22: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/22.jpg)
Basic Pathfinding andWaypoints
![Page 23: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/23.jpg)
Basic Pathfinding andWaypoints
![Page 24: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/24.jpg)
Basic Pathfinding andWaypoints
![Page 25: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/25.jpg)
Basic Pathfinding andWaypoints
![Page 26: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/26.jpg)
Scripted AI and Scripting Engines
• Tratam-se de linguagens deprogramação extremamente simples quesão utilizadas para moldar tarefasespecíficas do jogo;
• Podem ser utilizadas pelosdesenvolvedores no momento daprodução do jogo bem como porjogadores após o jogo ter sido lançado,visando a sua expansão;
• Pode utilizar uma linguagem de scriptapropriada, como Lua ou Python, ou teruma sintaxe específica para o jogo;
• Os scripts podem ser lidos e executados
quando o jogo for iniciado ou durante o
próprio jogo, quando um determinado
evento é acionado;
•Com os scripts, pode-se alterar atributos,
comportamentos e respostas dos NPCs,
bem como lidar com eventos do jogo;
•O jogo se torna extremamente expansível
e manutenível, podendo ser alterado
significativamente sem necessidade de se
desenvolver uma nova versão.
![Page 27: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/27.jpg)
Scripted AI and Scripting Engines
![Page 28: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/28.jpg)
Scripted AI and Scripting Engines
![Page 29: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/29.jpg)
FiniteState Machines
• Máquinas de Estados Finitos sãoestruturas lógicas compostas por umconjunto de estados e um conjuntode regras de transição entre essesestados;
• No caso dos jogos, são bastanteutilizadas para efetuar o controle docomportamento de agentesinteligentes;
• Os dados de entrada e saída, nessecaso, são eventos e outros sinaisimportantes do jogo;
![Page 30: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/30.jpg)
FiniteState Machines
![Page 31: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/31.jpg)
FiniteState Machines
![Page 32: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/32.jpg)
FiniteState Machines
![Page 33: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/33.jpg)
FiniteState Machines
Substituindo o estado “Atacando um Inimigo” pelos estados “Procurando Posição de Ataque”, “Desferindo Golpe” e “Esquivando”.
![Page 34: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/34.jpg)
FiniteState Machines
![Page 35: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/35.jpg)
FiniteState Machines
![Page 36: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/36.jpg)
Fuzzy Logic
• “A essência da lógica difusa é quetudo é uma questão de níveis” - LoftiZadeh, criador da teoria dos conjuntosdifusos.
•A lógica difusa procura estender alógica booleana, aplicando à ela níveisde verdade.
•Ao invés de 0 ou 1, verdadeiro oufalso, a lógica difusa afirma quetudo é verdade, no seu respectivonível.
•“Sistemas baseados em regras difusasrequerem de 50% a 80% menos regrasdo que sistemas baseados em regrastradicionais para efetuarem as mesmastarefas.” - Timothy Masters
Aplicações emjogos: Navegação de
unidades atravésde obstáculos,waypoints, etc.
Controle dedecisão.
![Page 37: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/37.jpg)
Fuzzy Logic
Etapas do processo de inferência de lógica difusa.
![Page 38: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/38.jpg)
Fuzzy Logic Primeira etapa (fuzzification):
Mapear os inputs com valores reais para inputs fuzzy, usandofunções de associação.
Exemplo: uma função de associação para o peso de umapessoa.
![Page 39: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/39.jpg)
Fuzzy Logic
Segunda etapa:
De posse dos inputs fuzzy, pode-se produzir algum output ouconclusão combinando certas regras (fuzzy rules).
Uso de axiomas fuzzy:
As regras geram níveis de verdade para cada conjunto deoutputs.
![Page 40: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/40.jpg)
Fuzzy Logic Segunda etapa (Exemplo):
Criatura de um jogo decide se deve atacar um jogador:
Variáveis de entrada: distância, saúde da criatura e ranking dojogador.
![Page 41: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/41.jpg)
Fuzzy Logic Segunda etapa (Exemplo):
Variáveis de saída (ações): fugir, atacar ou fazer nada.
Algumas possíveis regras:
Output gerado:
![Page 42: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/42.jpg)
Fuzzy Logic Terceira etapa (defuzzification):
Necessária quando se exige um resultado real de umprocessamento fuzzy.
Método simples: atribuir valores às variáveis de saída e calculara média ponderada.
Exemplo anterior: valor -10 para fugir, 1 para fazer nada e 10para atacar.
Resultado:
![Page 43: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/43.jpg)
Rule-BasedAI
Sistemas baseados em regras consiste em um conjunto de regras if-then que são usadas para fazer inferências e tomar decisões.
Possuem dois componentes:
Memória de trabalho;
Armazena fatos ou assertivas feitas pelas regras.
Memória de regras ou simplesmente regras.
Contém regras if-then que operam sobre os fatos armazenados na memória de trabalho.
![Page 44: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/44.jpg)
Rule-BasedAI Exemplo: descobrir árvore tecnológica de um oponente em um jogo de
estratégia.
Árvore tecnológica:
![Page 45: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/45.jpg)
Rule-BasedAI
Inferência pode ser de dois tipos:
Encadeamento para a frente (Forward chaining):
Fase 1: casamento de regras aos fatos atuais.
Fase 2: resolução de conflitos de regras.
Fase 3: executar a regra.
Encadeamento para trás (Backward chaining):
Ao invés de tentar casa a parte if das regras com os fatos, tenta-se casar a parte else.
A partir daí, tenta-se inferir quais regras foram acionadas para se atingir aquele fato.
É recursiva e de difícil implementação.
![Page 46: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/46.jpg)
Basic Probability
Usado para diversos fins em jogos:
Inserir aleatoriedade;
Calcular probabilidades de acerto, etc;
Definir habilidades de personagens;
Inserir probabilidades em transições de estado;
Adaptabilidade e tomada de decisões.
![Page 47: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/47.jpg)
Basic Probability Dado um evento E que possa ocorrer de n maneiras dentro de um experimento
que possui N resultados possíveis (espaço amostral N), define-se a probabilidadede E como:
P(E) = n/N
Propriedades:
0 <= P(A) <= 1;
Se A é o espaço amostral, então P(A) = 1;
P(A') = 1 – P(A);
Se A e B são mutuamente exclusivos, P(A U B) = P(A) + P(B);
Se A e B não são mutuamente exclusivos,
Probabilidade condicional:
Fórmula de Bayes:
![Page 48: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/48.jpg)
Bayesian Networks Grafos cujos nodos representam variáveis aleatórias e cujos elos representam
relações causais entre essas variáveis.
Exemplo:
![Page 49: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/49.jpg)
Bayesian Networks Exemplo de inferência usando rede bayesiana (NPC decidir se abre um baú em
procura de tesouro, dado que ele pode estar ou não fechado e/ou comarmadilha):
Usando a Fórmula de Bayes, tem-se que:
Rede Bayesiana
P(armadilha)
Verdadeiro Falso
PT 1 - PT
P(fechado | armadilha)
Armadilha Verdadeiro Falso
verdadeiro PLt 1 - PLt
falso PLf 1 - PLf
![Page 50: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/50.jpg)
Bayesian Networks Exemplo de inferência usando rede bayesiana (NPC decidir se abre um baú em
procura de tesouro, dado que ele pode estar ou não fechado e/ou com armadilha):
Digamos que um NPC tenha experimentado abrir 100 baús e obteveos seguintes resultados: 37 baús tinham armadilhas. Destes, 29estavam fechados. Dos 63 baús que não tinham armadilhas, 18estavam fechados. Temos então as seguintes probabilidades:
Então, se um NPC notar que o baú está fechado, temos a seguinteprobabilidade de que este baú contenha uma armadilha:
A inferência estatística melhora o palpite do NPC, simulando umaaprendizagem.
![Page 51: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/51.jpg)
Bayesian Networks
As tabelas de probabilidade crescemexponencialmente, de acordo com o número depossíveis valores das variáveis ou de acordo com onúmero de nodos parentes, tornado-ascomputacionalmente inviável.
Redes bayesianas para usos em jogosdevem ser simples.
![Page 52: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/52.jpg)
Neural Networks
Em termos intuitivos, Redes Neurais Artificiais(RNAs) são modelos matemáticos inspirados nosprincípios de funcionamento dos neurôniosbiológicos e na estrutura do cérebro.
Estes modelos têm capacidade de adquirir,armazenar e utilizar conhecimento experimental.Buscam simular computacionalmente habilidadeshumanas tais como aprendizado, generalização,associação e abstração.
![Page 53: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/53.jpg)
Neural NetworksESTRUTURA DE UMA REDE NEURAL
camada de entrada: em que as unidades recebem os padrões.
a camada intermediária: onde é feito processamento e aextração de características.
camada de saída: que conclui e apresenta o resultado final.Quanto maior o número de camadas, melhor a capacidade deaprendizado.
![Page 54: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/54.jpg)
Neural Networks
Aprendizagem de Estruturas de Redes NeuraisExistem, basicamente, 3 tipos de aprendizado nas redes neurais artificiais:
Supervisionado: neste tipo, a rede neural recebe um conjunto de entradaspadronizados e seus correspondentes padrões de saída, onde ocorremajustes nos pesos sinápticos até que o erro entre os padrões de saídagerados pela rede tenham um valor desejado;
Não-supervisionado: neste tipo, a rede neural trabalha os dados de forma adeterminar algumas propriedades dos conjunto de dados. A partir destaspropriedades é que o aprendizado é constituído;
Híbrido: neste tipo ocorre uma "mistura" dos tipos supervisionado e não-supervisionado. Assim, uma camada pode trabalhar com um tipo enquantooutra camada trabalha com o outro tipo.
![Page 55: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/55.jpg)
Neural Networks
Aplicações para Redes Neurais em Jogos
Na área de jogos e de sistemas derealidade virtual, as redes neuraisapresentam como característica principala capacidade de capturarcomportamentos e predisposições emdeterminados padrões.
![Page 56: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/56.jpg)
GeneticAlgorithms
•A idéia do desenvolvimento dos algoritmos genéticospartiu dos conhecimentos da biologia, através dateoria da evolução de Darwin, daí a denominaçãodesta abordagem de evolutiva;
•Nesta técnica, diversos indivíduos diferentes sãogerados aleatoriamente e somente os mais adaptadossobrevivem. O fundamento básico desta técnica é criarindivíduos, pontuá-los de acordo com suas ações e,após isso, escolher os mais aptos e fazer um“cruzamento”, gerando assim novos indivíduospossivelmente mais adaptados.
![Page 57: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/57.jpg)
GeneticAlgorithmsVantagens dos Algoritmos Genéticos
Uma de suas vantagens é a simplificação que permite naformulação e solução de problemas otimização. Algoritmosgenéticos normalmente com descrições de entradas formadaspor cadeias de bits de tamanho fixo.
Eles possuem um paralelismo implícito decorrente da avaliaçãoindependente de cada uma dessas cadeias de bits, ou seja,pode-se avaliar paralelamente a viabilidade de um conjunto deparâmetros para a solução do problema de otimização emquestão.
![Page 58: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/58.jpg)
GeneticAlgorithms
Algoritmos Genéticos x Mundo Real
A idéia por trás do algoritmogenético consiste em gerar,através de regras específicas, umgrande número de cromossomos(indivíduos), população, de formaa promover uma varredura tãoextensa quanto necessária doespaço de soluções. Valesalientar que cada cromossomocorresponde a um ponto noespaço de soluções do problemade otimização.
![Page 59: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/59.jpg)
GeneticAlgorithmsO Algoritmo dos algoritmos genéticos
A aptidão bruta é em seguida normalizada (aptidão normalizada), para permitirum melhor controle do processo de seleção. Como critérios de parada doalgoritmo em geral são usados a aptidão do melhor indivíduo em conjunto com alimitação do número de gerações. Outros critérios podem envolver, por exemplo,um erro abaixo de um valor especificado pelo projetista para um determinadoparâmetro do problema.
Observa-se que cada iteração do algoritmogenético corresponde à aplicação de um conjunto dequatro operações básicas: cálculo de aptidão (fitnessevaluation), seleção (selection), cruzamento (crossover) emutação (mutation). Ao fim destas operações cria-seuma nova população, chamada de geração (generation)que, espera-se, representa uma melhor aproximação dasolução (best solution) do problema de otimização que apopulação anterior. A população inicial é geradaatribuindo-se aleatoriamente valores aos genes (penseum gene como um repositório que armazena algo) decada cromossomo. A aptidão bruta de um indivíduo dapopulação é medida por uma função de erro, tambémchamada de função objetivo (fitness function) doproblema de otimização.
![Page 60: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/60.jpg)
GeneticAlgorithms
Algoritmos Genéticos em JogosInteressante em situações onde não é possível prever o comportamento do jogador;
É difícil criar NPCs para todas as situações;
Os NPCs se adaptam ao longo do jogo;
Inicia-se com uma população aleatória;
Os “melhores” irão sobreviver
Exemplo: Multiplayer RPG
O jogador escolhe seu personagem: cavaleiro, mágico, etc
O NPC tem que se adaptar para enfrentar o adversário
![Page 61: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/61.jpg)
![Page 62: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/62.jpg)
Pac-Man
Chasing andEvading
Finite StateMachine
Pathfinding
![Page 63: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/63.jpg)
Conceitos Geográficos
ENTIDADE
LIMITE E
LIMIAR
DENSIDADE
E INTENSIDADE
CLASSE
•O que é;
•Proposta;
•Objetivo.
SilvesterMob PONTOS CARDEAIS
Campo,
Planície,
Pântano e
Floresta
![Page 64: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/64.jpg)
Características do SilvesterMob
•Mapa com quatroáreas geográficas;
•NPCs inteligentes;
•Salvar jogo;
•Itens, Inimigos eSistema de Batalha.
Pântano Floresta
Campo Planície
![Page 65: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/65.jpg)
Desafios do SilvesterMob
•"Desculpe, mas você não podeentrar no Pântano sem botas.";
•"Vi um par de botas na Planície.Siga na direção noroeste";
•"Existe uma espada na direçãosudeste, no limite do rio";
•"Em que área existe umadensidade de árvores muitogrande?"
![Page 66: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/66.jpg)
Desenvolvimento do SilvesterMob
Diagrama de Classes
CLASSES DO JOGO
![Page 67: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/67.jpg)
![Page 68: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/68.jpg)
Desenvolvimento do SilvesterMob
Máquinas de Estados
INTELIGÊNCIA ARTIFICIAL
![Page 69: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/69.jpg)
Resultados do SilvesterMobINVENTÁRIO ÁREAS DO JOGO
![Page 70: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/70.jpg)
Resultados do SilvesterMobCASA 1 DO CAMPO VENDA DE ITENS
![Page 71: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/71.jpg)
Resultados do SilvesterMobCASA 2 DO CAMPO COMPRA DE ITENS
![Page 72: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/72.jpg)
SilvesterPEC
![Page 73: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/73.jpg)
![Page 74: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/74.jpg)
Linha do Tempo de IA em Jogos
![Page 75: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/75.jpg)
![Page 76: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/76.jpg)
Black & White (1 e 2)
![Page 77: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/77.jpg)
Spore
![Page 78: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/78.jpg)
The Sims 3
![Page 79: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/79.jpg)
The Sims 3
![Page 80: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/80.jpg)
GTA IV
![Page 81: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/81.jpg)
![Page 82: Inteligência Artificial em Jogos Eletrônicos](https://reader034.vdocuments.mx/reader034/viewer/2022052217/5579a0c8d8b42ac1148b47a9/html5/thumbnails/82.jpg)
Referências
(BOURG, 2004) Bourg, David. Seemann, Glenn. AI For Game Developers. O’REILLY. 2004.
(SCHWAB, 2004) SCHWAB, Brian. AI Game Engine Programming. Hingham: Charles River Media. 2004.