1.6 KiB
1.6 KiB
Space Route Task Type
Navigate hex graph routes: player and enemy ships travel through a node graph. Child finds a path by following mathematical constraints between connected nodes.
Generation
Generator script: scripts/generate-route.mjs
Grid Rules
- 7×9 hex grid with jitter, nodes evenly distributed across map area
- Start nodes: Enemy = top-left corner, Player = bottom-left corner
- Start nodes trimmed to exactly 2 edges
Route Rules
- No asteroids/decorations on route nodes or neighbors of start nodes
- Routes use waypoints: route goes toward an offset waypoint for ~40% of steps, then changes direction toward final target (prevents straight-line paths)
- Route length: 7-9 steps for enemy, player gets 10 empty cells
- Ship orientation: check each ship image and set
flipEnemy/flipPlayerflags so ships face right
Difficulty
diffRange: [minNodeValue, maxSpread]- First number = minimum node value
- Second = max |difference| between connected neighbors
Scripts
scripts/generate-route.mjs— full page generation (grid, edges, values, routes, HTML)scripts/apply-edits.mjs— apply editor JSON back to HTML (regex-based style replacement)
Editor
editor.html?file={docId} — two edit modes:
Objects mode (default): drag space icons, edges auto-follow Nodes mode (press M): Shift+click nodes, drag to reposition graph
Key controls:
M: toggle Objects/Nodes modeR: toggle enemy route highlightH: flip selected object horizontally+/-: resize proportionally[/]: rotate ±5°- Save: writes to
docs/{docId}.data.json