A downloadable game for Windows

What is Nil Rider?
You ride a unicycle and need to reach the goal triangles. The unicycle is powered only by the gravity. The twist is that the game takes place in a world with Nil geometry! You know those impossible staircases and waterfalls and triangles; Nil makes these possible. You gain speed simply by going in circles!

What is Nil?
Nil is a three-dimensional geometry. While in two-dimensional non-Euclidean geometries parallel lines converge (elliptic) or diverge (hyperbolic), in 3D they can also move in the third dimension.

More precisely, every point in Nil has well-defined North, South, East, West, Up, and Down directions. However, the up/down direction works different than in the Euclidean geometry: when you make a loop which would return you to the same place in the Euclidean geometry, its counterpart in Nil changes your vertical coordinate by the value proportional to the signed area of the loop projected on the NESW plane.

See this video for a more detailed explanation.

What do the instruments show?
The instrument with the blue arrow is the compass. It shows the current compass direction (NESW).

The instrument with the green arrow is the clinometer. If it points up, you are going up slope (and thus slowing down), if it points down, you are going down (and thus accelerating).

The gray line is the minimum camera angle (but the camera never goes below the current slope).

The instrument with the red arrow is the speed meter. It shows the current kinetic energy (proportional to speed squared).

Kinetic energy? I thought the law of conservation of energy did not work here?
It kind of does work -- if you return to the same location, your kinetic energy changes by the signed area of the loop (projected on the NESW plane). In most levels, the unit of energy (as shown on the speed meter) is a square (16x16 pixels).

How is Nil rendered?
The world is viewed as it would be seen by a camera that was in our simulated world, assuming Fermat's principle (that the light travels along geodesics, i.e., locally shortest lines). Most geodesics in Nil are helical. (See this paper for more details.)

How do objects (roads, fields, houses) affect the movement?
Houses (those with Penrose staircases on top of them) block your way, your run ends if you crash into them.

Other objects do not affect the game in any way. They are there just to help you to know where you are, and for cool visual effects.

What is the planning mode?
In the manual mode you manually control your unicycle. The planning mode is for players who are more interested in optimization puzzles rather than honing their reflexes. You draw the route (using splines) and the unicycle automatically follows that route, and you get awarded based on the time this route achieves.

What about Virtual Reality?
The game can be played with SteamVR -- use your VR controller (or keyboard) to turn left/right. Easier to see the slopes this way. :)

Where is the source code?
The source code is included with HyperRogue/RogueViz. (Compile with "mymake -O3 rogueviz/nilrider/nilrider.cpp" and run with commandline parameter "-nillrider".)

Any more cool non-Euclidean games?
Nil Rider uses the HyperRogue engine (aka RogueViz). See also Bringris. And lots of games listed here.

Any further plans?
The core idea of Nil Rider is probably not as rich as the games above, but depending on the interest, maybe some extra features will be added. Some quick ideas:

  • multiplayer
  • new tracks
  • map editor
  • new "twisted" geometries (Sphere, twisted ℍ²×ℝ aka the "weirdly named Thurston geometry", maybe even Berger sphere)
  • new objects on the map
  • Steam achievements/leaderboards

Download demo

nil-rider-win64-demo.zip 8 MB
Version 1.0


Log in with itch.io to leave a comment.

(1 edit)

Running into edge of map could leave controls not responding. Still can't figure what to do once four triangles are collected. Anyway, thank you for yet another scientific playable mindf!

Thanks for playing!

After crashing into a castle or running into edge, you can reverse the time (the default key is 'b') or restart the game.

If you collect the four triangles fast enough, you win. (The first track has two goal times, one should be very easy, and the other one should be very hard.) Then you can go to another track in the menu. (Other tracks have different shapes, and also their goals are sometimes different than "collect all the triangles fast enough".)