Baixe o app para aproveitar ainda mais
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 Model of Game AI 5 IA e Jogos - Jamisson Freitas Modelo ● Movimento ● Tomada de decisão ● Estratégia ● Infraestrutura ● IA baseada em agentes 6 IA e Jogos - Jamisson Freitas IA Model 7 IA e Jogos - Jamisson Freitas Movimento 8 IA e Jogos - Jamisson Freitas Movimento ● Algoritmos transformam decisão em movimento; Atacar envolve um conjunto de movimentos: ● Evitar obstáculos; ● Entrar e sair de salas/ ambientes/ corredores; 9 IA e Jogos - Jamisson Freitas Movimento BOTs se movendo 10 http://www.youtube.com/watch?v=676BWeinoGM IA e Jogos - Jamisson Freitas Movimento BOTs copiando o movimento do jogador 11 http://www.youtube.com/watch?v=vUUUUgSO_8Q IA e Jogos - Jamisson Freitas Movimento ● No The Sims, se o personagem está sentado ao lado mesa com comida na frente dele e quer disparar a ação de comer, então a animação comendo é simplesmente “disparada”. 12 IA e Jogos - Jamisson Freitas Movimento ● Se o mesmo personagem estiver na porta dos fundos quando ele quiser comer, no entanto, o movimento AI precisa guiá-lo até a cadeira (ou a alguma outra fonte próxima de comida). 13 IA e Jogos - Jamisson Freitas Tomada de Decisão 14 IA e Jogos - Jamisson Freitas Tomada de decisão ● Envolve no personagem ou elemento do jogo processar o que fazer em seguida. Normalmente, cada personagem tem uma gama de comportamentos diferentes: ○ atacar, ○ ficar parado, ○ se esconder, ○ explorar (...) 15 IA e Jogos - Jamisson Freitas Tomada de decisão ● O sistema de tomada de decisão precisa descobrir qual desses comportamentos é o mais apropriado em cada momento do jogo. 16 IA e Jogos - Jamisson Freitas Tomada de decisão ● Zelda, regras simples: ● Animais da fazenda ficam paradas a menos que o jogador se aproxime demais, então eles se afastam um pouco. 17 IA e Jogos - Jamisson Freitas Tomada de decisão ● No Half-life, os inimigos demonstram tomada de decisão complexa. ● Tentam diversas estratégias diferentes para alcançar o jogador: encadear ações intermediárias como lançar granadas e colocar fogo de supressão em ordem para alcançar seus objetivos. ● ● ● Inimigos e danos: https://www.youtube.co m/watch?v=Teux8wQI6 NQ ● 18 https://www.youtube.com/watch?v=Teux8wQI6NQ https://www.youtube.com/watch?v=Teux8wQI6NQ https://www.youtube.com/watch?v=Teux8wQI6NQ IA e Jogos - Jamisson Freitas Tomada de decisão ● Inimigos e danos: https://www.youtube.com/w atch?v=Teux8wQI6NQ ● Algumas decisões podem requerer AI de movimento para realizá-las. Uma ação de ataque corpo a corpo (mão a mão) exigirá que o personagem se aproxime de sua vítima. 19 https://www.youtube.com/watch?v=Teux8wQI6NQ https://www.youtube.com/watch?v=Teux8wQI6NQ IA e Jogos - Jamisson Freitas Estratégia 20 IA e Jogos - Jamisson Freitas Estratégia ● É possível percorrer um longo caminho com o movimento AI e a tomada de decisão AI. ● A maioria dos jogos 3D baseados em ação usa apenas esses dois elementos. ● Todavia, para coordenar uma equipe inteira, é necessária alguma IA de estratégia. 21 IA e Jogos - Jamisson Freitas Estratégia 22 IA e Jogos - Jamisson Freitas Estratégia ● No nosso contexto, estratégia refere-se a uma abordagem geral usada por um grupo de personagens. ● Há algoritmos de IA que não controlam apenas um personagem, mas influenciam o comportamento de um conjunto inteiro de caracteres. 23 IA e Jogos - Jamisson Freitas Estratégia ● Cada personagem do grupo pode (e normalmente irá) ter seus próprios algoritmos de tomada de decisão e movimento, mas no geral, sua tomada de decisão será influenciada por uma estratégia de grupo. 24 IA e Jogos - Jamisson Freitas Estratégia ● O original Half-Life [Valve, 1998], os inimigos trabalhavam em equipe para cercar e eliminar jogador. 25 IA e Jogos - Jamisson Freitas Estratégia ● Jogos como o Ghost Recon de Tom Clancy [Red Storm Entertainment, Inc., 2001] utilizam a mesma ideia e estão em crescente sofisticação nos tipos de ações estratégicas que uma equipe de inimigos pode realizar 26 IA e Jogos - Jamisson Freitas Infraestrutura 27 IA e Jogos - Jamisson Freitas Infraestrutura ● Os algoritmos de IA por si só são apenas parte do trabalho. ● Para realmente criar IA para um jogo, precisamos de todo um conjunto de infraestrutura adicional. ● As requisições de movimento precisam se transformar em ação no jogo usando animação ou, cada vez mais, simulação física. 28 IA e Jogos - Jamisson Freitas Infraestrutura ● A IA precisa de informações do jogo para tomar decisões sensatas. ● Na IA acadêmica é conhecido como “percepção”: descobrir quais informações o personagem conhece. ● Na prática, é muito mais que apenas simular o que cada personagem pode ver ou ouvir, mas inclui todas as interfaces entre o mundo do jogo e a AI. 29 IA e Jogos - Jamisson Freitas IA baseada em Agentes 30 IA e Jogos - Jamisson Freitas IA baseada em agentes ● Consiste na produção de elementos autônomos que coletam informações dos dados do jogo, determinam quais ações executar com base nas informações e executam essas ações. 31 IA e Jogos - Jamisson Freitas IA baseada em agentes ● Projeto Button-Up: ● Se inicia trabalhando como cada personagem se comporta e implementando a IA necessária para suportar isso. 32 IA e Jogos - Jamisson Freitas IA baseada em agentes ● Projeto Button-Up: ● O comportamento geral de todo o jogo é simplesmente uma função de como os comportamentos dos personagens individuais funcionam juntos. 33 IA e Jogos - Jamisson Freitas IA baseada em agentes ● Projeto Button-Up: ● Os dois primeiros elementos do modelo de IA que usamos, movimento e tomada de decisão, compõem o AI para um agente no jogo. 34 IA e Jogos - Jamisson Freitas IA não baseada em agentes ● Busca descobrir como tudo deve agir a partir de uma análise Top-down e constrói um sistema único para simular tudo. 35 IA e Jogos - Jamisson Freitas IA não baseada em agentes ● No GTA 3, o tráfego geral e os fluxos de pedestres são calculados com base na hora do dia e na região da cidade e só são transformados em carros e pessoas individualmente quando o jogador pode vê-los. ● A distinção é nebulosa, no entanto. 36 IA e Jogos - Jamisson Freitas IA não baseada em agentes https://www.youtube.com/watch?v=-GHFk0OGMq4 37 https://www.youtube.com/watch?v=-GHFk0OGMq4 http://www.youtube.com/watch?v=-GHFk0OGMq4 IA e Jogos - Jamisson Freitas IA não baseada em agentes ● Analisaremos as técnicas de nível de detalhe que estão muito top-down, enquanto a maior parte da IA do personagem é baseado em button-up. ● Um bom desenvolvedor de IA irá misturar e combinar quaisquer técnicas confiáveis que façam o trabalho, independentemente da abordagem. 38 IA e Jogos - Jamisson Freitas Reflexões 39 IA e Jogos - Jamisson Freitas Sobre a complexidade ● Quanto mais complexa for a IA num jogo, melhor será a aparência dos personagens para o jogador? 40 IA e Jogos - Jamisson Freitas A falácia da complexidade ● Uma boa AI consiste em combinar os comportamentos certos com os algoritmos certos. ● Existem inúmeras técnicas, e o correto nem sempre é a escolha mais óbvia. ● Técnicas muito simples usada da maneiracorreta podem ser perfeitas. 41 IA e Jogos - Jamisson Freitas A falácia da complexidade Tutorial: https://www.youtube.com/watch?v=Ps-s2GIcBc0 ● Black & White ● Combina elementos de vida artificial e estratégia; ● O jogo envolve ensinar a um personagem o que fazer por uma combinação de exemplo e feedback; 42 https://www.youtube.com/watch?v=Ps-s2GIcBc0 http://www.youtube.com/watch?v=Ps-s2GIcBc0 IA e Jogos - Jamisson Freitas A falácia da complexidade Tutorial: https://www.youtube.com/watch?v=Ps-s2GIcBc0 ● Quando as pessoas jogam o jogo pela primeira vez, muitas vezes acabam inadvertidamente ensinando os maus hábitos às criaturas e acabam sendo incapazes de realizar até mesmo as ações mais básicas. 43 https://www.youtube.com/watch?v=Ps-s2GIcBc0 http://www.youtube.com/watch?v=Ps-s2GIcBc0 IA e Jogos - Jamisson Freitas Game Black & White ● Ao prestar mais atenção em como a criatura funciona, os jogadores são capazes de manipulá-la melhor, mas a ilusão de ensinar uma criatura real pode desaparecer. ● A versão de IA complexa nunca chegou ao jogo final; ● É uma tentação perene para os desenvolvedores usarem as técnicas mais recentes e os algoritmos mais badalados para implementar sua IA. 44 IA e Jogos - Jamisson Freitas Falácia da complexidade ● No final do desenvolvimento, quando uma IA de aprendizagem ainda não consegue aprender como dirigir um carro em uma pista sem sair de carro a cada curva, os algoritmos mais simples invariavelmente vêm em socorro e fazem parte do lançamento do jogo. 45 IA e Jogos - Jamisson Freitas Janela de percepção ● A menos que sua IA esteja controlando um parceiro sempre presente ou um inimigo um-a-um, é provável que seu jogador encontre um personagem por um curto período de tempo. 46 IA e Jogos - Jamisson Freitas Janela de percepção ● Quando dimensionamos alguém na vida real, naturalmente nos colocamos no lugar deles. ○ Nós olhamos para o seu entorno, a informação que eles estão colhendo de seu ambiente, e as ações que estão realizando. 47 IA e Jogos - Jamisson Freitas Janela de percepção ● Precisamos ter certeza de que a IA de um personagem corresponde à sua finalidade no jogo e à atenção que obterá do jogador. 48 IA e Jogos - Jamisson Freitas Janela de percepção ● +AI a personagens secundários → pode torná-lo mais valioso para o jogador raro que joga cada nível por várias horas, verificação de comportamento curioso ou bugs, mas todos os outros (incluindo o editor e a imprensa) pode pensar que sua programação foi desleixada. 49 IA e Jogos - Jamisson Freitas Mudanças de comportamento ● A janela da percepção não é apenas sobre o tempo. ● Vamos pensar nos fantasmas do Pac-Man novamente. 50 IA e Jogos - Jamisson Freitas Mudanças de comportamento - Pac-Man ● Eles podem não dar a impressão de senciência, mas não fazem nada fora do lugar. ● Isso ocorre porque eles raramente mudam de comportamento (a única ocasião sendo sua transformação quando o jogador “absorve” um power-up). Senciência é a capacidade dos seres de sentir sensações e sentimentos de forma consciente. 51 IA e Jogos - Jamisson Freitas Mudanças de comportamento ● Mudanças → alertas! (mudanças são mais perceptíveis que o próprio comportamento; ○ Ex: Dois guardas conversando entre si e você atirar um para baixo, o outro guarda não deve continuar a conversa! 52 IA e Jogos - Jamisson Freitas Mudanças de comportamento ● Uma mudança de comportamento quase sempre ocorre quando o jogador está próximo ou foi visto. ● Isso é o mesmo em jogos de plataforma e na estratégia em tempo real. ● Uma boa solução é manter apenas dois comportamentos para personagens secundários → uma ação normal e uma ação marcada pelo presença do jogador. 53 IA e Jogos - Jamisson Freitas Referências 54 IA e Jogos - Jamisson Freitas Referências ● Programming Game AI by Example. Mat Buckland. ● Artificial Intelligence for Games. Ian Millington, John Funge. 55 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 56 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
Compartilhar