Mortimer the Chess AI
Mortimer is a chess playing program (commonly referred to as a chess engine) which I wrote as a part of my Computer Science A-Level Coursework. However, this project was primarily completed as a means of pursuing my wider interest in Artificial Intelligence. The full write up can be found here. A video outlining some of the features can be found here.
.
Mortimer uses bitboards as its internal board representation this leads to it having very fast move generation speeds since binary number manipulation is very fast on modern computers. As a result, when searching the game tree it can search to relatively high depths (for an amateur project). This helps to make up somewhat for the simple evaluation function. In future, to improve the strength of the AI, the evaluation function would have to consider additional factors such as king safety etc.
A jar is included and can be downloaded here. Alternatively the repo can be cloned and then the code executed as follows (requires JUnit to be compiled):
git clone https://github.com/ymohamedahmed/mortimer.git
cd mortimer/src/
javac */*.java
java core.main