Please stand by while the maze is being constructed…
Move with arrow keys and insert/delete. (Also F1 to recenter.) Or click in the direction in which you want to move.
Projection:
Visited: ?
Steps to starting point: ?; to green point: ? ←but using this info is considered cheating!
Show/hide mathematical explanations
✱ This is a toy version of the full game (to illustrate how quotienting works).
This is a maze in the hyperbolic plane, displayed using the Poincaré disk or Beltrami-Klein model (see this video for explanations and illustrations about projections of the hyperbolic plane). The fundamental pattern used to construct the maze is the uniform tiling of the hyperbolic plane by regular quadrilaterals (“squares”?) with angles of 2π/5=72° at each vertex (less than the 90° of a Euclidean square because the hyperbolic plane is negatively curved); a circle has been drawn at the center of every square.
Use the up and down arrows to move up and down, left and right to rotate left and right, and insert and delete to move left and right without turning. (Note that since the hyperbolic plane has curvature, even if one moves without turning, one can return to one's starting point with a different orientation. So it would be meaningless to have a “compass” in the hyperbolic plane.)
Since the hyperbolic plane is infinite, the maze has been made “periodic”, in much the same way that the Euclidean plane can be made “periodic”, that is, transformed into a flat torus by quotienting by a lattice of periods, typically a square lattice in computer games, so that one “loops around” if one goes to far. Here something analogous has been done, by quotienting out by a discrete subgroup Γ, acting without fixed points, of the group PSL(2,ℝ) of orientation-preserving isometries of the hyperbolic plane which is contained in the group Δ of symmetries of the tiling (the (2,4,5) triangle group); here, Γ is a normal subgroup and the quotient (PSL(2,ℝ)∩Δ)/Γ is the symmetric group 𝔖₅ on 5 objects: since #𝔖₅=120, the period domain consists of 30 cells (each cell has 4 orientation-preserving symmetries because it is a square), 60 edges (each edge has 2 orientation-preserving symmetries) and 24 vertices (each vertex has 5 orientation-preserving symmetries). If one prefers, the maze lives on a compact Riemann surface of genus 4 (having 120 symmetries), whose universal cover is the hyperbolic plane (and Γ is its fundamental group). Or on the Cayley graph of 𝔖₅ for two generators R (rotation around a cell) and T (translation to the next cell).
The full version of this game differs essentially only in that the group is much larger, being PSL(2,89).
The maze generation is not particularly smart: the algorithm first carves a tree inside the graph and then randomly removes another 15% of walls (a completely heuristic value to make the maze more interesting). The distance to the starting point and “green point” (a point at maximal distance from the starting point) determines the color of the circles; the proposed goal is to first reach that target and then return to the starting point by using a path that is not homotopic (even with the walls removed) to the first path (in other words, by “looping” in the sense that it defines a non-trivial element of Γ).