Exploration of AI effectiveness within the game of Castle

Cyrus Dobbs


Supervised by Frank C Langbein; Moderated by David J Humphreys

The aim of this project: • Implement a user interface and game engine to run this game o I will produce a GUI using JavaFX as an interface for human players to interact with the game. The game engine will also have an interface for AI players to interact with. • Add artificial intelligence o Information Set Monte-Carlo Tree Search (ISMCTS) player. • Add networking capabilities to the game o An authoritative game server that utilises Websockets and TCP to connect the players together. I am aiming for networking functionality that will allow for a minimum of two players to connect with ease and without latency issues during gameplay.

I would like to focus more time into the AI aspect of the project where I hope to produce at least an ISMCTS based player. I will write the game logic, UI and game server in Java. After producing a working system, I hope to evaluate the effectiveness of my AI implementations and networking solution.

I plan to evaluate my project by comparing the performance of different AI’s. • ISMCTS • Random move • Lowest card • ISMCTS with game-specific knowledge Tests could include: • Win rates with varying time allowed for each move. • Human evaluation: o How realistic are the AI’s moves? o How fun is the AI to play? My evaluation will also test the robustness of the networking aspect.

Initial Plan (03/02/2020) [Zip Archive]

Final Report (15/05/2020) [Zip Archive]

Publication Form