JavaScript Boids 2 (em planejamento...)
Boids descritos em
JavaScript como o
JavaScript Boids 1, mas agora sob uma nova perspectiva. Teremos dois tipos de boids, os herbivoros e os carnivoros. Os boids terão as intensidades vetores de decisão próprias e os níveis de fome, sede e impulso reprodutivo diferentes, como um DNA. Os mais aptos sobreviverão e repassarão suas caracteristicas a seus herdeiros (sim! reprodução com um indicezinho de mutação).
O vetor de decisão é a soma dos vetores aos quais o boid é esposto.
| Vetores |
| Herbivoros |
Carnivoros |
| Vetor |
Modificador |
Vetor |
Modificador |
| direção do pasto |
fome |
direção do herbivoro mais próximo |
fome |
| direção da água |
sede |
direção da água |
sede |
| direção de cada herbivoro num rário de X pixels |
- - - |
direção de cada carnivoro num rário de X pixels |
- - - |
| repulsão do herbivoro mais próximo |
proximidade |
repulsão do carnivoro mais próximo |
proximidade |
| |
|
|
|
Leis:
- Os boids não ocupam o mesmo espaço (por isso o vetor de repulsão), a não ser no momento em que o carnivoro come o herbivoro.
- A cada turno o boid perde
X de água e Y de energia. X é maior que Y.
- A cada turno (sem fome ou sede) o impulso reprodutivo recebe o incremento descrito no DNA e o parto chega no momento em que o boid alcança o valor 1000. No momento do parto o boid perde metade de sua capacidade de armazenamento de energia e água.
- Todo filhote recebe uma pequena mutação randômica em cada genotipo e 50% deles recebe uma grande mutação randômica em algum genotipo.

Este é um exemplo de um boid e seus vetores de atração ao grupo. Os vetores azuis são vetores de atração em direção aos boids no campo de visão. O vetor verde é um exemplo de vetor resultante com modificador positivo
M e o vetor lilás é um exemplo com modificador negativo
N.
M fará com que o boid seja interessado em agregar bando e
N o fará um boid solitário.