SlideShare uma empresa Scribd logo
1 de 9
O DNA da Computação para
Jogos Digitais: Caminhos.
Autor: Michel P. Montenegro
• Bacharel em Sistemas de Informação
• Esp. Em Engenharia de Sistemas
• Mestrando em Ciência da Computação
• 16 anos de experiência profissional na área de T.I
Grafos - Busca em Largura
Grafos - Busca em Profundidade
Grafos - Algoritmo A*
Algoritmo/Estratégia Gulosa
• para resolver problemas de otimização.
• sempre realizando a escolha que parece
ser a melhor no momento.
• Fazendo uma escolha ótima local, na
esperança de que esta escolha leve até a
solução ótima global.
Heurísticas de caminho
• Manhattan Distance: Baseada entre a
locação corrente e a alvo.
• Closest: Pega o nó(Tile) mais próximo do
alvo, como o próximo melhor nó(tile), para
se mover.
• Closed Squared: Idêntico ao Closest, mas
não pega a raiz quadrada na formula(sqrt).
Recursão vs Iteração
• Algoritmo Recursivo: Muitas vezes é
utilizado quando o código na iteração é
repetitivo na lógica (Ex.: Algoritmos de
busca, programação dinâmica).
• Algoritmo Iterativo: Costuma ter um
processo menos oneroso, e costuma ser
mais simples, mas existe exceções.
Caminho: Memoria(Objetos) vs Disco(Pré-
Mapeamento)
• Arquivos (tmx, xml, txt, bin, etc.)
• Banco de Dados (Embarcados ou não)
• Estratégias de mapeamento (Ex.: Lista ou
Matriz), como suas complexidades (N², e
log v, etc.) podem afetar o resultado e
desempenho dos algoritmos,
relacionados a caminhos?
Conclusão
• Perguntas?
• Duvidas?
• Contem seus casos!
• Compartilhem seus exemplos!
Meu lema:
“Transforme a Fraqueza em Força!”

Mais conteúdo relacionado

Mais de Michel Montenegro

ParallaDB - Framework de Persistência Android e Desktop
ParallaDB - Framework de Persistência Android e DesktopParallaDB - Framework de Persistência Android e Desktop
ParallaDB - Framework de Persistência Android e Desktop
Michel Montenegro
 
Tecnologias e técnicas para a criação de jogos em java
Tecnologias e técnicas para a criação de jogos em javaTecnologias e técnicas para a criação de jogos em java
Tecnologias e técnicas para a criação de jogos em java
Michel Montenegro
 

Mais de Michel Montenegro (8)

Desenvolvimento de Jogos: Analise da Arquitetura e sua Evolução Social
Desenvolvimento de Jogos: Analise da Arquitetura e sua Evolução SocialDesenvolvimento de Jogos: Analise da Arquitetura e sua Evolução Social
Desenvolvimento de Jogos: Analise da Arquitetura e sua Evolução Social
 
ParallaDB - Framework de Persistência Android e Desktop
ParallaDB - Framework de Persistência Android e DesktopParallaDB - Framework de Persistência Android e Desktop
ParallaDB - Framework de Persistência Android e Desktop
 
Tecnologias e técnicas para a criação de jogos em java
Tecnologias e técnicas para a criação de jogos em javaTecnologias e técnicas para a criação de jogos em java
Tecnologias e técnicas para a criação de jogos em java
 
Engine 2D para criação de Jogos em Java - Veja como é fácil criar um RPG 2D e...
Engine 2D para criação de Jogos em Java - Veja como é fácil criar um RPG 2D e...Engine 2D para criação de Jogos em Java - Veja como é fácil criar um RPG 2D e...
Engine 2D para criação de Jogos em Java - Veja como é fácil criar um RPG 2D e...
 
Problemáticas e soluções na criação de jogos digitais
Problemáticas e soluções na criação de jogos digitaisProblemáticas e soluções na criação de jogos digitais
Problemáticas e soluções na criação de jogos digitais
 
Criando jogos digitais em java
Criando jogos digitais em javaCriando jogos digitais em java
Criando jogos digitais em java
 
DESENVOLVIMENTO DE JOGOS: ANÁLISE DA ARQUIETURA E SUA EVOLUÇÃO SOCIAL
DESENVOLVIMENTO DE JOGOS:  ANÁLISE DA ARQUIETURA E SUA EVOLUÇÃO SOCIALDESENVOLVIMENTO DE JOGOS:  ANÁLISE DA ARQUIETURA E SUA EVOLUÇÃO SOCIAL
DESENVOLVIMENTO DE JOGOS: ANÁLISE DA ARQUIETURA E SUA EVOLUÇÃO SOCIAL
 
Desenv. jogos em java e Proj. Parallax
Desenv.  jogos em java e Proj. ParallaxDesenv.  jogos em java e Proj. Parallax
Desenv. jogos em java e Proj. Parallax
 

Último

Último (6)

ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 

O DNA da computação para jogos digitais: Caminhos

  • 1. O DNA da Computação para Jogos Digitais: Caminhos. Autor: Michel P. Montenegro • Bacharel em Sistemas de Informação • Esp. Em Engenharia de Sistemas • Mestrando em Ciência da Computação • 16 anos de experiência profissional na área de T.I
  • 2. Grafos - Busca em Largura
  • 3. Grafos - Busca em Profundidade
  • 5. Algoritmo/Estratégia Gulosa • para resolver problemas de otimização. • sempre realizando a escolha que parece ser a melhor no momento. • Fazendo uma escolha ótima local, na esperança de que esta escolha leve até a solução ótima global.
  • 6. Heurísticas de caminho • Manhattan Distance: Baseada entre a locação corrente e a alvo. • Closest: Pega o nó(Tile) mais próximo do alvo, como o próximo melhor nó(tile), para se mover. • Closed Squared: Idêntico ao Closest, mas não pega a raiz quadrada na formula(sqrt).
  • 7. Recursão vs Iteração • Algoritmo Recursivo: Muitas vezes é utilizado quando o código na iteração é repetitivo na lógica (Ex.: Algoritmos de busca, programação dinâmica). • Algoritmo Iterativo: Costuma ter um processo menos oneroso, e costuma ser mais simples, mas existe exceções.
  • 8. Caminho: Memoria(Objetos) vs Disco(Pré- Mapeamento) • Arquivos (tmx, xml, txt, bin, etc.) • Banco de Dados (Embarcados ou não) • Estratégias de mapeamento (Ex.: Lista ou Matriz), como suas complexidades (N², e log v, etc.) podem afetar o resultado e desempenho dos algoritmos, relacionados a caminhos?
  • 9. Conclusão • Perguntas? • Duvidas? • Contem seus casos! • Compartilhem seus exemplos! Meu lema: “Transforme a Fraqueza em Força!”