380 likes | 494 Views
Inteligência Artificial para Jogos. Inteligência Artificial para Jogos. Jorge Juan Zavaleta. MSc Área de Inteligência Artificial Programa de Engenharia de Sistemas e Computação – PESC/UFRJ - Universidade Estácio de Sá. Jorge Juan Zavaleta. MSc Área de Inteligência Artificial
E N D
Inteligência Artificial para Jogos Inteligência Artificial para Jogos Jorge Juan Zavaleta. MSc Área de Inteligência Artificial Programa de Engenharia de Sistemas e Computação – PESC/UFRJ - Universidade Estácio de Sá Jorge Juan Zavaleta. MSc Área de Inteligência Artificial Programa de Engenharia de Sistemas e Computação – PESC/UFRJ - Universidade Estácio de Sá
Introdução Definição Taxonomia IA para Jogos por Computador Jogos educacionais Roteiro Jorge Zavaleta, 2007
Introdução • Os jogos são parte da existência humana. • Uso livre e ambíguo do termo JOGO. • A definição de Jogos, permitira distinguir as características fundamentais de todos os jogos. Forma universal de recreação geralmente incluindo toda a atividade acoplada dentro para a diversão e freqüentemente estabelecendo uma situação que envolva uma competição ou uma rivalidade. Jorge Zavaleta, 2007
Definição de JC MUNDO VIRTUAL INTERAÇÂO Jorge Zavaleta, 2007
Definição de JC Um jogo por computador é um sistema formal baseado em regras e composto por um conjunto de cinco elemento (jogador, representação, regras, oponente, objetivo) e os relacionamentos entre eles. Jorge Zavaleta, 2007
Taxonomia Habilidade e Ação (H&A) Enfatizam a percepção e as habilidades motoras. JOGOS Estratégia Enfatizam o esforço cognitivo Jorge Zavaleta, 2007
Habilidade e Ação (H&A) COMBATE MAZE COMPETIÇÃO “PADDLE” ESPORTES Jorge Zavaleta, 2007
Estratégia AVENTURA GUERRA D&D Educacionais Probabilidades Jorge Zavaleta, 2007 I. Pessoais
IA para jogos por computador • A* • Máquinas de Estado Finito (FSM) • Agentes • Scripting • Flocking • Lógica Nebulosa • Redes Neurais (NN) • Algoritmos Genéticos Jorge Zavaleta, 2007
Algoritmo A* • A* é um algoritmo de busca heurística que utiliza como custo do caminho a soma das distâncias percorridas com as estimativas de distâncias restantes. • É um algoritmo que encontra o caminho de menor custo entre dois pontos, se ele existir! f(n)=g(n)+h(n) Jorge Zavaleta, 2007
A* - Exemplos Jorge Zavaleta, 2007
Máquinas de Estado Finito • A FSM são as mais usadas em jogos por computador antes que outras técnicas de IA. • Características: • Simplicidade para programar. • Facilidade na compreensão e depuração. • Custo computacional baixo. Jorge Zavaleta, 2007
Máquinas de Estado Finito • A idéia de usar uma FSM é dividir o comportamento dos objetos do jogo em estados lógicos, deste modo os objetos têm um estado lógico para cada tipo diferente do comportamento que exibe. • Número limitado de estados. • A FSM não sempre é ótima, mas fornece uma solução simples que funciona. Jorge Zavaleta, 2007
Máquinas de Estado Finito Enemy Nations Age of Empires Doom Quake Half-Life Jorge Zavaleta, 2007
Agentes • São agentes de software que percebem seu ambiente e agem no mesmo na busca de seus objetivos. • Exemplos: • Robôs autônomos num ambiente físico. • Agente de software com a Internet como seu ambiente. • Agentes de entretenimento. Jorge Zavaleta, 2007
Agentes • Os agentes integram geralmente uma escala de competências: • Objetivos • Comportamento reativo. • Estados emocionais. • Linguagem natural. • Memória e Inferência • Usados para modelar capacidades mentais humanas e fazer tarefas complexas Jorge Zavaleta, 2007
Agentes • Os jogos fornecem ambientes reais para os agentes. • Os agentes nos jogos são um conjunto de FSMs que trabalham sobre problemas particulares e mandam mensagens para cada um dos outros. • Um agente pode ser um conjunto de FuSM, NN, AG ou qualquer combinação de algumas ou de todas as técnicas. Jorge Zavaleta, 2007
Agentes • Agente reativo: serve para ambientes altamente dinâmicos onde pouca informação(ações, estados) precedente é necessária. • Agente orientado a objetivo: serve para ambientes estáticos onde é desejável um planejamento dos movimentos precedentes. Jorge Zavaleta, 2007
Agentes - exemplo • Uso de gerentes: • Civilização • Construções • Unidades • Recursos • Pesquisa • Combate Empire Earth Jorge Zavaleta, 2007
Scripting O Script é uma linguagem de programação criada para simplificar qualquer tarefa complexa para um programa particular. • Linguagem de 4 geração usada para controlar o motor do jogo desde a parte externa. • Varia de acordo ao problema. • Script: Configuração simples até uma linguagem interpretada em tempo de execução. Jorge Zavaleta, 2007
Scripting • Linguagens scripts para jogos: • QuakeC • UnrealScript • BGScript • NWScript • Lua (PUC-RIO) • Simplifica o conjunto de tarefas e esconde aspectos complicados do jogo. Jorge Zavaleta, 2007
Scripting • Permite que os não programadores (designers, artistas) escrevam scripts para o jogo. • Serve para automatizar tarefas repetidas. • Serve para adicionar novas funcionalidades ao jogo. • Usado em jogos on-line. Jorge Zavaleta, 2007
Scripting - exemplos Black&White Unreal Dark Reign LUA LUA Jorge Zavaleta, 2007
Flocking • É uma técnica de IA para simular comportamentos naturais para um grupo de objetos (Craig Reynolds, 1987). • Alternativa ao método dos scripts para trajetos de cada um dos objetos. • Cada membro do grupo re-avalia seu ambiente em cada ciclo atualizado, reduzindo memória e respondendo ao ambiente em mudança em tempo real. Jorge Zavaleta, 2007
Flocking - exemplos Unreal:usa flocking para simular a movimentação das criaturas. Enemy Nations: usa um algoritmo modificado de flocking para controlar a formação das unidades e os movimentos em 3D. Jorge Zavaleta, 2007
Lógica Nebulosa • A lógica nebulosa é diferente da lógica tradicional. • As decisões podem ser baseadas em dados incompletos ou errôneos que não podem ser usados na lógica tradicional. • Aplicações: • Toma de decisões, seleção de comportamento, processos industriais, artefatos de casa, sistemas de diagnostico e jogos. Jorge Zavaleta, 2007
Lógica Nebulosa • É aplicável quando não há nenhum modelo matemático simples para resolver o problema, quando se requer processar conhecimento do especialista e para resolver problemas altamente não lineares. • Entrada: Fuzificada. • Inferência: Regras Nebulosas • Saída:Defuzificada Jorge Zavaleta, 2007
Lógica Nebulosa - exemplo SWAT2 BattleCruiser Jorge Zavaleta, 2007
Redes Neurais (NN) • Na NN o conhecimento é adquirido do ambiente a través de um processo de aprendizagem e as intensidades da conexão da rede são usadas para armazenar o conhecimento adquirido. Jorge Zavaleta, 2007
Redes Neurais (NN) • Escolher as variáveis do ambiente do jogo que serão usadas como entradas é a parte mais intensa do trabalho no desenvolvimento de uma NN para um jogo. • Usadas em memória, reconhecimento de padrões, aprendizagem e predição. Jorge Zavaleta, 2007
Redes Neurais - exemplo Black&White: o jogo tem uma criatura que aprende do jogador e de outras criaturas. Jorge Zavaleta, 2007
Algoritmos Genéticos • É uma técnica de IA para otimização e aprendizagem da máquina que usa idéias de evolução e seleção natural para desenvolver uma solução para um problema. • O AG trabalha começando com um número pequeno de estratégias iniciais, usadas para criar uma população inteira de soluções candidatas e avaliando cada habilidade do candidato para resolver o problema. Jorge Zavaleta, 2007
AG - exemplos Dagger Return Fire II Jorge Zavaleta, 2007
Jogos Educacionais • Desempenham um papel motivador no processo de ensino-aprendizagem. • Estreita relação com a construção do conhecimento dos alunos. • Pensar no jogo como um meio educacional. • Instrumento de trabalho e meio para atingir objetivos preestabelecidos. Jorge Zavaleta, 2007
Jogos Educacionais • São uma modalidade de software onde o aluno aprende conceitos, conteúdos e habilidades inseridas no jogo. • Construir JEs que atendam de forma satisfatória e adequada considerando aspectos de Ciência da Computação e qualidade pedagógica é uma tarefa complexa e não trivial. Jorge Zavaleta, 2007
Jogos Educacionais • Projeto: • Definição de objetivo • Regras • Roteiro • Definição de personagens • Movimentação • Cenários • Questões inerentes ao software educacional. Jorge Zavaleta, 2007
Jogos Educacionais - exemplos TCHÊ Jorge Zavaleta, 2007
Referências • [crawford 1982] Crawford, C. The Art of Computer Game Design. WSUV, 1982. • [Kermal 2003] Kermal, E. Intelligent Multi-Agent Systems in Games, 2003. • [Buro 2004] Buro, M. The Otello match of the year: Takeshi Murakami(0) vs Logistello (6). http://www.cs.ualberta.ca/~mburo/event.html. Acessado em 15/04/2004. • [Cressy 1997] Cressy, C.J. Towards the Design and Implementation of Computer-Modeled Opponents for Use in Entertainment and Educational Software: Some Initial Considerations. Computer in Human Behavior, Vol. 13, No. 2, pp. 181-203, 1997. • [Juul 2003] Juul, Jesper. The Game, the play, the World: Looking for a Heart of Gameness. Digital Game Research Conference Proceedings. pp 30-45, Universitet Utrech. Utrech, 2003. • [Van lent 1999] Van Lent et al. Intelligent Agents in Computer Games. American Association for Atificial Intelligence, 1999. • … Jorge Zavaleta, 2007