Draw the world
Walls, borders and goals, placed with a pointer or a finger. Routes come from Dijkstra over a visibility graph, rebuilt from the geometry every time you change it.
Pedestrian simulator
Draw walls, mark a goal, paint a crowd, and watch it find its way.
A 2016 Java and Swing school project by Pascal Andermatt and Jan Huber, rebuilt twice over: a native iOS app, and a page that runs the whole simulation in your browser with no backend behind it.
Built with love in Zurich, Switzerland 🇨🇭
What it does
Every pedestrian routes itself. Nothing is scripted, and nothing is sent anywhere.
Walls, borders and goals, placed with a pointer or a finger. Routes come from Dijkstra over a visibility graph, rebuilt from the geometry every time you change it.
Each pedestrian picks its own next step and takes the colour of the goal it is heading for. It turns black when it arrives — the way the 2016 original drew it.
The whole scenario is deflated into the URL fragment. A fragment is never sent in the request, so no backend sees your map — because there is no backend.
On iPhone
Draw a room, paint a crowd, and watch two hundred people find the gap.
Price the walk between two points: 276 m across the map, against Apple Maps' 522 m on real pavements.
Type One Apple Park Way, Cupertino — or any address — and walk a crowd through it.
The Swift model is checked against the TypeScript one bit for bit — the same crowd, the same arithmetic, on both. How that works ›