About TheQuoridor.com

TheQuoridor.com is a free place to play Quoridor in a browser — against other people, against a range of AI opponents, or against yourself while you work something out.

What the site is

Quoridor is a two-player abstract strategy game played on a nine-by-nine grid. Each player starts with a pawn on the middle square of their own baseline and a supply of ten walls. The goal is to reach any square on the far side. On each turn you either move your pawn one square orthogonally, or place one of your walls to lengthen your opponent's route. The single restriction that makes the game interesting is that a wall may never leave a player with no path at all to their goal — you can delay someone indefinitely, but you can never seal them in.

That one restriction turns what looks like a race into a negotiation. Every wall you spend is a wall you no longer have, and every wall you place helps your opponent as well as hurting them, because walls are terrain and terrain works both ways.

The one exception to "move one square" is the jump: if your pawn is directly adjacent to your opponent's, you leap over it in a straight line instead of being blocked by it, and if a wall sits behind their pawn so the straight jump is itself blocked, you may jump diagonally instead. This matters more than it looks — it means two pawns racing down the same lane are not simply stuck queueing behind each other, and it is the rule most new players forget to check for when they are deciding whether a wall actually seals a corridor.

What is here

The site has a playable board, a roster of AI opponents across six difficulty tiers plus a separate experimental neural engine, daily tactical puzzles, a position designer, a coach that suggests and explains moves as you play, and a growing library of written material — the complete rules, a beginner's guide, a glossary, and a set of strategy articles.

You can start playing immediately with no account and no download: play any bot on the roster, or set up a local pass-and-play match with a friend on one screen. Creating a free account is what unlocks playing other people online — matchmaking, private invite links, and tournaments — along with a persistent rating and a game history you can review later. Nothing about the core experience of playing a game of Quoridor is paywalled; optional paid plans add deeper coaching and analysis tools and cosmetic extras on top of the free game, and remove advertising — see Pricing for what each plan currently includes.

The engine

The AI is a port of the UCT Monte Carlo tree search approach used by gorisanson's open-source Quoridor AI, released under the MIT licence and credited in the NOTICE file at the root of this project. It has no static position evaluator. Instead it plays a large number of games out to their end from the current position, using a cheap but sensible rollout policy, and keeps count, for every candidate move, of how many of those games it played through that move and how many of them it won. The value signal is the rollout policy.

The move it finally plays is the one that received the most playouts — not the one with the highest win rate (src/lib/quoridor/engine/mcts/uct-search.ts:82-85, which the source calls the "robust" child). Those two are not always the same pick, and the difference is the useful thing to understand here. A move the search only sampled a handful of times can show a flattering win rate on that tiny sample and then fall apart the moment it is examined properly; a rate of three wins from four games says almost nothing. Playout count is the harder number to flatter, because the search only keeps returning to a move that has held up under the games already spent on it. So the win rate is what the engine reads while it is thinking, and the visit count is what it trusts when it has to commit.

That design has a consequence worth knowing about as a player: the engine's strength is set almost entirely by how many playouts it is allowed. The difficulty tiers, from beginner up to the strongest, are at the top end the same algorithm thinking for longer. The lower tiers additionally apply a deliberate weakening step outside the search, so a beginner-tier opponent makes the kind of mistakes a beginner makes rather than simply playing a weaker version of a perfect move. Alongside that ladder sits a separate, experimental neural engine that learns from games played on the site — it is not yet competitive with the strongest tiers, and is offered as something to watch improve rather than something to be beaten by.

Two situations bypass the search entirely. An opening book handles the first few moves from a table of known positions. And once every wall is spent, the position is a pure race with an exact answer, so an endgame solver computes the result directly rather than sampling it.

Every difficulty tier plays a fresh search from the current position on every move — there is no persistent plan carried over from the previous turn, and no pondering while it is your turn to think. That keeps the bot's behaviour predictable move to move: it never "remembers" a losing plan and sticks with it out of inertia, and it never spends your thinking time running extra searches in the background. The trade-off is that the strongest tier needs a real time budget to reach research-grade play, so the site gives it one: the top difficulty is tuned against a wall-clock budget rather than a fixed move count, using a blitz-style ladder that allocates more time to positions the search itself flags as complicated and less to positions where one move is clearly best.

Coach Mode is deliberately a separate code path from the playing engine. It uses an older iterative-deepening alpha-beta search with a static position evaluator, because what a coach needs is not "the strongest possible move" but a stable, explainable score that moves smoothly as you step through a game — the kind of signal a rollout-based search does not naturally produce move by move. Turn it on and, on your turn, it offers up to three candidate moves — an offense pick, a defense pick, and a balanced pick — each shown as a ghost on the board with a short, plain-English tip about what that move does to both players' path lengths, so you can compare options before committing to one.

Fair play and ratings

Every rated game feeds an Elo-style rating, tracked separately per time control — bullet, blitz and rapid — because a player's practical strength under a fast clock and a slower one is not always the same number. The leaderboard ranks players by their current rating within each time control.

Guest play — a bot game or a local pass-and-play match started without an account — never affects any rating, since there is no persistent identity to rate. If that guest later creates a real account, games already played as a guest merge into the new account's history instead of being lost.

Puzzles and the position designer

The daily puzzle rotates once per day and is drawn from a position where there is a single best move or short forced sequence — usually a wall placement that either wins a race outright or prevents the opponent from doing so. Puzzles are a good way to practice reading a wall's effect on shortest-path distance without needing to play a full game to find out whether a plan works.

The position designer goes the other direction: instead of solving a puzzle someone else set up, you build the position yourself. Place both pawns anywhere on the board and add or remove walls freely — editing does not tie wall placement to the normal ten-wall-per-player supply, and it does not check that a move is legal along the way — and then play the position out against an opponent, or open it with the coach for a full analysis. A finished position can be saved and copied as a share link so someone else can pick it up exactly where you left it.

Contact

Questions, bug reports and feature requests are welcome. See the FAQ first — it covers the things people ask most often.

Last updated 2026-08-06