Checkers AI
Project Overview
I coded a browser AI checkers game that uses a Flask RESTful API and a minimax algorithm.
Check out the demo for a video of the game!
Design Process
I started by doing research on game theory algorithms, settling on a minimax algorithm with alpha-beta pruning as a good idea to build. I created the fundamental elements for the game loop, including the minimax simulation. Designing the cost function required a bit of research into the game theory behind Checkers until I found something that performed optimally. I then added the alpha-beta pruning to decrease decision-tree exploration time by over 60%! I really enjoyed learning about the tree algorithm behind this idea.
Creating player interaction was tricky as I had no experience with web dev. I followed some tutorials to create a basic Flask API to link the client and server side.
Skills and Tools
I learned about:
- Game theory!
- Full-stack app architecture
- Git version control and repositories
I used these tools:
- Python
- Git