Note: this project was intended for an AI Amazons tournament for COSC322. You cannot play the game without connecting through UBC VPN, since the client must connect to the course server for the GUI to display all the pieces and set up a game (this is how the starter code was set up). I am working on making my own GUI and remaking the project in C# to make it playable on any device.
Currently, we use a NegaMax variant of Minimax with alpha-beta pruning and iterative deepening.
References used so far:
- [Variants of minimax] (https://www.ngorski.com/data/uploads/aigametheory/efficient-implementation-of-combinatoric-ai.pdf)
- [Antiope Eval] (https://webdocs.cs.ualberta.ca/~jonathan/PREVIOUS/Grad/tegos.msc.pdf)
- [Main heuristic] (https://core.ac.uk/download/pdf/81108035.pdf)
- [Lieberum Eval] (https://project.dke.maastrichtuniversity.nl/games/files/msc/Hensgens_thesis.pdf)
- [Higashiuchi (Move categorization)] ()
- [Avetisyan (Selective search)] ()
- [Comparing Alpha-Beta with Monte Carlo] (https://inria.hal.science/hal-01466213/document)
- [Zobrist Hashing] (https://en.wikipedia.org/wiki/Zobrist_hashing#Use_of_the_hash_value)
- [API Docs] (https://cmps-people.ok.ubc.ca/yongg/teaching/cosc322/project-and-assignments/cosc322-game-client-2.1/game-client-api-2021/index.html)