INF 1771 Inteligncia Artificial
Edirlei Soares de Lima
Aula 19 Inteligncia Artificial em Jogos
Introduo
Surgiu com a criao dos primeiros jogos (Pac-Man, Space Invaders...).
No inicio:
Regras simples, sequencias pr-definidas de aes, tomada de deciso aleatria.
Introduo
Atualmente: Melhoras em grficos e som so pouco
notadas.
Ambiente visual j est suficientemente complexo.
Foco agora est no gameplay, na jogabilidade e na inteligncia artificial.
Personagens devem ser to bons quanto oponentes humanos.
Introduo
Industria vs Academic/Research
Iluso de Inteligncia
No se espera criar unidades inteligentes, mas sim criar uma iluso de inteligncia.
Em outras palavras, espera-se criar comportamentos que imitem comportamentos humanos.
Roubar ou no roubar?
Percepo semelhante a dos humanos?
Princpios de Design
NPCs devem gerar uma experincia divertida para o jogador e no para o programador.
No meio acadmico so criados programas para superar o usurio (derrotar o jogador).
Meta da inteligncia artificial para jogos no vencer o jogador. O objetivo dar ao jogador desafios e diverso!
Todo jogador deve ser capaz de superar os desafios do jogo.
Princpios de Design
Humanos no gostam de jogar se esto perdendo.
O jogo deve ser agradvel para todos os nveis de habilidade.
Deve-se evitar excessos nos graus de dificuldade (muito fcil ou muito difcil).
O ideal ajustar dinamicamente a dificuldade dos desafios dependendo do jogador.
Princpios de Design
Deve-se usar mtricas para medir o desempenho do jogador para um ajuste dinmico de dificuldade.
Tempo em cada nvel, nmero de vidas
perdidas, grau de dano
Deve-se evitar que o jogador descubra mtrica e tente engana-la.
O jogador quer derrotar tudo e todos na sua primeira tentativa dando o melhor de si.
Princpios de Design
Todos os NPCs trapaceiam, mas o jogador no pode perceber.
No existe tecnologia para NPCs serem justos. Os NPCs devem ser simples (mais baratos e realistas).
Jogador deve entender a o que os NPCs esto fazendo. O importante parecer inteligente.
NPC s ganha vida quando o Jogador o entende.
Criando Erros Intencionalmente
O que torna um jogo divertido no corresponde necessariamente criao de NPCs mais espertos.
Criar um personagem que possa vencer um humano fcil. O difcil fazer um que perca para um humano em uma batalha desafiadora.
Princpios:
Mova antes de atirar
Seja visvel
Tenha uma pssima mira
Erre o primeiro tiro
Ataques individuais
Adio de vulnerabilidades
Criando Erros Intencionalmente
Mova-se antes de atirar! Seja visvel!
O jogador deve ter a chance de ver os inimigos. O movimento dos inimigos uma tima forma de
deixar claro a existncia deles para o jogador.
Tenha uma pssima mira!
Os NPCs poderiam acertar todos os tiros no jogador, mas isso poderia mata-lo em uma frao de
segundos. Deve existir uma porcentagem de erro dos disparos. Jogadores gostam de ver balas passando prximas a sua cabea ou batendo em paredes prximas.
Erre o primeiro tiro
Nenhum jogador gosta de morrer sem pelo menos saber quem o acertou. Por isso, sugerido que o
primeiro tiro erre o jogador, ou acerte em algum lugar prximo a ele, de modo a alerta-lo.
Criando Erros Intencionalmente
Ataques individuais
Em situaes onde existem muitos oponentes simultneos deve-se fazer com que poucos inimigos
ataquem o jogador a cada momento. Ou mais especificamente, que ocorra um revezamento de quem ataca.
Adio de vulnerabilidades
Todos os NPCs devem ter algum tipo de vulnerabilidade que possa ser explorada pelo jogador. Mas
deve-se tomar cuidado para que vulnerabilidade no comprometa completamente os NPCs quando o jogador a descobrir.
Tcnicas Mais Usadas
Tcnicas mais comuns:
Waypoints e Pathfinding (Busca de Caminho com A*);
Mquinas de Estados Finitos (FSM - Finite-State Machine);
Aprendizado de Mquina Simplificado;
Sistemas de Gatilhos (Trigger Systems);
Previso de Trajetria (jogos de esporte);
Incerteza com N-Gram.
Leitura Complementar
Millington, I.; Funge, J.: Artificial Intelligence for Games, 2nd Ed., Morgan Kaufmann, 2009.