An implementation of the game originally desgined by Mark Steere in March 21, a copy of the research paper on applying machine learning to the problem of playing the game can be found
Bamboo is a two player game played on an initially empty hexagonal grid. The two players, Red and Blue, place their own stones onto unoccupied cells on the board, one stone per turn. Players are not allowed to pass.
A group is comprised of one or more interconnected, like colored, stones.
A player’s group can’t contain more stones than the number of groups he has.
The last player to place a stone wins.
A copy of the rules, with figures can be found here: http://www.marksteeregames.com/Bamboo_rules.pdf
Ensure the following are installed before running:
- Java 17
- Gradle 7.1
An executeable jar file of the latest release is available or can be found by downloading the repository as a .zip and navigating to /app/build/libs
. Run the jar using the command java -jar Bamboo-main/app/build/libs/app.jar
from the extracted repository. (In case of issues, check the java version used is 17 and that the app.jar file path is correct)
To compile the game from source clone the repository and navigate to /Bamboo
then run:
$ gradle build
$ gradle run
Temporarily, the Neural Network only works on the size 5 grid, an out of bounds error will be thrown for any other size used. This is a known issue that will be patched in due course.