Fill-Game is a two-player (adversarial) version of Fillomino. It is (probably) first proposed by Dr. Martin Müller; if so; this software is the first for Fill-Game.
- Local play
- Two human players
- Human vs. AI player
- Cross-machine play
- Cross-platform deployment
- Proof Number Search (PNS)
- Depth-First Proof Number Search (DFPN)
- Minimax (with alpha-beta pruning and transposition table)
- Negamax (with alpha-beta pruning and transposition table)
- Monte Carlo Tree Search (MCTS)
To build with GUI (requires set up Qt5.12.8)
./linux_build.sh --gui
To build without GUI
./linux_build.sh
Start GUI version
./fillgame_gui
Start CLI version
./fillgame_cli <game-board-string> <time-limit>
To run unittests for algorithms
./test_main
To run experiments
./run_experiments.sh
- Ubuntu 22.04 / WSL2
- VS Code / CLion
- C++ 20
- GUI Framework: Qt5
- Unit test: Google Test
- Formatter: clang-format-12
- Profiler: Valgrind, kcachegrind
- Follows Google C++ Guide
- Profiler:
valgrind --tool=callgrind ./(Your binary)
&&kcachegrind callgrind.out.x