Programming a perfect knowledge game that implements an artificial player that is capable of consistently beating a human player.
In this project, my goal is to program a two-player, perfect information game. This game is required to support players of different types, whether that be a player vs. player, player vs. computer, or computer vs. computer (relevant for AI training). Afterwards, I will build an AI that plays with a simple strategy to serve as a baseline to improve upon. In order to improve my AI player, I will need to develop a method of evaluating the worth of board positions. Key tools I will need to employ are artificial neural networks (ANN) and tree pruning algorithms. After building the AI player, I will finally need to iteratively improve it by generating game data, training the ANN, and experiment with altering the hyperparameters.
Here is the progess made so far!
On a 5x5 board, each player will select the locations to place two workers. On a player's turn, they are able to move one of their workers to one of eight adjacent spots, and afterwards place a tile on a adjacent spot relative to their new position, raising it a level. A player may only move up at most one tile, but they can go down as many as they like. Additionally, upon placing the fourth level, a "complete tower" is formed and a dome will block players from occupying that space. The goal is to reach floor three first or prevent your opponent from moving.
Listed below are the requirements for my project.
Final Presentation
Walkthrough