Bugs can be reported at the issue tracker at GitHub. There are no plans to add more game variants or new features to Pentobi, so please use the issue tracker only for bugs.
The only officially supported platforms is Linux, releases are done only as source code. The Windows version is maintained by an external maintainer, please report Windows-related bugs here.
Translations can be contributed at Transifex.
The Libboardgame modules contain code that is not specific to Blokus and could be reused for other board games.
- libboardgame_base General utilities and functionality for board games
- libboardgame_gtp Implementation of the Go Text Protocol (GTP)
- libboardgame_test Functionality for unit tests
- libboardgame_mcts Abstract Monte-Carlo tree search (MCTS)
The engine modules contain code that is specific to Blokus and the computer player used in Pentobi.
- libpentobi_base General Blokus-specific functionality. The board implementation is optimized for fast move generation needed in MCTS. For a definition of the game file format, see Pentobi-SGF
- libpentobi_gtp General Blokus-specific GTP interface based on libboardgame_gtp and libpentobi_base.
- libpentobi_mcts Main Blokus computer player used in Pentobi based on libboardgame_mcts
- opening_books Opening moves in SGF format used by libpentobi_mcts for fast move generation without search in early positions
- learn_tool Tool for learning the move priors used in libpentobi_mcts
- pentobi_gtp GTP interface to the player in libpentobi_mcts. See Pentobi-GTP for more information.
- twogtp Tool for playing Blokus games between two GTP engines (currently only supported on Unix)
The GUI module implements the user interface. It depends on the Qt libraries.
- pentobi Main program that provides a GUI for the player in libpentobi_mcts