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. Instead of an exam, your mark will be based on the program you build. There will be a tournament, for fun and for a tiny prize, at the end of the course.

Lessons

  1. Rules of Mini-Chess
  2. Build a Mini-Chess Board
  3. Build a Mini-Chess Move Generator
  4. Build a Mini-Chess Mover
  5. ?HW 1: Build a Mini-Chess Random Player
  6. Build a Mini-Chess State Evaluator
  7. Build a Depth-Limited Negamax Search
  8. Do Iterative Deepening Timed Search
  9. ?HW 2: Build a Mini-Chess Player
  10. Add Alpha-Beta Pruning to the Search
  11. Order the Moves for Alpha-Beta
  12. Do Do-Undo
  13. Some Improvements
  14. Validate Your Program