In this project, a working game of checkers is developed in Python, implementing a minimax AI and a reinforcement learning AI agent. The idea is that the RL agent can play against minimax to explore state space and learn best practices. After this initial training setup, we can utilize self learn to further optimize the performance of the RL agent.