(2018) How I created a database of all interesting Rush Hour configurations

Dev maps every Rush Hour puzzle; commenters: “cool, but try Subway Shuffle”

TLDR: A coder released an open database of every “interesting” Rush Hour puzzle and boasted fast runtimes. Commenters quickly pivoted to say Subway Shuffle is tougher and debated AI planning methods, turning a toy puzzle triumph into a showdown over harder challenges and smarter modeling.

A developer dad fell down the nerdiest rabbit hole: he built an open database of every “interesting” Rush Hour puzzle setup, open-sourced the code, and even bragged it runs in about three hours. That flex alone lit up the comments—cue the “actually…” brigade. One loud chorus? Subway Shuffle fans crashed the party, insisting the real endgame isn’t cars in a grid—it’s trains on tracks, with one commenter dropping a jaw-dropper: a level that takes 589 steps to solve, and a Jim Puzzles link to prove it. Suddenly this Rush Hour victory lap turned into a transit war.

Meanwhile, the brainy crowd rolled in with academic energy. Another commenter reframed the whole thing as an AI “planning” problem, noting that the usual way to describe such puzzles (PDDL—Planning Domain Definition Language) gets messy, but a new paper makes it far more intuitive. Translation: even the pros argue about how to describe the traffic jam.

Between the hype and the homework, readers joked about “dad buys toy for kids, writes a database for himself,” and poked at semantics—“steps” (tiny nudges) vs “moves” (bigger shifts)—like it was a sports stats debate. Verdict: the project rocks, but the community wants harder jams, shinier math, and maybe… a subway

Key Points

  • The author built a Rush Hour solver and a generator that used simulated annealing to increase solution move counts.
  • They then exhaustively generated and compiled a database of all “interesting” starting configurations.
  • “Interesting” puzzles are filtered by rules: no fully filled rows/columns, no non-primary horizontals on the primary row, one entry per cluster, unsolved, and minimal.
  • Terminology is defined (steps vs moves, goal state, cluster, wall), with “unsolved” and “minimal” precisely specified.
  • Compared with prior work reporting ~100-hour runtimes, the author’s approach runs in about three hours; code and database are open source and downloadable.

Hottest takes

“Subway Shuffle far outdoes Rush Hour” — gcanyon
“the model becomes very messy... extensions ... make the model intuitive” — mzl
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.