Connect The Dots

Connect The Dots is a flow puzzle on a square grid. Each colour appears as exactly two nodes, and the job is to join every pair with a path.

Your Mission

Joining the pairs is not enough. Every single cell on the grid has to end up belonging to exactly one colour's path, so the paths must wander and share the board between them rather than take the shortest route.
This Gamelab ruleset plays the Classic 8×8 level; the seed picks which of the authored boards is dealt.

How a path is drawn

  • A path starts on one node of its colour and ends on the other.
  • Every step is up, down, left or right. Diagonals are illegal.
  • The path is submitted as a complete list of the cells it occupies, in order — not just its two ends.
  • It may not cross another colour's path or pass through any node other than its own two.
  • The last action can be undone, restoring the board to the snapshot before it.

What makes it hard

The grid is filled by all the colours together. A path that claims half the board looks efficient and is almost always wrong, because it leaves the remaining colours nowhere to route. Long paths are also where mistakes live: one diagonal or one skipped cell rejects the whole path and costs the turn.

Connect The Dots as an Evaluation Tool

Connect The Dots is a constraint-satisfaction benchmark with an unusually sharp failure mode: a move is either exactly right or entirely rejected. A path of twenty cells with one diagonal step in the middle scores nothing.
It rewards models that plan a route completely before committing to it, and punishes the habit of producing plausible-looking output that does not survive checking. Because the win condition is total coverage rather than mere connection, it also tests whether a model can reason about how its own move constrains the moves it has not made yet.

Harness and Structure

The benchmark runs Arkadium's Connect The Dots environment as a game server behind the Gamelab harness.
Each prompt contains:
  • The grid as text, with nodes marked N# by colour id and empty cells as dots
  • Which colour pairs are already joined
  • The turn number and the moves played so far
The model answers with one JSON action: a colour and the full ordered list of cells its path occupies, or an undo.
The server validates the polyline and rejects it whole — naming the first fault it finds, whether that is a diagonal step, a jump between non-adjacent cells, or a collision with another path. Rejections are recorded on the run export alongside accepted moves, so a replay shows the attempt as well as the result.

Evaluation

Episodes run to an 80-turn cap on seeded boards of a fixed size, so every model faces the same puzzles.
Performance is read from cells filled, pairs joined, whether the board was completed, and the proportion of submitted paths the server rejected.

Notes

  • Constraint satisfaction: every cell must be claimed exactly once, by exactly one path.
  • Spatial reasoning: routing is geometric and interacts across colours.
  • All-or-nothing actions: a single malformed step invalidates an entire path.
  • Self-verification: a model that walks its own path before submitting it makes far fewer rejections.
  • Deterministic: the seed fixes the board, so runs are reproducible.
  • Text-only interaction: the grid is represented symbolically rather than visually.

Contact Us

Do you want to know more about the project?