All projects
Solo developer Dec 2022

Turkish Draughts AI

A competitive game AI using minimax with alpha-beta pruning, tuned to pick optimal moves under a strict per-match time budget.

  • C++
  • Algorithms
  • Game AI
  • Minimax
Turkish Draughts AI cover

Problem

Turkish Draughts has a high branching factor, and the assignment came with a hard constraint: the AI had to play a full match within a 10-minute budget. A naive search explodes long before it finds a good move.

What I built

A competitive AI that plays Turkish Draughts on an 8×8 board using minimax with alpha-beta pruning, engineered specifically for the game’s large branching factor and tight runtime limits.

How it works

  • Minimax + alpha-beta pruning to cut the search tree without changing the chosen move.
  • Search depth and move ordering tuned so the engine spends its time where it matters.
  • Hand-designed heuristic evaluation functions to score non-terminal positions.

Impact / results

  • The heuristics chose the optimal move ~98% of the time within the 10-minute match budget.
  • Reliably beat baseline opponents while staying inside the runtime constraint.

What I’d do next

  • Add iterative deepening with a transposition table to reuse search across moves.
  • Learn evaluation weights from self-play instead of hand-tuning.