Skip to content

Crosshair-Bench: Evaluating Frontier Models on an Unseen Game

October 28, 20263 min read

I wanted a board game to benchmark language models on that isn't sitting in their training data. So on October 25, 2026, I invented Crosshair and trained a tiny 114K-parameter AlphaZero net for it on my desktop GPU in six minutes. None of these models have ever seen a Crosshair board or read a strategy guide for it. Should be safe for a few generations yet!

This note walks through the results from the Crosshair LLM Benchmark.

How the tournament works

I ran a 480-game tournament (crosshair-bench) with 20 models from five labs (Flagship and Flash tiers, high and low thinking) plus four search engines from ai-crosshair. Model matchups are 4 games each with colors swapped, and the engines played more games against each other to anchor the rating scale at az-puct-1 = 1200 Elo. Each turn, the harness sends the rules, the 7×7 ASCII board, and the legal moves, and az-puct-400 scores the move in the background (AZ-400 Match in the chart below). Check it out:

Leaderboard (480 Games)
#Model
1az-puct-4000engine
2343
127–1 (99%)82.9%—
2az-puct-400engine
1888
117–18 (87%)99.9%—
3gemini-4-argon@high
1440
19–13 (59%)42.2%$0.39
4gpt-6.1-sol@low
1408
9–11 (45%)39.9%$0.14
5gpt-6.1-sol@high
1398
17–15 (53%)40.4%$0.49
6gemini-3.8-flash@high
1328
20–16 (56%)46.3%$0.17
7gemini-4-argon@low
1290
6–14 (30%)38.8%$0.10
8claude-opus-5.5@high
1259
14–18 (44%)36.0%$0.55
9claude-haiku-5.5@low
1255
5–11 (31%)38.3%$0.01
10claude-haiku-5.5@high
1223
16–20 (44%)38.0%$0.02
11deepseek-v4.1-flash@high
1211
18–18 (50%)35.1%$0.04
12az-puct-1engine
1200
12–45 (21%)54.2%—
13gpt-6-luna@high
1158
13–23 (36%)36.5%$0.02
14deepseek-v4-pro@high
1148
11–21 (34%)38.7%$0.32
15random-uct-50engine
1135
46–83 (36%)29.0%—
16gemini-3.8-flash@low
1135
3–13 (19%)32.2%$0.04
17claude-opus-5.5@low
1085
4–16 (20%)31.8%$0.31
18qwen3.8-flash@high
1036
11–25 (31%)28.1%$0.01
19qwen3.8-max@high
978
6–26 (19%)31.6%$0.18
20gpt-6-luna@low
970
2–14 (13%)29.5%$0.01
21qwen3.8-flash@none
909
2–14 (13%)21.9%$0.01
22deepseek-v4-pro@none
899
2–18 (10%)20.4%$0.02
23qwen3.8-max@none
866
3–17 (15%)30.1%$0.17
24deepseek-v4.1-flash@none
865
1–15 (6%)17.1%<$0.01

Against the engines

Every model played 4 games each against the MCTS and AlphaZero baselines:

  • Without tree search, top LLMs win: gemini-4-argon@high (1440 Elo) and gpt-6.1-sol swept random-uct-50 4–0, and 9 of the 20 models finished ahead of the raw policy net (az-puct-1, 1200 Elo). If the neural net isn't allowed to search ahead, a frontier model thinking in its scratchpad can beat it.
  • At 400 simulations (az-puct-400, 1888 Elo), the engine went 79–1: 19 of the 20 models got swept 0–4. Only gemini-4-argon@high took a game (1–3).
  • At 4,000 simulations (az-puct-4000, 2343 Elo), the engine went 80–0: Even when gpt-6.1-sol@high spent 70 seconds and $0.49 per game thinking through lines, az-puct-4000 (0.28s per move) had the board locked by ply 16.

Thinking budget vs. model size

High thinking beat low thinking 25–15 (+149 Elo on average) on the same model. More interesting: I pitted each lab's smaller Flash @high model against its own Flagship @low/@none model, and the small models won 16–4:

Flash @high vs. Flagship @low / @noneFlash @high won 16–4 (80%)
Flash @highFlagship @low / @noneScoreEloCost / Game
claude-haiku-5.5@highclaude-opus-5.5@low4–01223 vs 1085$0.02 vs $0.31(17× cheaper)
deepseek-v4.1-flash@highdeepseek-v4-pro@none4–01211 vs 899$0.04 vs $0.02
qwen3.8-flash@highqwen3.8-max@none4–01036 vs 866$0.01 vs $0.17(13× cheaper)
gemini-3.8-flash@highgemini-4-argon@low2–21328 vs 1290$0.17 vs $0.10
gpt-6-luna@highgpt-6.1-sol@low2–21158 vs 1408$0.02 vs $0.14(7× cheaper)

Not a single low-thinking Flagship won its mini-match. claude-haiku-5.5@high swept claude-opus-5.5@low 4–0 at 16× lower cost, and qwen3.8-flash@high swept qwen3.8-max@none 4–0 at 13× lower cost. On a game you haven't memorized, having tokens to actually work through moves matters way more than model size.

Flagship and Flash round-robins

In the 5-lab round-robins (4 games per pair):

  • Flagship @high: gpt-6.1-sol@high (12–4) took first in the head-to-head bracket, sweeping Opus and Qwen 4–0 and splitting 2–2 with Argon and DeepSeek. gemini-4-argon@high (11–5) finished one game back in the round-robin, though its win over az-puct-400 kept it #1 overall on Elo.
  • Flash @high: gemini-3.8-flash@high (13–3, 1328 Elo) crushed the Flash bracket, hit the highest AZ-400 Match rate in the entire tournament (46.3%), and rated higher than three of the five Flagship @high models. Apparently Flash didn't get the memo that it was supposed to stay in the budget bracket.

Walking through the best games

Here are four of the best games from the tournament. Pick a tab below to step through the board, the az-puct-400 eval bar, and what the model was thinking on each turn (or click any model on /benchmark to browse all of its games):

The lone LLM win in 80 games against 400-sim AlphaZero: gemini-4-argon@high spots that Red's push to f7 leaves Row 6 and Column a exposed.
az-puct-400↕
16 stones
89
123456✓7abcdefg
gemini-4-argon@high↔
18 stones
17... F6· gemini-4-argon@high
✓ Solid
Eval 78% → 89%· Best: A7· Next: Row 6 / Col f
“... is to understand how their limited legal moves (`f1`, `a6`, `g6`) impact my winning strategy. Each response presents a clear path for me to secure victory, either through a direct win at `a1` or a tactical cascade. Blue already has a ...”
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.