1. Finish the campaign, then name the method honestly
Hex-a-Hop looks simple: move across a hexagonal board and remove every green tile. The original 100-level campaign gradually adds collapsing bridges, trampolines, ice, rotating spinners and cannons. We asked whether classical search could finish the entire collection before investing in a larger learning experiment.
Play the original Hex-a-Hop →. The experiment runs offline; this article does not add an automatic player or change your saved progress.
2. Represent the rules before exploring futures
A search state needs more than the player’s position. It includes the changing tiles, remaining pickups and held jump boots. Moving off a fragile tile may destroy the only way back. Rotating a spinner changes neighboring tiles. A cannon can remove a distant tile, so distance alone is a poor guide to progress.
We extracted a headless rules kernel from the original game source: the same movement, collision, rotation, laser and finish logic, with graphics and audio made inert. This lets a local CPU explore possible actions and replay proposed routes without rendering every frame.
3. Strengthen the search with structure
- Simulate legal movesUse the source-extracted rules
- Avoid repeated workRemember states and prune stranded branches
- Plan dependenciesPreserve bridges and order local objectives
- Replay from the startAccept only a real winning outcome
Basic search explores possible move sequences, remembers visited states and rejects branches that strand mandatory tiles. A portfolio of search strategies adds different priorities and local plans for the harder boards. These methods apply explicit rules; they do not learn weights from experience.
The difficult cases exposed a limitation of simply increasing the state budget. A useful plan must sometimes leave a region unfinished, collect equipment elsewhere, transform a crossing and return later. A local action that clears tiles immediately can destroy a necessary future route.
Before the final breakthrough we had 99 independently solved levels. Fetch Quest still resisted a run that recorded over 25 million root-search states. That budget exhaustion meant our strategy had not found a solution; it did not mean the level was impossible.
4. Why Fetch Quest needed a different plan
Fetch Quest couples equipment collection with board construction. Jump boots change ice behavior: without boots the player slides, while holding boots can stop the slide and transform the ice. More equipment is therefore not automatically a better state.
Our earlier plans protected central ice as a laser reflector for too long. The successful route converts it early and revisits it until the tile disappears. It rotates the upper spinner twice to build the final ascent and the southern spinner three times to create the right approach. The left cannon clears a green tile created by collecting an earlier pickup; the right cannon fires harmlessly east.
The route collects all eight boot pickups, spends two during preparation and retains six for the final ascent. Victory requires removing mandatory green tiles; six optional blue tiles may remain. Treating “clear everything” as the objective would reject a valid finish.
The resulting constrained planner visits 2,372 states and expands 2,332, taking about 0.03 seconds in the recorded local search run. That timing excludes compilation, analysis and the earlier failed attempts. It measures the assisted formulation, not how quickly a blind solver discovers the strategy.
5. What the complete result establishes
| Measurement | Result |
|---|---|
| Verified winning routes | 100 / 100 |
| Independently discovered by classical search | 99 / 100 |
| Walkthrough-assisted classical planning | 1 / 100 — Fetch Quest |
| Fetch Quest route length | 71 moves |
| Fetch Quest constrained planner | 2,372 states; 2,332 expansions |
| Address / undefined-behavior sanitizer replays | 100 / 100 passed |
| Experiment tests | 63 passed |
Every route was replayed from its original starting board. Each input was accepted, every finish was a genuine win, and no route died or hit the automatic-interaction cutoff. Every route prefix also passed the state-encoding and existing structural-pruning audit. Sanitizer checks covered these replays; leak detection was disabled.
This verifies complete coverage in our source-extracted kernel. It is not independent browser parity for all 100 levels, a proof of shortest routes, a general solver for arbitrary new boards or evidence that a learned policy generalizes. The headless adaptations and source hashes remain in the downloadable report.
6. The learning pilot did not match search
We also ran a small learning pilot on generated boards containing only ordinary and green collapsing tiles. These are simpler boards, separate from the original campaign. The held-out test split contains 64 unseen generated boards.
| Method | Wins |
|---|---|
| Classical search baseline | 64 / 64 |
| Imitation learning | 2 / 64 |
| PPO reinforcement learning | 0 / 64 |
| Imitation followed by PPO | 1 / 64 |
Imitation learning fits demonstrated actions; reinforcement learning improves a policy through interaction and rewards. Neither pilot qualified here. We retain those negative results instead of describing the later classical campaign completion as an ML success.
A future model could rank search branches or predict useful subgoals. To justify it, compare solved unseen boards and computation against the classical baseline at the same budget. Memorizing these 100 routes would not establish a transferable skill.
7. Count the achieved outcome and keep the remaining question
The current job—obtaining and verifying a winning route for every original level—is complete. Independent discovery remains 99/100, and the learning pilot remains unqualified. These are three different outcomes.
The useful lesson is that a better representation of dependencies can beat a much larger search budget. Classical planning was sufficient with published assistance for the last level. Another training run needs a new question and a bounded evaluation plan.
8. Inspect the routes and the limitations
- Complete campaign report: all 100 routes, provenance hashes, assistance classification, final-level trace and validation.
- Learning pilot report: board scope, splits, methods, hashes and measured results.
- Readable result and reproduction summary.
- Original game source and browser integration, with asset credits and licensing.
Paths under experiments/ and artifacts/ in the reports refer to local research files, not public downloads. The article serves static evidence; it does not run the research planner in your browser.
