For the Tablut competition 2020/2021, "Fondamenti di Intelligenza Artificiale" course, Bologna
Author: The Tulbat's team
Tablut is an ancient viking board game. The game board is grid of 9x9 squares where two players alternate in moving their pawns:
- attackers (black soldiers)
- defenders (white soldiers and one king)
This repository contains an intelligent agent able to play to the game and it was designed to take part in the Tablut Students Challenge 2020/2021 at the University of Bologna.
The rules used in this version are known as "Ashton Tablut", explained in these slides) and the agent interacts with a Server done by tutor Andrea Galassi.
The language used is Java.
Both white and black players have been implemented using Iterative Deepening search with AlphaBeta Pruning using the Aima library. Simple heuristics described in these brief slides guarantee a deep exploration of the game tree.
First of all, you need to download the project through cloning.
git clone https://github.com/sissaNassir/Tulbat.git
cd Tulbat
You need to have JDK >= 16. From Ubuntu console, you can install it with these commands:
sudo apt update
sudo apt install openjdk-16-jdk -y
To start playing, you will simply move in Executables
directory and run the Server with:
java -jar Server.jar
Then you will run either black and white artificial intelligent player:
./runmyplayer black 60 localhost
./runmyplayer white 60 localhost
You can run players also with different parameters:
./runmyplayer <role> <timeout-in-seconds> <server-ip>
<role> : role of the player in the game (black or white, it is mandatory)
<timeout-in-seconds> : time taken by the player to find the best moves (default: 60, not mandatory)
<server-ip> : ip address of the server (default: localhost, not mandatory)
We use Git for versioning.
The name of group enrolled in the Tablut Students Challenge 2020/2021 that presented this project is Tulbat.