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.
cd web-client npm install npm run test:unit npm run build cd ../backend
Now is a good time to create and activate a virtual environment, e.g. on Linux:
python -m venv venv . venv/bin/activate
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
cd ../backend export FLASK_APP=server 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.