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.

Slides:



Advertisements
Apresentações semelhantes
CONCEITOS DE DECISÃO E O ENFOQUE GERENCIAL DA PESQUISA OPERACIONAL
Advertisements

Gustavo Sant´Anna Ferreira Rodrigo Ribeiro de Souza
IA Importância da IA em jogos Aplicações.
Fluxo em Redes Prof. Ricardo R. Santos.
AJUSTE DE CURVAS 6.1 Introdução 6.2 Método dos quadrados mínimos
Controle Digital Prof. Cesar da Costa 5.a Aula – Transformada Z.
Métodos para representação de estruturas hierárquicas
Prof. M.Sc. Fábio Francisco da Costa Fontes Abril
INF Game AI Trabalho Final Prof. Bruno Feijó
Introdução à Linguagem Prolog
Inteligência Artificial I
I Iterated Local Search Helena R. Lorenço, Olivier Martinz
1 Busca Heurística - Informada Estratégias de Busca Exaustiva (Cega) encontram soluções para problemas pela geração sistemática de novos estados, que são.
DIM102 1 Curvas e Superfícies 35T56 – Sala 3F4 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 227.
Dárlinton B. Feres Carvalho
Busca Heurística - Informada
- Conceitos e termos - Aplicações
CAPÍTULO Introdução 2. Programação de tarefas de robôs
WAR STORY Stripping Triangulations Luciana Oliveira e Silva
Ronaldo Celso Messias Correia –
Missionários e Canibais
JOGO DOS OITO A* e IDA*.
TE804 Eletrodinâmica Computacional
Complexidade de Algoritmos
Técnicas para algoritmos de superfície visível eficientes (Techniques for efficient visible-surface algorithms) Fabio Utzig Rodrigo Senger.
Trabalho de Conclusão de Curso Moisés Alves Carneiro Filho
Threads.
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
CONTEUDO ROBÓTICA MÓVEL 1.1. Percepção Sensores do Nomad XR4000
INF 1771 – Inteligência Artificial
Análise do Lugar das Raízes
T ÓPICOS DE I.A. Métodos de Busca Busca em Espaços de Estado Prof. Mário Dantas.
FACENS – Engenharia da Computação Inteligência Artificial Busca.
Estratégias de Busca com informação e exploração
Informática Teórica Engenharia da Computação
I Iterated Local Search Helena R. Lorenço, Olivier Martinz
Autoria de Aplicações Hipermídia Daniel Schwabe Departamento de Informática PUC-Rio [ Parte 6 ]
O problema do emparelhamento máximo
Busca com informação e exploração
Algoritmos de Busca Local
Estrutura de decisão Neste tipo de estrutura o fluxo de instruções a ser seguido é escolhido em função do resultado da avaliação de uma ou mais condições.
Tópicos Avançados em Inteligência Artificial
1 A COMPUTAÇÃO MODERNA Valdemar W. Setzer Depto. de Ciência da Computação da USP
Estrutura de Decisão Multipla
Construção e Análise de Algoritmos
Projeto e Implementação de Jogos Eletrônicos
Busca Combinatorial e Métodos de Heurística
Equações algébricas e transcendentais
1 Introdução aos Agentes Inteligentes Inventando Funções Heurísticas Flávia Barros.
Transformada de Hough Processamento global para a detecção de linhas retas numa imagem Nenhum conhecimento é necessário a respeito da posição das linhas.
Resolução de Problemas de Busca
Métodos de Resolução Solução Analítica Solução Numérica
1 Introdução aos Agentes Inteligentes Resolução de Problemas de Busca Flávia Barros.
Geometria Computacional Fecho Convexo
Otimização de Processos
Busca Competitiva Disciplina: Inteligência Artificial
Resolução de Problemas Sistemas de Produção Prof. Cláudio M. N. A. Pereira.
FLUXOS EM REDES.
Arquitetura de computadores
Marcos Corrêa Neves Gilberto Câmara Renato M. Assunção
Paradigmas da Programação – Semestre 1 – Aula 7 Professor: Eduardo Mantovani )
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.
Máquinas de estados finitos
Busca Heurística Prof. Valmir Macário Filho. 2 Busca com informação e exploração Capítulo 4 – Russell & Norvig Seção 4.1 Estratégias de Busca Exaustiva.
Aula 6 – Sistemas Lineares
Escalonamento de Operações de Reconfiguração Dinâmica Mestrado Integrado em Engenharia Eletrotécnica e de Computadores Aluno: Ricardo Ferreira Orientador:
INF 1771 – Inteligência Artificial
Transcrição da apresentação:

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 busca de caminhos deve ser implementada de maneira muito eficiente, pois será executada muitas vezes por vários personagens durante o jogo

