# Bringris

## About

**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.

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

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

**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.

**What engine does it use?**

It is created using the HyperRogue engine aka RogueViz.

**What pieces are available, and what are their frequencies?**

Every piece constructed of 1 to 4 "cubes" is available. The frequency *f* is calculated as follows:

- start with 1
- multiply by the number of symmetries the piece has (identity, vertical, horizontal, vertical+horizontal)
- multiply by 2 for purely vertical pieces
- a single cube has frequency 1, not 8

After a piece is chosen, its frequency is multiplied by 1/2^(1/f).

**What are the differences between the download and the web version?**

The downloadable version has better performance and basic sound effects.