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
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.