Máquinas de estados finitos

Slides:



Advertisements
Apresentações semelhantes
IA Importância da IA em jogos Aplicações.
Advertisements

Estruturas de Dados e Algoritmos II
[Material apresentado no SBGames2005]
ENSINANDO A ENSINAR MINI BASQUETE.
CONTRA-ATAQUE.
Conceito Conjunto de ordens/principios que organizam todas as acções dos jogadores na defesa, tanto individuais como colectivas.
Jogos em Inteligência Artificial
Ataque no basquetebol.
Paradigmas de Programação
Engenharia de Software
Sistemas Digitais Projeto RTL – Unidade de Execução
Inteligência Computacional para Jogos Eletrônicos
IA em jogos modelagem de comportamento de personagens
Gestão de telas e ambientes em jogos 2D
Motivação Introdução.
Othelo Alunos: Sávio Mendes de Figueiredo
Volleyball Jogadas Clique para seguir.
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Trabalho de FES PERT/CPM Alunas: - Debora Theodoro A. da Silva
UNIVERSIDADE CATÓLICA DE GOIÁS
Componentes de um jogo, desenvolvimentoComponentes de um jogo, desenvolvimento.
Índice SUMÁRIO Introdução ao projeto de lógica seqüencial.
Design de Mecanismos Uma ferramenta simuladora de leilões.
Redundant Array of Independent Drives Raid
Mini Curso: A PEDAGOGIA DO TREINO Prof. Dr. Renato Sampaio Sadi DCEFS-UFSJ 2013.
PROJETO DE JOGOS I Documento de Design.
Geekontro II.  Histórico  Livros  Tipos da I.A.  Aplicação Real  Futuro da I.A.  Turing  Filmes  I.A. nos Games.
Cogito Imaginação. Cogito Imaginação Integrantes Atuais Alexandre Tolstenko Nogueira Carlos Polachini Zanoveli Junior Carlos Henrique Rodriques Fernando.
Avaliação da Linguagem de Programação
INF 1771 – Inteligência Artificial
SBRN’02 - Simpósio Brasileiro de Redes Neurais
UNIDADE DE TREINO Minis
UNIDADE DE TREINO Minis
UNIDADE DE TREINO Minis
Disciplina Inteligência Artificial Defesa de Projeto Período
Inteligência Artificial
Agentes em Jogos. Equipe Renato Ferreira Renato Ferreira Saulo Pessoa Saulo Pessoa Jobson Ronan Jobson Ronan Guilherme Oliveira Guilherme Oliveira Henrique.
BOTs Multiplayer Thiago Jamir e Silva – 20/07/2007.
UNIDADE DE TREINO Minis
Arquitetura de Desenvolvimento Web MVC vs. Three Tiers
CONHECENDO O ESPORTE- HANDEBOL
FUTSAL 2012.
PROJETO DE JOGOS I Aula 2.
BASQUETEBOL.
UNIDADE DE TREINO Minis
PROFª. MARIA HELENA CARVALHO
SITUAÇÕES DE JOGO: 1 CONTRA 1 2 CONTRA 2 3 CONTRA 3
SISTEMAS DE JOGO DEFESA Pressão total, e a partir do seu próprio campo
Torre de  Hanói.
UNIDADE DE TREINO Infantis Nº 7 “ Mais e Melhor Andebol” Miguel Orlando Pinto Ribeiro Duração: 75’
PUCC 1 Tópicos em Sistemas Inteligentes. PUCC 2 Agenda - Aula 03 Buscas Agentes que Planejam.
Agentes Inteligentes Vicente Vieira Filho. Conversa de Hoje Introdução Objetivos (Benchmarks em SMA) Trabalhos Relacionados Solução Conclusão Trabalhos.
BASQUETEBOL.
HABILIDADES MANIPULATIVAS OU DE CONTROLE DE OBJETOS
UNIDADE DE TREINO Infantis Nº 6 “ Mais e Melhor Andebol” Miguel Orlando Pinto Ribeiro Duração: 75’
O que é Força de Atrito ? É uma força natural que atua apenas quando um objeto está em contato com outro e sofre a ação de outra força que tende a colocá-lo.
Entrada de dados, estilo convencional. Adriel Soares e Silva Gustavo Scapini Alles Introdução a Computação.
Modelos de Processos de Software
Vicente Filho Conversa de Hoje Introdução Objetivos Trabalhos Relacionados Solução Conclusão Trabalhos Futuros.
Computabilidade e Linguagens Formais
Introdução à Inteligência Artificial Prof. Cláudio M. N. A. Pereira.
Rafael Oliz. IA Acadêmica X Game IA IA Acadêmica – Solução de problemas complexos(Ex: Reconhecimento de Padrões com visão computacional) Game IA – Proporcionar.
WAYPOINTS E PATHFINDING Prof. Rafael Oliz. Introdução  Locomover-se no espaço do jogo é uma ação fundamental dos NPCs em qualquer gênero de jogo.  A.
Módulo I – Softwares: Linguagens de Programação Prof.: Rogério Morais.
Introdução às Máquinas de Estados Finitos (Finite State Machine - FSM)
Unity 3D: Câmeras.
FUTSAL 2013.
Unity 3D Inteligência Artificial
INF 1771 – Inteligência Artificial
Transcrição da apresentação:

