Hugo Hismans
FR

Back to the atlas

Screenshot of Mission Inconnue on desktop
Screenshot of Mission Inconnue on a phone

HH·044ScienceIn progress10 Oct 202610 commits

Mission Inconnue

A spy investigation to unmask x: keep the balance level

An investigation game to discover linear equations. In a spy agency at night, each equation is a brass balance: x is a sealed briefcase and numbers are gold bars. You drag operation cards (−3, ÷2, remove a briefcase…) that always act on both pans; if a card would break the balance, the scale tips and a "Denied" note drops. The goal: isolate a single briefcase to find out what x is worth, and close the case. The equation is typed out under the balance after every move, bridging the gap to mathematical notation. Seven case files and 56 missions lead from simple guessing to negative numbers (spy balloons), brackets (sealed envelopes) and turning witness statements into equations.

What shines

  • An equation engine independent of rendering, using exact fractions (no floats), with 29 tests that run in Node or the browser
  • A breadth-first solver checks that each level's par is exactly the minimum number of moves
  • An SVG brass balance that sways on a damped spring, with a balance gauge; gold bars drop and stack, and an impossible card tips the offending pan
  • Levels written as data ("2x+1=9", cards, par): the same format will power a future creation mode shared by link
  • Spy-agency art direction: redacted case files, HQ briefings, the equation typed out on a typewriter, an "Affaire classée" stamp on every win

How to use it

Drag a card onto the balance (or tap it) to apply it to both pans; isolate the briefcase to find x. Undo: ↶ button or Z key

Made with

  • HTML
  • CSS
  • JavaScript vanilla (modules ES, sans build ni dépendance)
  • SVG animé (balance à ressort amorti)
  • Pointer Events (glisser-déposer au doigt et à la souris)
  • localStorage
  • Google Fonts (Special Elite, Courier Prime)
  • Node.js (tests du moteur)
  • GitHub Pages

In the same constellation