A simple multi-agent simulation of an outdoor game for children, named "Ghost in the Graveyard". Inspired by the Belief-Desire-Intention (BDI) agent modelling approach.
The simulation follows the following rules of the game, with some minor adjustments:
All agents are placed randomly in the grid world. The Ghosts and Players "wander" around. If a Player finds a Ghost, it stops and notifies all other Players that a Ghost has been found. Any player that finds a Ghost is considered to be "safe". All Players except the one that found the Ghost run to the Exit. The found Ghost starts moving towards the closest Player other than the one that found it in an attempt to "catch" it. If the Ghost catches a Player, the latter becomes a Ghost that starts wandering. All players that arrive at the Exit cell disappear from the grid.
- React
- TypeScript
- konva and react-konva (HTML5 canvas and respective bindings for React)
- styled-components (component styling)
- pathfinding (calculation of the shortest path between agents)
- Download or clone with git this repository from https://github.com/Vixan/ghost-in-the-graveyard
- Install dependencies
npm install
- Start development server
npm start
- 0.1
- Initial Release
This project is licensed under the MIT License - see the LICENSE.md file for details
Inspiration, code snippets, etc.