This repo contains the code for an AI bot, for playing a game of Tak. Tak is a recent game taken from the The Kingkiller chronicle. It is a board game which requires some strategic play. The bot we have developed is part of an assignment for COL333: Intro. to AI course.
To make the bot play against itself call the following scripts in the same order:
./server.sh <PortNo>
./player1.sh <PortNo>
./player2.sh <PortNo>
TakBot uses a minimax tree to make decisions on the moves it wants to make in a given scenario. It rates all the possible future states it can see upto four moves deep within the Tree and then selects the move which maximises this utility function.
We have made the TakBot play against itself in multiple different configurations, similar to what AlphaGo does to train without a human at the other end. It learns the features and their weights in the utility function thus getting better at rating these future states heuristically.
We plan on using a augmented Monte Carlo-* Mininax Search in the future as is done here