Waypoints  Waypoints são uma representação aproximada do terreno (amostragem).  Fornecem representações mais econômicas do que as malhas poligonais dos cenários.  Estrutura de grafos.

Construção de Grafos de Navegação  Um grafo de navegação é uma estrutura de grafo formada por um conjunto de waypoints.  Existem várias formas de representar a geometria do ambiente do jogo, da mesma forma existem várias estratégias para converter a informação espacial em uma estrutura de grafo:  Pontos de Visibilidade  Tiles (Grid)  Geometria Expandida  NavMesh

Pontos de Visibilidade  A criação de um grafo de navegação baseado em Pontos de Visibilidade consiste na adição de nós em pontos importantes do ambiente.  Os pontos do grafo devem ter pelo menos uma linha reta de visão para algum outro ponto.

Pontos de Visibilidade  Geralmente o processo de adição dos pontos de visibilidade é feito manualmente pelo game designer.  Se o jogo restringe o movimento dos agentes somente sobre as arestas do grafo, como ocorre no Pac-man, esta solução é a escolha perfeita.  Entretanto, se o grafo é projetado para um jogo onde os agentes têm maior liberdade de movimentos é necessário realizar mais algumas tarefas.

Pontos de Visibilidade 1) Procura o nó visível A mais próximo da posição do NPC; 2) Procura o nó visível B mais próximo da posição destino; 3) Usa um algoritmo para encontrar o caminho de menor custo entre A e B; 4) Move o NPC para o nó A; 5) Move o NPC sob o caminho calculado no passo 3; 6) Move o NPC do nó B até a posição destino.

Tiles (Grid)  Este tipo de abordagem é muito comum em jogos de estratégia em tempo real (RTS).  Geralmente são grafos grandes e complexos, organizados por meio de quadrados ou hexágonos.  Cada nó do grafo representa o centro de cada célula e as arestas representam a vizinhança de cada célula.

Tiles (Grid)  O grande problema desta abordagem é que o número de vértices e arestas pode se tornar rapidamente muito elevados.  Para um mapa com 100 x 100 células, tem-se nós e arestas.

Pathfinding  Uma vez definido o grafo de navegação é possível utilizar técnicas de busca para encontrar caminhos entre dois pontos.  O algoritmo de busca mais utilizado em jogos é o A*.  Normalmente é possível calcular boas funções heurísticas.  O caminho gerado pelo A* é composto por uma lista de vértices por onde o agente deve passar para chegar ao destino.

Suavização de Caminhos  Geralmente o caminho encontrado forma uma linha sinuosa (zigzag), visto que o espaço representado pelos waypoints é discretizado em pontos.  Geralmente sempre existe uma forma de suavizar o caminho encontrado traçando-se um novo caminho que remove vértices não necessários.

Suavização de Caminhos

Otimizações  Em algumas situações do jogo, pode ser necessário que várias unidades realizem buscas por caminhos simultaneamente.  Isso pode gerar um pico de carga da CPU que pode resultar em interrupções momentâneas do fluxo do jogo.  Técnicas de Otimização:  Caminhos pré-calculados  Custos pré-calculados  Busca de caminhos hierárquica.

Caminhos Pré-Calculados  Tabela pré-calculada com os melhores caminhos do grafo de navegação.  Armazena-se somente o próximo nó que deve ser seguindo do nó atual ao nó destino.

Custos Pré-Calculados  Saber qual o melhor caminho entre dois nós somente é útil quando se sabe onde se deseja ir.  Uma tabela pré-calculada com os custos de locomoção entre quaisquer dois nós também é uma informação muito util.

Busca de Caminhos Hierárquica  Esta estratégia consiste em achar o caminho de modo gradativo, partindo-se de uma solução grosseira até uma solução mais refinada.

Método A*  Supondo que é necessário passar do ponto A (verde) para o ponto B (vermelho)

Método A*  Para determinar em que direção o agente deve se movimentar cria-se a equação F = G + H  G = Custo do ponto A até o próximo ponto.  H = Custo do ponto A até o ponto de destino.

Método A*  A regra é seguir para o quadrado de menor F possível.

Método A*  O resultado após a execução do algoritimo no estilo “Diagonais” fica como exposto abaixo: