Jogos em Inteligência Artificial



Documentos relacionados
INFLUÊNCIA DOS JOGOS NO CAMPO DA INTELIGÊNCIA ARTIFICIAL

ENG1000 Introdução à Engenharia

1. NÍVEL CONVENCIONAL DE MÁQUINA

INF 1771 Inteligência Artificial

Jogos Eletrônicos. Aula 01 Jogos Eletrônicos e Game Design. Edirlei Soares de Lima <edirlei.lima@uniriotec.br>

Análise e Projeto de Sistemas. Engenharia de Software. Análise e Projeto de Sistemas. Contextualização. Perspectiva Histórica. A Evolução do Software

Engenharia de Software

INF 1771 Inteligência Artificial

REVISÃO ENGENHARIA DO SOFTWARE. Isac Aguiar isacaguiar.com.br

DESENVOLVIMENTO DE JOGOS DIGITAIS. Desmistificando o desenvolvimento de games e mercado de trabalho


Identificar as mudanças que acontecem na forma e no uso de apoio à decisão em empreendimentos de e-business. Identificar o papel e alternativas de

LEAS ONLINE: PROTÓTIPO DE UM JOGO DE MMORPG

Programação de Computadores II TCC Turma A-1

Desenvolvimento Web TCC Turma A-1

Inteligência Artificial em Jogos Eletrônicos

EMENTAS DAS DISCIPLINAS

Introdução à Computação

Ao longo do presente capítulo será apresentada uma descrição introdutória da tecnologia FPGA e dos módulos básicos que a constitui.

Faculdade Pitágoras. Engenharia de Software. Prof.: Julio Cesar da Silva.

Elisa Maria Pivetta Cantarelli. PDF created with pdffactory Pro trial version

Seleção de Livros sobre Desenvolvimento de Jogos. Por Marcos Romero Dezembro / 2008

Comportamento de personagens em jogos de computador

REFORÇO DE PROGRAMAÇÃO ESTRUTURADA EM LINGUAGEM C PARA GRADUAÇÃO EM ENGENHARIA ELÉTRICA

A (R)evolução dos Games

ANIMAÇÕES WEB AULA 2. conhecendo a interface do Adobe Flash. professor Luciano Roberto Rocha.

FDQ-TOOL UMA FERRAMENTA PARA A ANÁLISE DA QUALIDADE DA MÉTRICA DE ESFORÇO DO PDS

Arquiteturas RISC. (Reduced Instructions Set Computers)

Histórico dos Sistemas Operacionais

APLICATIVO PARA GERENCIAMENTO DE FORÇA DE TRABALHO EM EMPRESAS DE TELEFONIA MÓVEL

UNIVERSIDADE FEDERAL DE PERNAMBUCO - PRÓ-REITORIA PARA ASSUNTOS ACADÊMICOS CURRÍCULO DO CURSO DE GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO PERFIL

GERENCIAMENTO DO CONHECIMENTO NA EMPRESA DIGITAL

E t n erpr p ise R sou o r u ce Pl P ann n i n ng Implant nt ç a ã ç o ã de de S ist s e t m e a a E RP

Manual do KDots. Minh Ngo Tradução: André Marcelo Alvarenga

AULA 2. Aspectos Técnicos. Luciano Roberto Rocha. MBA em Marketing Digital SOCIAL GAMES

Curso Técnico em Redes

Dadas a base e a altura de um triangulo, determinar sua área.

Ementas Disciplinas Eletivas

Introdução ao Desenvolvimento de Jogos

Na medida em que se cria um produto, o sistema de software, que será usado e mantido, nos aproximamos da engenharia.

GERENCIAMENTO DO CONHECIMENTO NA EMPRESA DIGITAL

ISO/IEC 12207: Gerência de Configuração

Sistema Tutor Inteligente baseado em Agentes. Pedagógicas da Universidade Aberta do Piauí. Prof. Dr. Vinicius Ponte Machado

Arquitetura de Redes: Camadas de Protocolos (Parte I) Prof. Eduardo

DEPARTAMENTO DE MATEMÁTICA E CIÊNCIAS EXPERIMENTAIS - Grupo 550 INFORMÁTICA Planificação Anual /Critérios de avaliação

Design de Games: A importância da estética. utilizada na interface de um game.

Abstrações e Tecnologias Computacionais. Professor: André Luis Meneses Silva /msn: andreluis.ms@gmail.com Página: orgearq20101.wordpress.

SECRETÁRIA DE ESTADO DA EDUCAÇÃO DO PARANÁ CURSO PROFISSIONALIZANTE INFORMÁTICA

IntroduçãoaoGuia SWEBOK. Ernani Lopes Isensee 2014

Análise de Sistemas. Visão Geral: Orientação a Objetos. Prof. José Honorato Ferreira Nunes honorato.nunes@bonfim.ifbaiano.edu.br

7.Conclusão e Trabalhos Futuros

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ CURSO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS KARINE LETÍCIA NOWAK RELATÓRIO DE ESTÁGIO

EMENTAS DAS DISCIPLINAS

