SlideShare una empresa de 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!”

Más contenido relacionado

Más de Michel Montenegro

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 SocialMichel 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 DesktopMichel 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 javaMichel Montenegro
 
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...Michel Montenegro
 
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 digitaisMichel Montenegro
 
Criando jogos digitais em java
Criando jogos digitais em javaCriando jogos digitais em java
Criando jogos digitais em javaMichel Montenegro
 
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 SOCIALMichel Montenegro
 
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. ParallaxMichel Montenegro
 

Más 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
 

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!”