Tak Bot Tutorial

Let's make an engine (AKA bot) that plays Tak!

The tutorial is organized into bite-sized chapters that build on each other:

  1. Explore how we Represent Tak inside our code.
  2. Build a command-line interface to Play Tak Locally.
  3. Implement a simple heuristic agent using Move Ordering.
  4. Add your bot to PlayTak in Talking to PlayTak.
  5. Make the engine smarter by thinking with Tree Search.

Prerequisites

You will need to know:

Python is a Plastic Fork

We will be using Python for this tutorial because it is a popular programming language and easy to learn. Unfortunately, it can be quite slow, so once performance becomes a problem, consider switching to faster language.

Many people in the Tak community made their bots in Rust, so there are plenty of examples as well as libraries to help you out in case you choose to switch later.

Other Resources

The Chess Programming Wiki is an excellent resource for creating engines that play board games (not just chess).