Buscar

IA e Jogos - Desafios da Game IA

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 34 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 34 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 34 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

IA e Jogos - Jamisson Freitas
IA e Jogos
Jamisson Freitas (James)
profjamissonfreitas@gmail.com
1
mailto:profjamissonfreitas@gmail.com
IA e Jogos - Jamisson Freitas
Apresentação
● Jamisson Freitas (James)
● Doutorando em Ciência da Computação 
(Cin-UFPE)
● Data Science Manager na Passei Direto
● Co-fundador da WeUp.ai
● Professor e Tutor em cursos de Graduação 
e Pós-Graduação
2
IA e Jogos - Jamisson Freitas
Conteúdo
● Game AI
● Inteligência artificial e Jogos Digitais
● Agentes Inteligentes
● Aplicações
● Técnicas
● Motores de Jogos
● Projeto
3
IA e Jogos - Jamisson Freitas
Referências
4
IA e Jogos - Jamisson Freitas
Desafios da Game AI
5
IA e Jogos - Jamisson Freitas
Velocidade x Memória
● A maior restrição ao trabalho do desenvolvedor de AI são as 
limitações físicas da máquina do jogo. 
● A Game AI não tem o luxo de dias de tempo de 
processamento e gigabytes de memória.
6
IA e Jogos - Jamisson Freitas
Velocidade x Memória
● Os desenvolvedores geralmente trabalham com um 
orçamento de velocidade e memória para sua IA.
● Motivo pelo qual novas técnicas de inteligência artificial 
não alcançam amplo uso é o tempo de processamento ou os 
requisitos de memória. 
7
IA e Jogos - Jamisson Freitas
Problemas no processador
● Velocidade do processador disponível;
● Tendência de mover mais funções para a GPU (detecção de 
colisão, animação entre outros);
● Crescimento do tempo de processamento da IA (20% a 50% 
em alguns casos);
8
IA e Jogos - Jamisson Freitas
Problemas no processador
● Muitos algoritmos de IA demoram muito tempo de 
execução (principalmente para tomada de decisão e 
estratégia);
● Um pathfinding abrangente pode levar dezenas de 
milissegundos por personagem. Como ficaria um RTS com 
1000 personagens?
9
IA e Jogos - Jamisson Freitas
SIMD
● O SIMD é um método de operação de computadores com 
várias unidades operacionais em computação paralela. 
● Uma mesma instrução é aplicada simultaneamente a 
diversos dados para produzir mais resultados. 
● Adequado para o tratamento de conjuntos regulares de 
dados, como as matrizes e vetores. 
10
IA e Jogos - Jamisson Freitas
SIMD
● Se cada personagem precisa calcular a distância euclidiana 
para o inimigo mais próximo e a direção para fugir, a AI 
pode ser escrita para realizar o cálculo dos personagens ao 
mesmo tempo.
11
IA e Jogos - Jamisson Freitas
SIMD
● Em consoles, o SIMD pode ser executado em uma unidade 
de processamento conceitualmente separada.
● Nesse caso, a comunicação entre a CPU principal e as 
unidades SIMD, bem como o código adicional para 
sincronizar sua operação, pode muitas vezes eliminar a 
vantagem de velocidade de paralelizar uma seção de código.
12
IA e Jogos - Jamisson Freitas
Processamento Multi-Core e Hyper-Threading
13
IA e Jogos - Jamisson Freitas
Processamento Multi-Core e Hyper-Threading
● Vários caminhos de execução ativos ao mesmo tempo.
● Código é passado para o processador, dividindo-se em 
vários pipelines que executam em paralelo. 
● Os resultados de cada pipeline são então recombinados no 
resultado final do código original. 
14
IA e Jogos - Jamisson Freitas
Processamento Multi-Core e Hyper-Threading
● Hyper-threading é uma marca registrada da Intel para usar 
a natureza super-escalar do processador para enviar 
diferentes threads para diferentes pipelines. 
● Os processadores nos consoles recentes (PlayStation 3, 
Xbox 360 e assim por diante) são todos multi-core.
15
IA e Jogos - Jamisson Freitas
Processamento Multi-Core e Hyper-Threading
● Em algumas plataformas (PCs baseados em Intel, por 
exemplo), este recurso requer uma chamada de função 
adicional para configuração;
● Em outros (PlayStation 3, por exemplo), precisa ser 
pensado cedo e ter todo o código AI estruturado em 
conformidade.
16
IA e Jogos - Jamisson Freitas
Funções virtuais/ Indirection (dereferenciamento)
● Trade-off: flexibilidade x chamadas de funções
● Chamada de função convencional → o código da máquina 
contém o endereço do código onde a função é 
implementada. 
17
IA e Jogos - Jamisson Freitas
Funções virtuais/ Indirection (dereferenciamento)
● O processador salta entre locais na memória e continua o 
processamento no novo local (depois de executar várias 
ações para garantir que a função possa voltar para o lugar 
certo). 
● A lógica do processador superescalar é otimizada para isso e 
pode prever, até certo ponto, como o salto ocorrerá.
18
IA e Jogos - Jamisson Freitas
Funções virtuais/ Indirection (dereferenciamento)
● Nas chamadas indiretas de funções o processador busca o 
conteúdo do local da memória e, em seguida, pula para o 
local especificado. 
● O processador não pode prever para onde está indo → fica 
parado, espera que todos os pipelines terminem o que estão 
fazendo e, em seguida, continua de onde parou.
19
IA e Jogos - Jamisson Freitas
Funções virtuais/ Indirection (dereferenciamento)
● No desenvolvimento de jogos → evitar chamadas de função 
desnecessárias de qualquer tipo, particularmente chamadas 
de função indireta
● Funções virtuais → flexibilidade (funcionamento em 
muitas situações diferentes)
20
IA e Jogos - Jamisson Freitas
Restrições de PC
● Os PCs são as máquinas de jogos mais poderosas e mais 
fracas. 
● Eles podem ser frustrantes para desenvolvedores por causa 
de sua falta de consistência.
21
IA e Jogos - Jamisson Freitas
Restrições de PC
● Console → um hardware
● PC → Diversas configurações de hardware:
○ Interfaces de programação de aplicativos (APIs), como 
o DirectX, isolam o desenvolvedor de ter que 
direcionar hardware específico; 
○ O jogo ainda precisa detectar o suporte e a velocidade 
dos recursos e ajustá-los adequadamente.
22
IA e Jogos - Jamisson Freitas
Restrições de PC - Máquina de baixa especificação
● Em gráficos:
● Desativamos os recursos avançados de renderização.
● Um algoritmo de sombra mais simples pode ser usado, 
ou os pixel shaders podem ser substituídos por textura 
simples mapeamento. 
● Uma mudança na sofisticação gráfica geralmente não 
altera o jogo.
23
IA e Jogos - Jamisson Freitas
Restrições de PC - Máquina de baixa especificação
● E a IA?
24
IA e Jogos - Jamisson Freitas
Restrições de PC - Máquina de baixa especificação
● E a IA?
● Se a IA tiver menos tempo para trabalhar, como ela 
deve responder?
25
IA e Jogos - Jamisson Freitas
Restrições de PC - Máquina de baixa especificação
● E a IA?
● Se a IA tiver menos tempo para trabalhar, como ela 
deve responder? Pode tentar executar menos trabalho. 
● Isto é efetivamente o mesmo que ter um IA mais 
estúpida e pode afetar o nível de dificuldade de
o jogo.
26
IA e Jogos - Jamisson Freitas
Restrições de PC - Máquina de baixa especificação
● E a IA?
● Provavelmente não é aceitável para sua equipe de 
garantia de qualidade (QA) ou editor ter
seu jogo seja muito mais fácil em máquinas com 
especificações mais baixas. 
27
IA e Jogos - Jamisson Freitas
Restrições de PC - Máquina de baixa especificação
● E a IA?
● Se o mesmo trabalho levar mais tempo → taxa de 
quadros menor ou mais quadros entre os personagens 
tomando decisões. 
● Personagens lentos para reagir → mais fáceis
para jogar contra e pode causar os mesmos problemas 
com o controle de qualidade.
28
IA e Jogos - Jamisson Freitas
Restrições de PC - Máquina de baixa especificação
● E a IA?
● A solução usada pela maioria dos desenvolvedores é 
direcionar a AI ao menor denominador comum: a 
máquina de especificação mínima listada no documento 
de design técnico.
29
IA e Jogos - Jamisson Freitas
Restrições de PC - Máquina de baixa especificação
● E a IA?
● Em muitos IA escalável é viável. 
● Muitos usam IA para controlar personagens ambientais: 
○ pedestres caminhando pela calçada, 
○ membros da multidão aplaudindo uma corrida 
ou bandos de pássaros no céu. 
● Tempo de processamento → mais personagens podem 
ser usado
30
IA e Jogos - Jamisson FreitasRestrições de Console
● Mais simples → hardware previsível
● Sem mudanças de hardware ou atualizações de API
● Os consoles portáteis geralmente ficam entre 5 e 10 anos de 
defasagem dos recursos dos consoles de tamanho normal
31
IA e Jogos - Jamisson Freitas
Referências
32
IA e Jogos - Jamisson Freitas
Referências
● Programming Game AI by Example. Mat Buckland. 
● Artificial Intelligence for Games. Ian Millington, John 
Funge.
33
IA e Jogos - Jamisson Freitas
Links
https://meiobit.com/310886/deepmind-google-inteligencia-artificial-jogos-atari/
https://www.maxwell.vrac.puc-rio.br/7861/7861_3.PDF
https://www.red3d.com/cwr/boids/
https://www.youtube.com/channel/UCC0RqWklkXJwAd_HIsxRZDg
https://github.com/idmillington/aicore
34
https://meiobit.com/310886/deepmind-google-inteligencia-artificial-jogos-atari/
https://www.maxwell.vrac.puc-rio.br/7861/7861_3.PDF
https://www.red3d.com/cwr/boids/
https://www.youtube.com/channel/UCC0RqWklkXJwAd_HIsxRZDg
https://github.com/idmillington/aicore

Outros materiais