How Arrow Puzzle levels are made and verified
Every playable board begins with deterministic inputs and carries a complete solution that is replayed by code. This page documents the real generation and verification process behind the current Journey and Daily puzzles.
1. A seed makes the result repeatable
Journey assigns a fixed numeric seed and progression profile to each level. A seeded random function means the same inputs create the same candidate layout. The selected 100 boards are stored as path data. New journeys include 20 original silhouettes on 60×60 grids, starting at Level 5 and appearing every fifth level. Earlier saves retain their own catalogs, including the original 32×32 silhouettes. Versioned friend links open the same stored board that the sender played.
Daily uses the UTC date to select a board. Most dates use a date-derived seed and a preselected quality candidate. Scheduled silhouette days use a separately generated and verified board, so the same shape has different arrow arrangements in Journey and Daily. Everyone receives the same Daily board for that date. Dates through October 14, 2026 retain their original puzzles; later scheduled silhouettes use the new layouts.
2. Paths are connected shapes, not decoration
Each arrow is a sequence of orthogonally connected grid cells with one final direction. The existing boards use long paths, sightline gaps, and blocker relationships. The new picture silhouettes instead partition the full mask into connected paths and verify each straight exit before selecting a removal order. Rectangle, rounded, diamond, blob, and original leaf, animal, and object masks change the board silhouette without changing the core rule. The visible picture is made from playable paths.
30 Hard levels lead into 70 Nightmare levels. New journeys have 46 rectangle, 17 rounded, 8 diamond, 9 blob, and 20 picture silhouettes. These measurements describe the new catalog; older saves retain their original boards.
3. Challenge measurements and denser silhouettes
For the existing board families, the generator compares deterministic candidates using the progression profile. It scores whether several convincing choices remain visible, whether blockers are distant, and whether obvious runs are limited. The denser picture silhouettes use a separate bounded construction that fills the complete shape with playable paths. Their opening exits and path geometry are checked before they enter the stored catalog.
More paths make a picture more detailed and add moves, but do not by themselves prove that a puzzle is harder. The existing Hard and Nightmare progression labels remain pacing categories. Difficulty measurements and human playtesting are separate from the proof that every stored board can be legally completed.
4. The complete solution is replayed
Every board stores a solution order alongside its path data. The verifyLevel routine starts with every path still on the board and checks the order one item at a time. For each item it confirms that the path exists and that the straight ray beyond its arrowhead is clear, then removes the path. Verification succeeds only when the entire order is legal and no paths remain.
- Find the next stored path. A missing path makes verification fail.
- Apply the real clearance rule. Any occupied cell along the exit ray blocks the move.
- Remove the legal path. The next check runs against the updated board.
- Require an empty finish. A partial solution is not accepted.
5. What the public level table measures
The level catalog reads the same data used by the game. Board is the grid width and height. Shape is the playable silhouette. Paths and Par report the exact number of pieces in the complete solution. Opening counts the paths that can legally leave before the first tap. Target is a pacing guide, not a timer or requirement.
These numbers are calculated from the current playable 100-board Journey set. Its 20 picture silhouettes use the denser catalog introduced on October 14, 2026. The boards retain the existing five-level rhythm: flow, build, challenge, peak, and relief.
Test the verifier’s rule yourself
Trace one full path, scan its straight exit ray to the boundary, and remove it only when no other path crosses that line.
Play Level 1 →