01
Angle 0° Power 50% Attempt 1
Drag anywhere and let go← → angle · ↑ ↓ power · Shift — ×10 step · Space — launch
A gravity puzzle · 10 levels in the browser
Gravity is your slingshot
Pull the probe back, let go — and let the planets bend the flight. Collect the shards and dive into the vortex. Nothing to install, no sign-up.
Mouse, touch or keyboard
This browser does not run WebGL, so the game cannot start here. The rest of the page works as usual.
Three moves
No engines, no steering. One shot — and gravity does the rest.
-
01Pull
Press anywhere and drag back. The longer the band, the harder the launch.
-
02Release
The dotted line shows how the flight begins. Then the probe is on its own, and the planets pull it in.
-
03Arrive
Fly through the shards and into the vortex. Every shard is one more star.
What is going on
Every planet bends space. The trick is to read those dips and use them.
-
The fabric of space
The grid under the planets is not decoration. The deeper the dip, the harder it pulls.
-
Gravity assist
Skim a planet and it will speed the probe up and swing it round. Just do not touch it.
-
Moons
From level four, moons circle their planets and start moving the moment you launch. The dotted line accounts for it.
-
A shrinking hint
On the first level you see almost the whole path; on the last, less than a second of it. The rest you have to feel.
Ten levels
From one rock in the way to a vortex wedged between four planets. Stars are kept in this browser.
Making of
VYR is a concept project: a game and its page, built from scratch without a game engine.
-
0
images, models or sounds in the game
Planets, stars, the vortex and the trail are shaders and geometry in code. Sound is synthesised with Web Audio.
-
120
physics steps per second
A fixed step and Verlet integration: the flight is the same at 60 and at 165 Hz, and the hint matches the real path.
-
10/10
levels solved in CI
Every level has a recorded solution. The tests fly it through the same physics and expect three stars.
-
2.1
KB of JS before you move
The page and the poster arrive as ready HTML. three.js loads afterwards, and only where WebGL works.
Ready to dive in?
The first level takes a minute. The last one takes luck.