Labyrinth is a family board game. This project aims to recreate the game as a online multiplayer game, develop understanding of the game's complexity and implement practical search algorithms. There is one major difference to the original game: all players have the same objective.
Build the client and run the flask web server.
npm run test:unit
npm run build
Now is a good time to create and activate a virtual environment, e.g. on Linux:
python -m venv venv
install required packages:
pip install -r dev-requirements.txt
python -m pytest ./tests
Flask comes with a built-in server, which is perfectly fine for testing and development of algorithms
flask run --port=5000
Open localhost:5000 in your browser. Edge and IE are not supported.
If you want the server to be visible in your local network:
flask run --host=0.0.0.0 --port=5000
Bots are implemented in C++. They are not required to run the game. They are either called by the backend as shared libraries or compiled to WebAssembly to be used by the web-client. See readme in algolibs for build steps.