A sliding block puzzle is normally played inside a tray, in which the block can move around orthogonally. How about other possibilities of moving block around? Enter Subway Shuffle: Rush Hour on a graph. Or, as the developer Bob Hearn explains it:
Imagine playing Rush Hour, but make all the cars 1×1 instead of 1×2 or 1×3. But still some can only move vertically, others horizontally. Replace the cars by tokens, red for horizontal, blue for vertical, and put the tokens on nodes of a graph with colored edges: red tokens can only move on red edges, blue on blue. If you use a grid graph, with horizontal edges red and vertical edges blue, then you have 1×1 Rush Hour. If you relax the grid graph constraint, and also allow more colors, then you get Subway Shuffle. These relaxations allow for lots of interesting possibilities in puzzle configuration. It’s also possible to have extremely complicated puzzles in a very small space: I’ve generated some puzzles on small graphs that require over 1,000 moves.