Espaço para divulgação de trabalhos e ideias criados durante o curso de Jogos e Entretenimento Digital (Jogos Digitais) - UNISINOS.

07 fevereiro 2010

Simulador de Formigas

Criado para a disciplina de Animação Computadorizada, 2009/1, com o professor Fernando Marson, como trabalho de avaliação de Grau B (50% do GB).

Características:
Linguagem C++;
IDE Visual Studio;
Plataforma PC / Windows;
Versão atual: 0.3;
Bibliotecas:
  • OpenGL / GLUT.
Principais conceitos abordados, quanto à implementação:
  • Animação Comportamental;
  • Inteligência Artificial;
  • Agentes em Grupo.
Descrição:
Aplicativo que simula o ambiente de um formigueiro.

Há quatro tipos (castas, funções dentro do formigueiro) de formigas. Cada casta têm sua função (comportamentos simplificados na atual versão).
A versão atual apresenta a simulação das principais características presentes na maioria das espécies.

- Castas:
    Cada casta possui uma função específica que atribui à formiga comportamento e características próprias (alterando também características físicas, como forma e o raio de percepção). As descrições apresentam somente o presente na atual versão:
  • Rainha: Formiga procriadora;
  • Obreira (formiga pequena): busca por alimento;
  • Operária (formiga média): carrega alimentos encontrados pelas obreiras e os aloja no formigueiro;
  • Soldado (formiga grande, escura): guarda o formigueiro.
- Metabolismo:
    O metabolismo da formiga influencia a velocidade de suas ações, e a velocidade de consumo de energia/ digestão dos alimentos. Há um padrão para cada casta, que também varia de acordo com o comportamento de cada formiga.

- Comunicação:
    Quando uma formiga entra no raio de percepção de outra, ela se direciona à esta em busca de comunicação. Caso esta segunda formiga aceite a comunicação, há troca de feromônio (substância química liberada pela formiga), que é interpretado por cada formiga como informações. Elas também podem alimentar uma à outra se necessário.
Quando há comunicação, a cor da formiga é alterada, ficando mais clara, com tom azulado. Este processo geralmente é rápido, o que faz com que a cor da formiga “pisque”.

-Alimentação:
    As formigas podem se alimentar no formigueiro, ou com outra formiga, quando estiverem fora do formigueiro.
A formiga muda de cor, quando se alimenta, ficando verde.

- Geração de novas formigas:
    Quando é ativada a reprodução de uma nova formiga, a casta a qual esta pertencerá é aleatória, porém dentro de uma lista de probabilidades, onde:
  • Rainha: 1 única Rainha por formigueiro;
  • Obreira: 50%.
  • Operária: 45%.
  • Soldado: 5%.
- Formigueiro:
    A saída do formigueiro muda de cor dependendo do nível de comida no formigueiro. Vermelho indica nível mínimo, e dourado nível alto. Há capacidade máxima para comida no formigueiro, e também de formigas (não ativada na versão atual).

- Morte:
    Uma formiga morre quando sua energia chega a zero. A energia é decrementada quando, ao digerir, não houver comida em seu organismo. Sua cor é alterada para branco.


Melhorias Futuras:
  • Comportamento das formigas, como mais funções para cada casta;
  • Finalização da estrutura de Feromônio. Orientação das formigas pelo feromônio liberado no ambiente;
  • Possibilidade vários formigueiros;
  • Mais animais no ambiente, com os quais as formigas interagem, como aranhas (para a simulação de ataques);
  • Ambiente virtual mais complexo, com vegetação, e terreno;
  • Otimização avançada, como, por exemplo, detecção de colisão mais eficiente, e visualizador também otimizado;
  • Formigueiro mais complexo;
  • Possibilidade de parametrização do aplicativo pelo usuário;
  • Possibilidade de servir como base de influência para um futuro jogo de estratégia, estilo RTS.
  • ...
Funcionamento:
O formigueiro é gerado em posição aleatória.
O usuário controla a adição de novas formigas e alimentos no cenário.


Video com demonstração:

0 comentários:

Postar um comentário