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.

Nice to see we're getting Hyperbolica for free. =D

Great game for aggregating some neurological training data for intuition about how nil space must work. All I need to do is get all the trophies...which seems to be pretty hard, but maybe I just need to keep learning.

By the way, does relativity in nil space only apply in translation, not in rotation? (You know, that thing where every frame of reference is a locally correct default.) Also, what would actual gravitational bodies (like planets) really be like in nil space?



Yeah, some of the trophies are probably hard -- the times are based on a computer solver, who sometimes finds ways to cut off time that I was not expecting. (Although a few seconds over the solver's solution are allowed.)

Nil is homogeneous (the same at every reference point) but anisotropic (not the same in every direction). Although it is rotationally symmetric (the up/down direction is special, but you can rotate around this axis).

No idea about actual planets :) I do not think anybody has studied that.

Hmm...that, actually doesn't make sense.

Imagine you're just a floating sphere and there's a few structures nearby for reference. A random direction is picked from the NESW plane and you're pushed in it. Since nil space is anisotropic, how much do you go up or down? If NESW are relatively interchangeable, you could be interpreted as being closer to NW and going up, or closer to SE and going down. Or a middle and staying vertically still. That's kind of a paradox, really. I would assert that NESW are also anisotropic this way.

Does it mostly count based on how much you actually turn once you start travelling? I mean, it can't really, because the bird immediately goes up once it starts going on the path in the explanation video. But then it goes in all directions, and as long as the turn is counterclockwise, it goes up. Aaaaaaaagh (/─_─\)

Are you just naturally N when you start arbitrarily moving and turn from there

(1 edit) (+1)

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".)