Piece styles
A bot's style is drawn for the pieces of the colour it plays, in live games, watched and replayed games and review mode. Sprites live in bots/<Plugin>/sprites/<bot name>/: wP.svg replaces a piece, overlay-wP.svg > overlay-P.svg > overlay-white.svg > overlay.svg is drawn on top (docs/protocol.md, "Bot skins").
Cross table
Players
Every ruleset keeps its own rating per player (Elo on the bots' scale, everyone starts at 1000).
Field
Which bots stay in the tournament. Timings are the average thinking time per move and per game in the chosen run, computed from its games. Switch a bot off to cut it; the notes are Claude's reasons. Save, then ask Claude to apply the choices to bots/field.json. Click a column to sort.
Run a tournament
Individual bots
The Run button sends this spec to the backend, which plays every pairing on all cores and streams each finished pairing back over the WebSocket.
Find calibrated Martin runs after the main tournament
Searches the sf_mix(q, N) family for the setting rated exactly at the target on this tournament's scale. q < 0 plays Stockfish's worst move with probability |q|, q > 0 its best move, otherwise a random move. Candidates play only the field bots within ±300 of the target, so each round is short. Rounds: coarse, fine, confirm.
turnarment calibrate --target 250 --rounds 3
| Round | q | nodes | games | Elo | ± | vs target |
|---|
Stockfish ladder run before the main tournament
Measures a grid of Stockfish settings, from worst-move dilution up to the node limit, on the martin = 250 scale, interpolates the setting for every step of Elo and confirms each one with a short match. The result is written to the ladder file that Fish.Emulate and the stockfish_elo_* bots read. A separate run (runs/ladder-…); one job at a time.
Active ladder file: …
| Elo | setting | measured | confirmed |
|---|