Aaron Lobo
  • About
  • Projects
  • Photography
  • Blog
  • Q Github
  • j LinkedIn
  • a Twitter
  • @ Email

Checkers AI 2014

AI engine for checkers using a game tree and the minimax algorithm.

This Checkers AI program was born out of a question: can a computer ‘think’? This program is separated into three distinct layers:

  • UI: Uses a timer loop and graphics objects to render the game board to the screen
  • Game Engine: Provides gameplay logic such as move validation and checking for win/loss conditions
  • AI: An interface is defined which allows for different types of AI engines to be created The current tree-based AI engine uses a variation of the minimax algorithm. All possible moves, including those of the opponent, are recursively generated and added to a tree. This resulting gameplay tree is then traversed and nodes are evaluated based on predetermined weightings.

The branches are then summed and the top-level node (a move) with the highest score is executed. The AI’s offensive and defensive weights are customizable, allowing for AI with different characteristics.

This project is available on Github