Crack'd Mirror
Rules
Crack'd Mirror is two boards side by side, split by a thick divider — Blue plays only on the left board, Red plays only on the right, like two reflections that never cross. Blue moves first.
The Opening
- Both players start at the center of their own board.
- Player 1 can open in any direction — N/S, E/W, NE/SW, or NW/SE.
- Player 2's opening move can go any direction except along the line Player 1 just used. Moving in either direction along an axis counts as the same line — North or South both use the N/S line.
The Twist
- Once both players have taken their opening turn, you can't move along the directional line used by your opponent's most recent move, or by your own immediately prior move — even though your opponent's move happened on the other board entirely.
Still not clicking? Watch a real short game →
Your Path
- A dot you've visited is used up forever — you can't step on it again.
- You also can't cross your own path: a diagonal move can never cut across a diagonal you already drew earlier through that same little square, even if the dot itself is still open.
(That's Classic trail mode, the default. In Snake trail mode, your path has a maximum length instead — once you're at the cap, your oldest tail dot frees up again every time you take a new step, just like a moving snake.)
The Win Condition
- Corner your opponent until they have no legal move left on their own board — every neighboring dot used up, off the board, or blocked by the rules above.
- To claim the win, you must execute one final victory move, checked only against your own last direction — your opponent's restriction no longer applies to you, since they didn't get to move.
- If you're the one who's stuck instead, your opponent gets the shot at that same victory move. If neither of you can make it, it's a draw.
New to this one? Medium is a good place to start — it runs a genuine three-move-deep search off the same scoring the rest of the game uses, just with less foresight than Hard's five, so it plays honestly but can still be out-planned.
Controls
Clicking or tapping a highlighted dot on the board moves you there, same as always -- whichever board lights up is whoever's turn it is.
To play by keyboard instead, type a compass direction into the move box below the board and press Enter or Play: N, S, E, W, NE, NW, SE, or SW. You never need to say which board -- it always applies to whoever's turn it is. Type "status" (or just "st") at any time to have the board read back -- note that a bare "s" always means South, not "status," since that's South's own one-letter code.
Prefer no on-screen keyboard at all -- especially handy on phones, where it eats a lot of the screen? A "Keyboard move-entry" checkbox in Settings hides the move box and its label. That choice is remembered per device, not per game, so you can have it on for a mouse/trackpad and off for touch.
Roots
Crack'd Mirror is in the tradition of pursuit-and-block games — most directly Isola, a 1970s abstract strategy game where two players move a token and remove tiles behind them, and the last player able to move wins. The "can't repeat your own or your opponent's last direction" rule here is an original twist layered on that same basic shape: keep moving, don't get cornered.
Under the hood
The AI here doesn't score positions by who's closer to winning — it scores by mobility, counting how many legal moves you have on your own board minus how many your opponent has on theirs. Medium and Hard both run a real search off that score (three moves deep, nine moves deep) with alpha-beta pruning and the same move-ordering trick as Corner 'Round: try the moves that look best first, so the weaker branches get cut off faster. Experimental stays at Medium's own depth — three moves — but swaps in a sharper, rule-aware version of the score itself: instead of just counting your current legal moves, it sums up, for every move you could make right now, how many moves you'd still have from wherever that move lands you (and does the same for the opponent). Self-play testing originally found that judgment upgrade alone got Experimental to roughly Hard's own strength without searching any deeper at all, back when Hard searched five moves deep; Hard's depth was later increased to fix a real weakness in its play (it was mechanically boxed into always answering an opening exchange the same predictable way), so that comparison no longer holds — Experimental now sits below the deeper Hard. A genuine win — the opponent stuck with no legal move — gets treated as a fixed, enormous score rather than left for the mobility count to merely imply, so it's never mistaken for just a strong-looking position, at every difficulty including Experimental. Every difficulty, Easy included, always grabs a move that wins outright if one's available; Easy's randomness only kicks in once winning isn't on the table this turn, with a 30% chance to at least dodge handing you a free win. Nothing here searches for "checkmate" the way Corner 'Round's does — it searches for room to keep moving, which turns out to be a very different kind of lookahead. Unlike Hourglass, Crossed Corners, and Four-Patch, none of this is exactly solved: the board's too open for a brute-force search, so "perfect play" here means whatever the deepest search finds, not a proven guarantee.
The cross-player axis lock — you can't repeat your own last line, and you can't repeat whichever line your opponent just used on the other board, even though it's a separate grid — is the one original mechanic layered on top of the game's Isola roots, and it's inherent to how tense this game feels: it's what keeps both boards tied together even though the pieces never actually meet. The self-crossing rule (your own diagonal can't cut back across a diagonal you already drew) is a smaller, quieter version of the same idea — you're boxed in by your own path, not just your opponent's.
Real self-play — 1,500 games at medium difficulty, alternating who starts — turned up a genuine first-mover edge: roughly 57-60% for whoever moves first, 40-42% for whoever moves second, under 1.5% draws. That's a real structural bias, not a rounding error, and unlike some of the other games here, there's no obvious dial to tune it away — no board size or flip budget to sweep through simulation. It's just what falls out of two symmetric boards governed by a shared, alternating lock. It hasn't been corrected for, which is part of why its skill ceiling stays high: the tactical richness that makes it worth mastering is the same richness that makes the fairness math messier than the more tightly-constrained games in this collection. None of that seems to hurt its replayability, though — trading off who goes first each time is half the fun, and losing a close one is usually just an excuse to demand a rematch.
Swindle mode is a separate scoring system layered on top of the same engine, for a single position that's already proven lost with perfect play. Your opponent's replies aren't drawn from Easy/Medium/Hard at all — every move is looked up from a fully solved response table for that exact position, the actual fastest-possible finish, not a heuristic playing well. Par, Medium, and Hard are all counted the same way: only your own moves as the defender, never the pursuer's, since that's what the live "moves survived" counter on screen has always meant. An earlier version of this scoring counted total plies from both sides instead, which sounds more informative but turns out to carry almost no independent signal — turns alternate strictly except for the final move, so a total-ply count is just twice the defender-move count, give or take one. Par is calibrated from how the real Medium and Hard AI actually held out playing the defender's side, so it's a genuinely human-reachable target; the proven ceiling is the exact longest survival achievable with perfect play from that same starting position, found by a distance-to-loss solver that (unlike the everyday W/L/D solver) can't stop at the first win it finds — it has to check every reply to find the one that delays the loss longest. That same solver is what reconstructs the one full optimal defender line behind "Show the winning line," available only after you've finished your own attempt.