Advanced — Quoridor AI Opponent

Warden plays the advanced tier: the third rung of the six-tier difficulty ladder — a separate experimental engine sits outside that ladder entirely. It is the opponent to move to once you are beating Intermediate more often than you lose to it and you want a game where nothing is handed back. See Bots for where it currently sits against the rest of the roster.

Two things change at this rung, and they change together. Advanced is the first tier whose move is not touched by the deliberate weakening wrapper that makes the two gentlest tiers play like weaker players rather than like fast strong ones — Beginner is where that wrapper is explained, and it stops here (src/lib/quoridor/engine/mcts/engine-v3.ts). And advanced is the first tier whose budget is resolved per position rather than fixed in advance; below this rung there is no range to resolve (how a position's complexity sets the budget).

What a few thousand playouts buys

Advanced is capped at 2,500 playouts a move — exactly a third of the ceiling the tier above it gets (src/lib/quoridor/engine/mcts/engine-v3.ts) — and that is a ceiling rather than a promise, since pacing can resolve to less. Split a few thousand playouts across every legal pawn step and every candidate wall and most candidates end up sampled a few dozen times, with only the two or three the search already likes getting further than that (how a budget divides; how the engine scores a move).

The figure is set by hand rather than arrived at. On a complicated board the per-position envelope at this rung would ask for more than 2,500, and the tier's own number sits on top of that envelope as a fixed clip, trimming the request back. So the gap between this rung and the one above it is a decision someone made and can move, not something that fell out of letting a stronger tier think for longer.

What the number does not settle is the kind of position Warden handles well. That is decided by which phases it spends the number in — and there are two it declines to spend it in at all.

The lesson this tier teaches: not every phase rewards calculation

Here is the thing worth taking away from playing Warden, and it is a fact about Quoridor rather than about software: a game has three phases, and the middle one carries most of what hard thinking can buy. The engine is unusually frank about this, because there are positions in the other two phases it declines to search at all. Watching where it chooses to think is a decent guide to where you should.

The opening is a lookup — while it lasts. Before a search tree is built, and only inside a window of the first six plies, the engine checks the position against a fixed table and plays the stored move if it finds one (src/lib/quoridor/engine/book.ts, src/lib/quoridor/engine/mcts/engine-v3.ts). The table is small and deliberately so: a centre march for both colours a few moves deep, plus a handful of replies to an early wall. Two things follow, and both are usually got wrong about opening books. It is a mainline, not a repertoire — step off it and the lookup simply misses, and Warden searches the position at full budget from ply one like any other. And the window is short: six plies, three moves each, after which the table is never consulted again whatever is on the board. A separate rule makes each pawn's very first move a straight step forward without consulting anything, and a companion rule keeps its pawn stepping along a shortest path while the game is early and its pawn is still on the centre column (why that rule exists).

What the moves inside that window are actually worth belongs to Openings, not to this page. What belongs here is how modest the claim behind the book actually is. It was not adopted because consulting a table beats searching: measured head to head against the alternatives, the engine's own book arm came out inside statistical noise on strength and was shipped on a safety check and on being the simpler of the options that passed it (src/lib/quoridor/engine/mcts/opening.ts). What it buys is consistency, and a budget not spent in a phase where the board is still symmetric and a search has very little to bite on.

The endgame drops out of the search too, in two separate ways that are constantly confused with each other. The first applies to every tier on the roster and to the experimental engine as well: a settled race with no walls left in either supply is solved rather than searched (how the engine works). The second is one-sided and starts exactly here. From advanced upward, if the bot itself has no walls left, it skips the search regardless of how many you are still holding, and simply steps along a shortest path (src/lib/quoridor/engine/mcts/engine-v3.ts). The reasoning is that a player with no walls cannot change the terrain, so its only remaining decision is which route to walk. Do not merge the two cases: the first needs both supplies empty, the second only needs the bot's — which is why the shortcut is something you can bring about deliberately and the solver is not.

One limit applies to both, and the site's own Endgames page draws it, so this page should not blur it. The distances driving the shortcut and the solver alike are measured over walls only. Neither models the jump. A wall-less race is a verdict only once the two pawns can no longer meet, and until then Warden's endgame is arithmetic on a number that can still move.

How to beat Warden

Do not try to win the opening. Inside the book window there is nothing to out-calculate — Warden answers from a table, instantly, and a player who burns real thinking time on move two has spent it against a reply that was decided before the game started. Taking it out of book does not help either; it just buys you the full-budget search you were going to face six plies later anyway. Play the phase cheaply, keep your walls, and spend your attention on the position that exists once the window closes.

Pose anything that needs a decision inside the window. Warden makes a genuine choice in exactly one phase. Before the sixth ply is up it may be answering from a table, and once its own supply is empty it is answering from distance. Neither is a judgement you can influence: the first reply is stored, and the second is a computation you can run yourself before you commit to anything. So a plan that depends on Warden choosing — a bait, a route it has to commit to, a wall it has to answer with a wall of its own — has one address: after the book window has closed, and while it still has walls in hand. Posed outside that window the plan is not defeated so much as ignored, and an ignored plan has still cost you whatever it took to build.

Count its wall supply, not just yours. The moment Warden places its last wall it becomes close to fully predictable, because from that point it is not searching — it steps along a shortest path every turn until the game ends. It will not bait, will not wait, and will not try anything speculative when it is behind. Two honest qualifications: a shortest-path step is not always a forward step, since it walks sideways wherever a wall bends the route, and where two routes are the same length the tie-break is fixed in code but not something you can read off the board. Neither gives it a plan. So getting Warden to empty its supply while you still hold walls is a concrete, winnable objective in its own right — it converts the rest of the game into a position you can calculate against a known reply. The corollary matters more than it sounds: if both supplies empty together, the race is settled and Warden will not misplay the arithmetic, so whatever advantage you are going to have has to exist before the last wall leaves the board.

Who this tier is for

Warden suits a player who has stopped losing on tactics and started losing on plans. Its answer to the move in front of it is reliable, so a game against it reads out how well you are converting a position rather than how well you are spotting a blunder. If it holds level with you through the middlegame and then closes out the race, the middle of the board is where the work is. If you are beating it comfortably, Expert is the next rung, and the sample size behind every candidate move triples.

Every bot on the roster is playable without an account; Pricing covers what the optional plans add on top, and the Glossary defines any term on this page that was unfamiliar.

Last updated 2026-08-06