A blocker is any arrow that sits in the path of another arrow. Until the blocker moves or escapes, the blocked arrow cannot make progress. Learning to identify and systematically clear blockers is the core skill of intermediate arrow puzzle play.
For every arrow on the board, trace a line in its pointing direction. The first arrow you encounter along that line is the blocker. If you reach an empty cell or the edge, the arrow is free (no blocker).
On a 5×5 board with 12 arrows, you might have a dependency tree where 3 arrows are free, 6 are singly blocked, and 3 are part of a branching dependency. Your job is to clear the 3 free ones, then see what becomes free next.
Two arrows can block each other if they point at each other's positions in a cycle. This is a deadlock — neither can move first. Your only option is to find a third arrow that can move into one of their spaces, breaking the cycle. If no such arrow exists, the puzzle is unsolvable (our generator prevents this).
A chain is linear: A blocks B, B blocks C, C blocks D. To clear D, you must clear C, which requires B, which requires A. The order is fixed: A → B → C → D.
A branch is when multiple arrows are blocked by the same arrow: A and B both block C. You must clear both A and B before C can move. The order of A and B doesn't matter, but both must be done before C.
Branches introduce choice (which free arrow to clear first?) and are the hallmark of the Branches difficulty stage.