Build An Adversary In A Few Easy Lessons

This tutorial will teach you to build a computer game AI using "adversary search". I will show you how to build a computer opponent for a simple "mini" chess game in a series of small steps. In doing this, we will see how these players can be built for other chess-like games. Along the way, you will learn some computer science, some software engineering, and some coding skills.


  1. Rules of MiniChess
  2. Build a MiniChess Board
  3. Build a MiniChess Mover
  4. Build a MiniChess Move Generator
  5. Build a MiniChess Random Player
  6. Build a MiniChess State Evaluator
  7. Build a Depth-Limited Negamax Search
  8. Add Alpha-Beta Pruning to the Search
  9. Do Iterative Deepening Timed Search
  10. Build a MiniChess Player
  11. Connect your player to IMCS
  12. Some Improvements
  13. Validate Your Program