← Projects
Gomoku · self-play · tree search

Connect Five

A 15×15 Gomoku project built as a sequence of increasingly capable bots. Each stage keeps the same game rules and evaluation positions, making it possible to see what tactics, search, and a learned network each add.

A115 × 15P15

Four opponents, one ladder

The game above lets you switch opponents without changing the board or the rules. That turns the interface into a compact history of the project: every stronger bot remains available as a useful baseline.

BaselineRandom

Chooses any open intersection. It is deliberately weak, but gives every later bot a clear first benchmark.

RulesTactical

Wins immediately, blocks immediate losses, and otherwise extends the strongest local line.

SearchLook-ahead

Considers candidate moves and the opponent’s strongest reply before committing to a move.

Current championNeural

Uses the AZ-R9 policy/value network to guide Monte Carlo tree search, with exact tactical checks around it.

Current browser modelAZ-R9

The neural bot runs entirely in the browser. On devices with at least four CPU cores, parallel workers evaluate the larger 64-channel AZ-R9 network; lower-powered devices fall back to the smaller AZ-R2 model.

How the neural bot chooses

A policy head proposes promising moves and a value head estimates the position. Monte Carlo tree search repeatedly explores those candidates, then plays the move with the strongest search evidence. Immediate wins and forced blocks are checked exactly so the learned model does not need to rediscover basic tactics on every turn.

The current network was trained from a mixture of labelled positions and self-play. Promotion was based on head-to-head games and a fixed tactical suite rather than training loss alone.

Rules and limits

This project uses standard 15×15 Gomoku with an exact-five win condition. Overlines are legal but do not win, and there are no Renju forbidden-move rules. Browser search is intentionally time-bounded, so move strength can vary with the device and available CPU cores.