# Intro

People often love games but hate mathematics, but this is because mathematics is taught poorly -- for experts, mathematics it is more like a game, where rules can be changed. Not only games are a great way to show exotic mathematics or physics, but also such exotic mathematics often leads to great games, which help people getting interested in STEM careers!

# Non-Euclidean geometry

Non-Euclidean geometry is one of cases of this. Originaly conceived by mathematicians wondering about the nature of parallel lines, it was important for Albert Einstein's understanding of the geometry of the actual world, and also is recently used in machine learning. Unfortunately, gamers often use this term incorrectly. Those so-called non-Euclidean games are cool, but the real thing is even cooler!

# Bringris

## What's the goal?

Just like in classic falling block games such as Tetris or Blockout, fill the levels -- once a whole level (30 cubes) is filled, it disappears. Try to fill as many levels as you can!

## How to move?

wasd to move, space to drop by one level, Enter to drop (you can still move after this -- press Enter twice if you don't want to move anymore), hold Shift to display cubes missing from the levels below. Press 'p' to pause or see the main menu.

## Can I move the camera freely?

While in pause/main menu, click "explore". You can then use mouse/arrows and PageUp/PageDown to freely explore the structure you have built. Do this, the views are AMAZING!

## How to rotate?

There is no key to rotate, but since this game uses non-Euclidean geometry, there is no need! Just find a pentagon with five right angles and move along its edges. (If you change the geometry, a special key for rotation may be necessary -- 'q' and 'e' are used for this purpose.)

## How to rotate vertically?

This game takes place in non-isotropic space -- the 'Z' coordinate works differently than the 'XY' plane (which has hyperbolic geometry). Intuitively, parallel lines in the XY plane diverge, while vertical lines 'stay parallel'. This means that vertical rotation makes no mathematical sense -- the distance between the points would change (when rotating around Y axis, points on the XY plane would become closer after the rotation, while points on the YZ plane would become more distant). (You can change the geometry to one where vertical rotation makes sense, but it is still not allowed for consistency.)

## But what if you tried to rotate it vertically?

That's a good question! We do not know if anyone knows. It seems a good research question. It is likely that they would resist rotation, just like the springs in our world resist changing their shape.

## Why do cubes appear thin when viewed from a distance?

In hyperbolic geometry, parallel lines diverge, so things become small with distance much faster than in Euclidean. Since our space is non-isotropic (hyperbolic in XY and Euclidean in YZ), this makes them thinner, but not shorter.

## Are the edges of the cubes straight lines?

Yes -- more formally, they are geodesics. It is clear when the camera is positioned right above them. In other positions it may not look so because of non-isotropy (see the last answer).

## Why Bringris?

The "flat level" is a manifold called Bring's surface or Bring's curve, related to the small stellated dodecahedron.

## Why is this particular geometry and topology used?

In the full hyperbolic space, higher levels would have more cubes, which does not seem to be a good design for this kind of game. The original plan was to use spherical geometry for levels, but that does not give many choices -- only the five platonic solids; cube (six squares per level which become cubes in 3D) is too small, and icosahedron (20 triangular prisms) and dodecahedron (12 pentagonal prisms) are very non-intuitive to navigate. Squares with 72 degree angles are the best, and Bring's surface is probably the smallest highly symmetric surface that can be tessellated with them. With 60-degree angles there is another surface (12 squares -- like a cube where every face is doubled and you move to the other copy after crossing every edge), but these squares are larger, and you could not rotate-by-movement (with right-angled hexagons you could only rotate-by-movement by 180 degrees).
Anyway, more geometries and topologies are available in the options. Pressing 'm' or 'n' gives you really weird, secret 3D geometries... Extremely weird to look at, but not very playable.

## How is the expert mode different?

In the normal game mode there is no time limit. In the expert mode, you get less and less time for placing the pieces, and also you get score based on how fast you are.

# Bringris works with VR!

Bringris works with SteamVR! The game is probably best controlled with the keyboard rather than the VR controllers, but it is quite cool to use the "explore" feature in VR. Then you can move your head or fly using the controller buttons, and see that these pentagons really have five right angles. Be careful -- since the geometry of the real space is different than the geometry of the virtual world, you can return to the same place in virtual world while being somewhere completely different in the real one! (For example, if you move along the edges of a pentagon with five right angles, you can guess what happens in the real world...)
Non-Euclidean rendering is a bit computationally expensive, so you need a powerful graphics card, or change the settings (e.g. disable raycasting and/or reduce the number of iterations or cells to draw).

# Technical

Bringris is created using the HyperRogue engine aka RogueViz.

# Have fun!