Board Games
👥

Play friends live

Moves sync instantly over a live connection, so games feel like sitting at the same table.

🤖

Opponents for every level

Every game has an AI with a difficulty picker, from a gentle first game to a real challenge.

🎲

Five games and counting

Checkers, Hex, Breakthrough, Othello and Konane, each with its own engine.

How the AIs think

Four of the five AIs use the same core idea: imagine every possible move, then every reply, and so on, and pick the move that works out best if the opponent also plays their best. Hex works differently. The ideas below come up throughout.

Negamax search
Looks ahead through moves and replies, assuming both sides pick their best option at every step.
Alpha-beta pruning
Skips any line that can't beat something already found, so it can look much deeper in the same time.
Iterative deepening
Searches 1 move ahead, then 2, then 3… so it always has a good answer ready when time runs out.
Evaluation
When it can't look any further, a scoring rule judges who's ahead, e.g. material or mobility.

Game by game

Higher levels give each AI more to work with: more thinking time, deeper search or less randomness, depending on the game.

Checkers

Negamax · strongest engine

The most advanced AI on the site. It searches deeper and deeper until its time is up, remembers positions it has already analysed, and tries the most promising moves first. Before judging a position it plays out any pending captures, so it never stops thinking halfway through an exchange.

Difficulty
Thinking time: 0.1 seconds at level 1, up to 3 seconds at level 10. With a second or more it often sees 15+ moves ahead.
What it values
Pieces (kings worth 1.5 men), advancing men, guarding its back row, central squares, mobility, and trading down when ahead.

Hex

Potential field · Monte Carlo search

Hex has too many possible moves for a deep look-ahead, so levels 1 to 3 read the board instead. For every empty cell they work out roughly how far each player is from linking their two edges through that cell, spreading distances in from the borders until they settle. They then play where it matters most to both players: the cell that best shortens their own path while blocking yours. This part is adapted from Lutanho's classic JavaScript Hex program.

Levels 4 and 5 use a different approach, Monte Carlo tree search. They play out tens of thousands of quick random games from the current position, steering towards the moves that win most often. The random games always save a threatened two-bridge, so they play out much more like real Hex, and the search learns which cells are worth owning from every game it plays.

Difficulty
Levels 1 to 3 add less randomness as they go up and take more account of two-bridges, pairs of stones that can't be cut apart. Level 4 searches for a quarter of a second per move and beats level 3 about nine games in ten. Level 5 searches for a full second, playing out four times as many games, and is stronger again.
Opening
Plays its first stone near a corner. If you move first, it uses the swap rule to take your stone when it's placed away from the corners (levels 1 to 3) or away from the edges (levels 4 and 5).

Breakthrough

Negamax · iterative deepening

A fast, deep search that knows Breakthrough's forcing rules. A pawn one step from your home row always wins next move, so the AI treats it as won, and when yours gets that far it knows it must capture at once. That settles most races in a few steps instead of a long look-ahead. It remembers positions it has already analysed, tries captures and proven moves first, and before judging a position plays out any pending captures and pushes, so it never stops mid-exchange.

Difficulty
Levels 1 to 5 look that many moves ahead and reply almost instantly. Levels 6 to 8 look as deep as they can in 0.1, 0.25 and 0.5 seconds, usually 6 to 8 moves plus every capture that follows.
What it values
Pawns (much more as they near the far row), pawns backing each other up, keeping guards on its home row, and not leaving advanced pawns where they can be taken.

Othello

Negamax · iterative deepening

A fast, deep search that judges positions the way strong players do. Grabbing discs early usually backfires in Othello, so it cares far more about corners, keeping its options open while limiting yours, and not handing you a corner by playing next to an empty one. It remembers positions it has already analysed and tries its best moves first, and once its search reaches the end of the game it plays the final moves perfectly.

Difficulty
Levels 1 to 6 look that many moves ahead and reply almost instantly. Levels 7 to 10 look as deep as they can in 50, 100, 150 and 200 milliseconds, usually 7 to 8 moves, and further near the end.
What it values
Corners above all, then mobility (how many moves each side has), fewer discs next to empty squares, and avoiding the squares beside empty corners. Disc count only matters near the end.

Konane

Negamax · mobility

In Konane you lose when you run out of moves, so the AI plays to keep its own options open while squeezing yours. It searches one move deeper at a time until the level's depth or its time runs out, and tries multi-jump captures first. The opening removals are random to keep games varied.

Difficulty
The level sets how many moves ahead it may search, within a 1.5-second limit.
What it values
Mobility: how many moves it has compared with how many you have.
Start playing