The purpose of what's above, despite fun, was to facilitate the testing of bots prototypes performance -by benchmarking them with searchable algorithms. The following have been accomplished:
-
playground
/tournament
modes providing respectively touch'n'feel / at-scale-simulated gameplay; - referential bots implementations i.e.:
minmax
,debuts
,random
,search
(andhuman
xd); - from-scratch AI-based bots prototypes (waiting for a dose of spare time...)
- transparent API exposed to interfere with: BoardAPI and PlayerAPI;
- twofold UI, via: shell CLI (see
demo.gif
) or clickable web GUI (once hosted here ).
TicTacToe is deterministic zero-sum game with 19683
possible states and 255168
gameplayes. See complete map of game tree depth depiceted by XKCD .
# for CLI --script howto:
# (optional) python3.8 -m pip install tqdm==4.51.0
python3.8 -m tictactoe -o human -x minmax
python3.8 -m tictactoe -o search -x minmax -n 10 # tournament
# for GUI --server deploy & run:
python3.8 -m venv .env && source .env/bin/activate && python3.8 -m pip install -r requirements.txt
streamlit run streamgui.py
# for GUI --server deploy & run with docker:
sudo docker build -t streamgui .
sudo docker run -p 8501:8501 streamgui