No description
Find a file
2022-06-30 00:35:59 +03:00
src Resize FBs and recompile materials after config change 2022-06-30 00:35:59 +03:00
.gitattributes Initial commit 2022-06-24 16:44:44 +03:00
.gitignore Initial implementation 2022-06-26 12:34:16 +03:00
LICENSE Initial commit 2022-06-24 16:44:44 +03:00
package-lock.json Update texture dir 2022-06-26 12:53:24 +03:00
package.json Interaction improvements and minor fixes 2022-06-29 00:35:45 +03:00
README.md Cleanup; make ants bounce off the world bounds 2022-06-26 19:23:23 +03:00
tsconfig.json Initial implementation 2022-06-26 12:34:16 +03:00
webpack.config.js Update texture dir 2022-06-26 12:53:24 +03:00

Ants simulation

A simple ant colony GPU-accelerated simulation made with Three.js.

Live demo

Rules

Ants can emit two types of pheromones: to-home pheromone and to-food pheromone. To-home pheromones are emitted by those ants searching for food and to-food pheromones are emitted by those carrying food. Ants searching for food are attracted to to-food pheromones, while ants searching for home are attracted to to-home pheromones.

If an ant searching for food detects a food cell nearby, then it picks it up, and drops it after reaching home.

If an ant senses the desirable pheromones nearby, then it turns to the direction of these pheromones, and if no pheromones are detected nearby or the ant can't decide at which direction pheromones are stronger, then is moves randomly.

It is important to prevent ants from following pheromone trails left by those ants who wandered too far from home or a food source. Each individual ant has an inventory for storing pheromones. Each time an ant leaves a pheromone marker anywhere on the map a small portion of the stored pheromones is used. And each time it picks up food or reaches home its inventory gets fully refilled.

Pheromone trails left by ants evaporate and diffuse over time.

Compute pipeline overview

TODO

References