Máquinas de estados finitos Introdução à inteligência artificial Prof. Rafael Oliz

Introdução Máquinas de Estados Finitos (Finite State Machines - FSM) são provavelmente o padrão de software mais utilizado em jogos para selecionar o comportamento de agentes reativos.

Máquina de Estados Uma máquina de estados é um modelo matemático usado para representar programas. Conjunto de estados. Regras de transição entre estados. Estado atual.

Máquina de Estados Um exemplo bem simples de uma FSM é um interruptor de luz. Em um jogo normalmente uma FSM não é tão simples assim, visto que geralmente os agentes podem ter um conjunto muito maior de estados. On Off Switch On Switch Off

Exemplo – Pac-Man Os fantasmas Inky, Pinky, Blinky e Clyde do jogo Pac-man são implementados via FSM. Os fantasmas tem 3 comportamentos: Caçar (Chase) Fugir (Evade) Dispersar (Scatter) A transição de estados pode ocorrer em várias situações durante o jogo. A implementação da ação caçar de cada fantasma é diferente.

Exemplo – Pac-Man Máquina de Estados: Dispersar Caçar Fugir Os tempos variam em cada nível do jogo. Dispersar Caçar tempo_dispersar >= 5 (sec) tempo_caçar >= 20 (sec) tempo_player_ energia >= 10 (sec) player_pegou_ energia == true Fugir

Exemplo – Pac-Man Comportamento de Dispersar: Mover em direção aos cantos e ficar andando em círculos. Dispersar tempo_dispersar >= 5 (sec) tempo_caçar >= 20 (sec)

Exemplo – Pac-Man Comportamento de Fugir: Movimentar-se mais lentamente com movimentos aleatórios. tempo_player_ energia >= 10 (sec) player_pegou_ energia == true Fugir

Exemplo – Pac-Man Comportamento de Caçar: Movimenta-se mirando na posição do Pac-Man. Caçar tempo_dispersar >= 5 (sec) tempo_caçar >= 20 (sec) tempo_player_ energia >= 10 (sec) player_pegou_ energia == true

Exemplo – Pac-Man Comportamento de Caçar: Movimenta-se mirando na posição 4 tiles a frente do Pac-Man. Caçar tempo_dispersar >= 5 (sec) tempo_caçar >= 20 (sec) tempo_player_ energia >= 10 (sec) player_pegou_ energia == true

Exemplo – Pac-Man Comportamento de Caçar: Combina a posição/direção do Pac-Man e do Blinky. Caçar tempo_dispersar >= 5 (sec) tempo_caçar >= 20 (sec) tempo_player_ energia >= 10 (sec) player_pegou_ energia == true

Exemplo – Pac-Man Quando está longe do Pac-Man, movimenta-se em direção ao Pac-Man. Quando está perto, movimenta-se em direção ao canto da tela. Caçar tempo_dispersar >= 5 (sec) tempo_caçar >= 20 (sec) tempo_player_ energia >= 10 (sec) player_pegou_ energia == true

Exemplo – Pac-Man Fim de jogo? Teoricamente Pac-Man foi projetado para não ter fim, mas… no level 256…

Exemplo – Quake Os NPCs do jogo Quake também são implementados via FSM. Estados/Comportamentos: Procurar Armadura (FindArmor) Procurar Kit Medico (FindHelth) Correr (RunAway) Atacar (Attack) Perseguir (Chase) ... Até mesmo as armas são implementadas como uma mini FSM. Mover (Move) Tocar Objeto (TouchOject) Morrer/Explodir (Die)

Exemplo – FIFA20XX O comportamento dos jogadores é definido através de FSMs. Estados/Comportamentos: Driblar (Dribble) Correr Atrás da Bola (ChaseBall) Marcar Jogador (MarkPlayer) ... Os times também usam FSMs para definir comportamentos em grupo. Defender (Defend) Atacar (Attack)

Vantagens Elas são rápidas e simples de implementar – existem várias formas de implementar e todas são muito simples. Gastam pouco processamento. São intuitivas – qualquer pessoa consegue entender o seu significado apenas olhando para a sua representação visual. Isso facilita o trabalho do game designer, que muitas vezes não tem conhecimento de linguagens de programação. São flexíveis – podem ser facilmente ajustada pelo programador para prover comportamentos requeridos pelo game designer.

Problemas Possibilidade de falhas em esquemas muito complexos. Dificuldade em representar visualmente esquemas muito complexos.

FSM – Exemplo 1

FSM – Exemplo 2