A small logic game built on real wave interference. Drop coherent point-source emitters on the board; their circular waves superpose — reinforcing into bright antinodes and cancelling into dark nodes. Solve each level by placing sources so the ◎ bright targets land on antinodes and the ⊘ quiet targets land on nodes.
No frameworks, no build step — just index.html, styles.css, and game.js.
- The field is a phasor sum:
Σ a(r)·e^{i(k·r + φ)}. The real/imaginary parts (C,S) only change when an emitter moves, so each animated frame is justC·cos(ωt) + S·sin(ωt)— O(1) per pixel. I = C² + S²is the time-averaged intensity (the interference pattern), used to score targets.- Levels are procedurally generated from a known random solution, so every puzzle is guaranteed solvable. The Hint button reveals the generating emitter positions.
Double-click index.html, or serve the folder:
python -m http.server 8092
# then open http://localhost:8092- Drag an emitter onto the board, drag again to move it, tap one to remove it.
- Light the bright targets and keep the quiet ones dark — at the same time.
- New puzzle regenerates at the current difficulty; Next level steps it up.
Built by Tyler Forstrom.