1 INTRODUÇÃO 1.1 CONCEITO DE PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO PARADIGMAS DE LINGUAGEM DE PROGRAMAÇÃO

Introdução a Informática. Prof.: Roberto Franciscatto

LAG. Laboratório de Aplicações Gráficas e Desenvolvimento de Jogos. Professor responsável M. Sc. Will Ricardo dos Santos Machado

4 Estratégias para Implementação de Agentes

Sistemas Operacionais

Uso de taxonomias na gestão de conteúdo de portais corporativos.

Projeto Você pede, eu registro.

Arquitetura de Rede de Computadores

Informática Aplicada

PROCESSO DE DESENVOLVIMENTO DE SOFTWARE. Modelos de Processo de Desenvolvimento de Software

INTRODUÇÃO ÀS LINGUAGENS DE PROGRAMAÇÃO

Introdução. Software (Parte III)

Como se tornar um desenvolvedor de plug-ins para AutoCAD e Revit

Capítulo 2 Introdução à ferramenta Flash

1 - Como definir o Balanced Scorecard (BSC)?

Plano de Trabalho Docente Ensino Técnico

Uso do Action₀NET com o PI System da OsiSoft

IA: Introdução. Prof. Msc Ricardo Britto DIE-UFPI

EMULAÇÃO 3270 VIA WEB BROWSER

Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 03 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO)

Metodologias de Desenvolvimento de Sistemas. Analise de Sistemas I UNIPAC Rodrigo Videschi

SERVIÇO PÚBLICO FEDERAL UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA DEPARTAMENTO DE CIÊNCIA DA COMPUTAÇÃO

PROCESSAMENTO DE DADOS 15/08

DESENVOVIMENTO DE GAMES APRESENTAÇÃO. MARCELO HENRIQUE DOS SANTOS

UML - Unified Modeling Language

Desenvolvimento de um Simulador de Gerenciamento de Memória

Aprendizagem de Máquina

DGD. Documento de Game Design SPACE WAR. Game FACULDADE SENAC GO. Prof.: Lucília Ribeiro. Alunos: kqgames

INTELIGÊNCIA ARTIFICIAL E SUA APLICABILIDADE NOS JOGOS

Engenharia de Software

Testes de Usabilidade

Trabalho de Implementação Jogo Reversi

Introdução à Linguagem Java

Autómatos Finitos Determinísticos

Ambiente Visual para o Desenvolvimento de Jogos Eletrônicos

Projeto de Sistemas I

PARADIGMAS DA INTELIGÊNCIA ARTIFICIAL EM JOGOS ELETRÔNICOS

Tópicos Especiais em Redes de Telecomunicações

MAGREGISTER 1.0: GERADOR DE INTERFACES DE COLETAS DE DADOS PARA PDA S. Acadêmico: Gilson Chequeto Orientador: Adilson Vahldick

Desenvolvimento de Sistemas Orientados a Objetos com UML UP/RUP: Projeto

UNIVERSIDADE FEDERAL DE SANTA CATARINA CENTRO DE CIÊNCIAS DA EDUCAÇÃO CURSO DE BIBLIOTECONOMIA

Para isso, selecione as duas interfaces no "Painel de Controle > Conexões de rede" e ative a opção "Conexões de ponte":

Transcrição:

Jogos em Inteligência Artificial Inteligência Artificial I Ricardo Borges Cícero Augusto Mauricio Volkweis Professora Andrea Konzen Torres - RS, Junho de 2003

Sumário Introdução 1 Objetivos 2 Histórico 3 Técnicas Atualmente Utilizadas Conclusão 2

Introdução 3

1 Objetivos Embutir uma inteligência simulada nos jogos através de técnicas de Inteligência Artificial (IA) Tornar o jogo mais real Por conseqüência, mais envolvente e desafiador para o jogador 4

2 Histórico Década de 60 Surgimento dos jogos de computador Versões para mainframes Principal preocupação era o visual Sem técnicas de IA Em Space War (1961), os jogadores se confrontavam em naves espaciais com interface em caracteres ASCII 5

2 Histórico Década de 70 Bom número de jogos em modo texto Também conhecidos como Multi User Dungeons (MDU s) Primeiro sucesso comercial foi Pong (1972) Pong foi criado por Nolan Bushnell, fundador da Atari 6

2 Histórico Jogos que marcaram a década de 70: Breakout Space Invaders Asteroids Pac Man 7

2 Histórico Década de 80 Grande diversidade de jogos Destaque foi Donkey Kong, que deu origem ao personagem Mário de Shigeru Miyamato O sucesso de Mário Brothers (1984) fez de Mário o principal mascote da Nintendo 8

2 Histórico Década de 90 Melhoria na interface e interação depois do lançamento dos computadores de 16 bits Surgimento de alguns jogos de simulação 3D: Flight Simulator Wing Commander 9

Década de 90 2 Histórico Revolução na plataforma IBM PC com o lançamento de Doom pela ID Software (1993) Inovação tecnológica Perspectiva em primeira pessoa Evolução tanto na área gráfica como de IA 10

2 Histórico Década de 90 Duke Nuke em 3D é lançado com ferramenta de IA Extensível A ID Software lança Quake (1996) primeiro jogo em 3D real Desaceleração na aplicação de IA em relação a parte gráfica 11

