An Arduino Checkers game with an opponent Minimax AI controlled by a Linux desktop
- The Arduino displays an interactive game board in which the player can use make moves.
- When a move is made, the Arduino sends the board to the desktop through the Serial port.
- The desktop evaluates the best move to make using the Minimax algorithm and the provided heuristics.
- The desktop sends the new board to the Arduino using the Serial port.
- The Arduino displays the changes on the screen and prompts the user for a move.
- Repeat until the game ends with one side winning or a draw.
- Writing the game engine from scratch using previous checkers knowledge
- Creating the board heuristics that would lead to a challenging opponent AI (failed :sad)
- Transform the Arduino code from using namespaces to classes
- Create a non-Linux setup so the game can be played on Windows as well
- Consider other options for the AI (better heuristics, machine learning?)
Created by Charles Ancheta and Poulomi Ganguly as the Final Project for CMPUT 275