Simultaneous Localization and Mapping (SLAM) refers to agents that explore and map their environment.
These agents cannot win until they all locate and reach the goal. They can share memory when nearby.
You can either run this project on its website (see the link at the top-right of the GitHub page), or locally.
It is built with Vite, so clone the project, run npm i
and then npm run dev
to test it locally.
Use the configuration panel to make modifications to the project settings (colors currently aren't customizable).
You can use the menu buttons at the top right of the maze panel to switch to focus mode or graph mode (graph mode isn't implemented yet).
If you want to make any contributions to this project, either leave and issue or a PR. You can use the instructions in the usage section to get started.
When I created this project, I was working on a couple libraries, Algernon.js, a maze generation and solving library, and TinyNEAT, a JS implementation of NEAT.
I wanted to make project that incorporated mazes, AI, and swarm cognition. This is what I came up with.
This initial version only uses logic, A*, and inter-agent communication to coordinate maze solving.
I would love to incorporate more complex AI (through better interfaces and a more customizable environment), or at least open the option for other programming projects to use this environment.