2 Histórico Década de 90 Reaperbot, um oponente criado para ser usado em Quake dá novo impulso ao uso de IA em jogos O jogo Unreal (1998) lançado pela Epic Megagames mostrou avanço no uso de IA em jogos usando técnicas como: Finite State Machines Fuzzy State Machines IA Extensível 12

2 Histórico Atualidade Jogos com gráficos 3D avançados com nível razoável de aplicação de IA A IA do jogo passa a ter tanta importância quanto a parte gráfica Exemplos de jogos atuais: Diablo 2 Quake III: Arena Unreal Tournament 13

2 Histórico Atualidade Grandes orçamentos para produção de jogos Equipes normalmente compostas de: Projetistas de Jogo Projetistas de Fases Planejador de Software Arquiteto Chefe Gerente de Projeto Programadores Artistas Gráficos Músicos e Sonoplastas 14

3 Técnicas Atualmente Utilizadas Máquinas de Estados Finitos IA Extensível Técnicas de Busca Máquinas de Aprendizado Vida Artificial Kits de Desenvolvimento 15

3.1 Máquinas de Estados Finitos Baseadas em regras Implementação relativamente simples Técnica já consolidada no mercado Permite criar elementos com comportamentos relativamente complexos Foi utilizada no jogo Unreal Podem ser: Finite State Machines (FSM) Hierarchical Finite State Machines (HFSM) Fuzzy State Machines (FuSM) 16

3.1 Máquinas de Estados Finitos Normalmente representadas por um Diagrama de Transição de Estados Uma FSM possui Conjunto de estados Estado inicial Conjunto de entradas Conjunto de saídas Função de transição de estado 17

3.1 Máquinas de Estados Finitos A função de transição de estados recebe as entradas e o estado atual Retorna o conjunto de saídas e um novo estado que passa a ser o estado atual Entradas Estado Atual Saídas Estado Futuro 18

3.1 Máquinas de Estados Finitos Uma HFSM são FSM hierarquizadas Usadas para modelagem de comportamentos mais complexos 19

3.1 Máquinas de Estados Finitos As FuSM s são baseadas em cadeias de Markov Pesos são associados aos estados e transições Regras são usadas para calcular pesos de estados futuros 3 8 % 20

3.2 IA Extensível Iniciada com Duke Nuke em 3D e Quake O jogador pode criar seus próprios personagens ou alterar o nível e IA dos existentes É feita através de uma linguagem de script A forma do script pode ser semelhante a linguagens como C e C++ ou até conjuntos de ordens passadas diretamente ao elemento do jogo 21

3.2 IA Extensível IF Exemplo de script:!range(nearestenemyof(myself),3) and Range(NearestEnemyOf(Myself),8) THEN EquipMostDamagingMelee() AttackReevalutate(NearestEnemyOf (Myself),60) 22

3.3 Técnicas de Busca Entre os algoritmos existentes, o A-star (A*) é o mais utilizado Utilizado para encontrar um melhor caminho a partir da posição atual Foi aplicado em Age of Empires II: The Age of Kings para análise de terrenos Utiliza uma função heurística para calcular a estimativa de custo de cada rota 23

3.4 Máquinas de Aprendizado Estão começando a ter mais espaço em jogos No jogo Magic & Mayhem, são gravados dados das jogadas para que o sistema evite usar técnicas com baixo grau de efetividade Entre os enfoques com maior embasamento científico estão: Redes Neurais Algoritmos Genéticos 24

3.4 Máquinas de Aprendizado Battle Cruiser: 3000 AD foi um dos primeiros jogos a usar redes neurais Foi desenvolvida uma linguagem especialmente para implementar a IA do jogo Denominada Artificial Intelligence and Logistics (AILOG), usava uma rede neural para efetuar tomadas de decisão e busca das melhores rotas AILOG também implementa alguns conceitos de lógica difusa (fuzzy logic) 25

3.4 Máquinas de Aprendizado Cloak Dagger and DNA (1995) foi um dos primeiros jogos comerciais a utilizar algoritmos genéticos O jogo vêm com quatro seqüências de DNA Estas seqüências são conjuntos de características comportamentais dos inimigos A medida que cada um desses conjuntos participa de batalhas recebe pontos pelo desempenho Os melhores conjuntos são combinados gerando novos e melhores comportamentos 26

3.5 Vida Artificial Também conhecida como A-Life (do inglês Artificial Life) Tem sua origem no estudo de seres vivos do mundo real Tenta simular este comportamento usando uma variedade de técnicas de IA combinadas 27

3.5 Vida Artificial Estas técnicas são interligadas em uma hierarquia de tomada de decisão Foi utilizada nos jogos The Sims e Creatures 28

3.6 Kits de Desenvolvimento Software Development Kits (SDK s) ou simplesmente toolkits Bibliotecas que implementam uma ou mais técnicas de IA Podem ser específicos para jogos ou mais genéricos Agilizam o desenvolvimento da aplicação Exemplos: Motivate Spark! DirectIA 29

Conclusão 30