Thursday, 3 June 2021

HyperRogue 12.0: Dice, Curses, and VR

Quite a long time since the last update! Version 12.0, released on Steam and, fixes this. It includes two new lands, VR support, and has many other feature and improvements!

Is HyperRogue the only game where tessellations of non-Euclidean spaces play a major role? Well, no -- while the wonders of hyperbolic tessellations are rarely used, spherical tessellations can be found in any game using dice! When you roll a die and see how the numbers change, interesting things happen as a result of the difference in the geometries of the die and the surface. Many HyperRogue players are dice collectors. Why not have both?

Meet the sentient dice in the Dice Reserve! They like to be in the position where the highest number is on top, but some bad guys rolled some of them into other positions. Will you help them?

Dice Reserve can be found when you have at least 90 (150 in Orb Strategy Mode) treasure.

Every land in HyperRogue comes with a new Orb -- a sphere of beneficial magical power. The Cursed Canyon is a land full of Curses. Curses are similar to Orbs, but their powers are mostly negative. You may get weaker, slower, powerless, or afraid of water. You get cursed by moving over curses, or when attacked by a Canyon Hag. You are also pursued by the Shadow, already known from the Graveyard. Will you be able to survive and profit despite all the debuffs and nasty enemies?

Cursed Canyon can be found when you have at least 36 (90 in Orb Strategy Mode) Elixirs of Life, Pirate Treasures, Chrysoberyls, Tiger's Eyes, or Powerstones.

When HyperRogue was first released, it had only the traditional-style roguelike "graphics": # for walls, letters for monsters, dots for empty spaces. These visuals were truly amazing: easy to read, and let your imagination run wild, better than any graphics. But art is needed to, to feed the imagination. How would a non-Euclidean space really look? HyperRogue took a rather surprising path, starting with vector-based 2D graphics, then 3D effects, experiments with full 3D geometries, ultimately becoming a rather universal engine for non-Euclidean visualization.

Now, the RogueViz engine supports Virtual Reality (SteamVR)! This brings a new twist to HyperRogue, as well as the non-Euclidean falling block game Bringris and the RogueViz demos. Turn HyperRogue's FPP mode into the immersive experience. There are many interesting choices when designing non-Euclidean VR visualizations. The geometry works differently in a non-Euclidean space, so some obvious things in Euclidean visualizations (including tons of so-called "non-Euclidean" videos which have nothing to do with non-Euclidean geometry) are, well, no longer obvious. Should the relative headset movements be translated exactly to the virtual space? If so, if you move to another place in VR and return to where you started, you are probably NOT in the place where you started in the real world. And vice versa. This is because the geometry works differently! How should the binocular vision work? Should we just render the inner view from two points? If so, distances are not perceived correctly, and in the recently introduced even weirder geometries this does not even work, so we might want to use other methods. The engine lets you configure various details, such as the above, the length of the absolute unit (i.e. the scale of the non-Euclidean space), and so on. Hyperbolic crochets are much better in real life than any images or videos can show -- but you can get some of the fun by playing HyperRogue on the Hypersian Rug in VR. The 3D models are still not great (roguelike players do not need this stuff), but if you want to play FPP mode with monsters shown as letters, or view the classic Poincaré disk or any other 2D or 3D model in VR, this works too, of course!

There is more!

There have been also lots of minor bugfixes and improvements. For people who want to fully explore the world of HyperRogue but are less familiar with roguelikes, there is a "casual" mode which lets you save the game after collecting an Orb of Safety and load it many times. For even less challenge, there is the cheat mode and puzzle/exploration mode as usual. Get HyperRogue version 12.0 from Steam,, or play the online demo, or [to be updated soon] Android or iOS versions. As usual, the Steam version is updated more frequently, includes achievements and leaderboards, and extra modes such as the Strange Challenge. Mobile versions should be updated soon. Join the HyperRogue Discord, follow ZenoRogue on Twitter, and have fun!

Saturday, 7 March 2020

HyperRogue 11.3: Frogs, Wetlands, and Mixing

While we have worked a lot on HyperRogue recently, we concentrated mostly on experimental features; for people interested in the classic, core non-Euclidean puzzle-roguelike gameplay, the most interesting thing is probably the lands, and there have been no new lands for some time. Version 11.3, released on Steam and, fixes this. It includes three new lands, and has many other feature and improvements!

The Orb of The Frog existed in HyperRogue for a long time, leading some players to wonder: if there is an Orb of the Frog, why are there no Frogs? The Frog Park answers these comtemplations. It introduces not one, but three species of magical Frogs, each with different moving capabilities!

Frog Park can be found when you have at least 30 (75 in Orb Strategy Mode) Dodecahedra, Tasty Jellies, and Onyxes in total.

There was a Land Ranking Poll in the HyperRogue discord server, and the only thing that everyone agreed on was that the Irradiated Field was amazing. There clearly should be more lands like this!

While most of about 70 lands in HyperRogue introduced unique mechanics (often unique not only to HyperRogue), the Irradiated Field combined many of them in a single land. The Eclectic City follows a similar approach, exhibiting terrain features from many other lands, from the unique electricity mechanics of the Land of Storms to wall switches from the Palace, from heights from the Red Rock Valley to melting walls from the Icy Land. Have fun!

Eclectic City can be found when you have at least 40 (100 in Orb Strategy Mode) Ice Diamonds, Fulgurites, Hypersian Rugs, and Silver in total.

After mechanically complex lands such as Irradiated Field or Eclectic City, Wetland comes out as relatively simple. Here, some tiles are passable both for you and the local aquatic beings, others are passable only for you, others are passable only for them, yet others not passable for anyone. Some people have definitely drowned in this treacherous area. Can you avoid their spirits, who want you to share their fate?

Wetland is available once you collect 30 treasures. Thanks to Teal Knight for the idea.

Other than the new lands, as usual, HyperRogue 11.3 includes many other new features!

The Clearing is now more satisfying, as you are given the actual numbers of Mutant Ivy Leaves that are destroyed by your attacks. Whenever you see someone claiming that some Euclidean game is the biggest game ever, or that some Euclidean game has the largest boss monsters, well, these number should make it clear how wrong they are. The size of the HyperRogue world, measured by the number of tiles that you can potentially explore in reasonable time (few hours), without filling up your RAM and without running into weird numerical issues is a number with over 7000 digits! (This specific figure is based on numerical issues; it would be easy to remove them without sacrificing performance, but that will not help with reasonable time or RAM, so there is no point, and any Euclidean infinite game will likely start acting weird at much less than 100 digits.)

The recent updates concentrated on the experiments with three-dimensional geometries, including non-isotropic geometries that are not yet well understood by mathematicians. This update continues this work by introducing some new tilings and new interesting quotient spaces, and new alternative rendering algorithms; while the usual HyperRogue gameplay is less suitable in a three-dimensional world (or is it four-dimensional?), these make for making cool geometry visualizations and work well in the racing mode!

Get HyperRogue version 11.3 from Steam or, or play the browser demo. As usual, the Steam version is updated more frequently, includes achievements and leaderboards, and extra modes such as the Strange Challenge. Mobile versions will be updated later. Join the HyperRogue Discord, follow ZenoRogue on Twitter, and have fun!

Friday, 13 September 2019

HyperRogue 11.2: Thurston geometries (free update!)

The latest version of HyperRogue let us play three-dimensional non-Euclidean worlds. The animation above shows the three-dimensional hyperbolic geometry ℍ³; it feels as if it was expanding in all directions as you move through it; the video above feels a bit like zooming. The video above is a construction based on Penrose's kite-and-dart tiling. This tiling of the plane is constructed recursively — we start with a single kite or dart, and then, in each iteration, we replace this shape with two or three new, smaller shapes. In ℍ³, we can put these two or three shapes are on the next level — since the space is expanding, this allows them to be of the same size as the original one!

However, ℍ³ is very similar to the hyperbolic plane ℍ² — it just has more dimensions, basically. If you know how ℍ² and the Euclidean 3-dimensional space 𝔼³ work, there is not much new here. In two dimensions, we have just three geometries: hyperbolic ℍ², Euclidean 𝔼², and spherical 𝕊². (Note that most games claiming to use "non-Euclidean geometry" use the term incorrectly: they do weird things to topology or physics or whatever, but the geometry, which is about the sum of angles of a triangle, Pythagorean theorem, etc., is still Euclidean.) Can we do something more interesting in three dimensions?

We can! In the video above we are travelling through the Solv geometry. While ℍ³ expanded in all directions, Solv expands in one direction, but contracts in the other one. You know this puzzle about a bear who went 1 km to the south, 1 km to the west, 1 km to the north, and was back where it started? Well, this one is more complicated. If you go 1 step upwards, 1 step north, and 1 step downwards, you are now 2 steps to the north. If you go 1 step downwards, 1 step east, 1 step upwards, you are now 2 steps to the east. Sounds easy enough? Well, let's think how we could reach a point 1024 N 1024 E. We could just make 1024√2 steps NE, but there is a much quicker way: 10 U 1 N 10 D (which takes us 1024 steps N) 10 D 1 E 10 U (which takes us 1024 steps E). This route is more complicated, but it is shorter, and as we know, light always takes the shortest route, so it looks quite complex from the outside. In many places in the video above, you can see shapes that look like donuts — they are actually infinite planes of constant z coordinate (they visually wrap into donuts for the following reason: whether you want to see something far north or something far south, you should look roughly upwards, and whether you want to see something far east or far west, you should look roughly downwards). This sounds like a space that would make Cthulhu himself confused... in 2002, Jeff Weeks wrote "This [Solv geometry] is the real weird [...] I don’t know any good intrinsic way to understand it." (though we surely understand it better now). Hyperbolic space is like an exponentially growing tree — in a very curved hyperbolic space, a sphere of radius of 20 meters will have the same area as Earth, and a sphere of radius of 100 meters will be already larger than the observable Universe. If people lived on this hyperbolic Earth and wanted to travel quickly, they all would have to go through the center... and there would be not enough space for all of them. Solv geometry is also growing exponentially, but in a more interesting, non-tree-like way. Up to our knowledge, HyperRogue is one of the first real-time visualizations of Solv (the awesome SolvView by MagmaMcFry was made a few days earlier), so you can be one of the first explorers of this amazing space! The tree-like nature of hyperbolic space has recently found applications in data science — many kinds of data can be faithfully represented in ℍ²; maybe Solv could eventually find some applications too?

ℍ³ and Solv are two of the famous eight geometries which appear in the Thurston's geometrization conjecture (proven in 2003 by Grigori Perelman, who famously refused the 1000000$ dollar prize for this). These geometries are all homogeneous manifolds (which means they look the same in every point); ℍ³ is isotropic (it looks the same in every direction) but Solv is not. What are the others?

Probably the simplest non-isotropic geometry is ℍ²×𝔼 — hyperbolic planes stacked in an Euclidean way. This space expands in one direction, but stays the same in the other one. This can be seen in the video above — faraway walls are very thin, because the space expanded horizontally faster than vertically.

We also have 𝕊²×𝔼 — spheres stacked in Euclidean way. This is the geometry of the surface of a spherinder (like a cylinder, but based on a sphere instead of a circle). In this geometry, a small brick, when watched from a specific location, will look like a huge ring around you... more precisely, not one ring, but a series of concentric rings.

If you are familiar with 3D graphics, you may have seen that rotations are often represented as quaternions. These are unit quaternions, i.e., points [x,y,z,w] such that x²+y²+z²+w²=1. The set of unit quaternions is a three-dimensional sphere 𝕊³ (surface of the four-dimensional ball). In the video above, we are flying through this space of rotations: rotation matching the current camera position is shown in the corner, and beams in the rotation space correspond to bumps on the sphere. The opposite points of the sphere are identified, as they represent the same rotation. (See here for an interactive version of the video above.)

Quaternions are sometimes criticized, and HyperRogue does not use them either (outside of the video above) — rotations of the hyperbolic plane are not represented by quaternions (they are represented by split-quaternions, but HyperRogue generally prefers matrix representations). Anyway, the space of rotations of the hyperbolic plane, PSL(2,ℝ), is an example of yet another (non-isotropic) Thurston geometry (actually, the Thurston geometry itself is the universal cover of it). Remember how the screen in HyperRogue is usally rotated after we return to the same space? In particular, if we make a tiny loop on a small triangle, we end up rotated by the angle 360°/42 — this equals the difference between the sum of angles of this triangle (60° + 60° + 360°/7) and the Euclidean 180°. This means that, in PSL(2,ℝ), when we make a loop via "hyperbolic" translations, we end up a bit higher than we were originally. This is the reason the bricks in the space above have small Penrose staircases on their top and bottom faces. (Likewise, on a sphere, the sum of angles of a similar triangle is 60° + 60° + 72°, and every beam in the video above was subdivided into 360°/12° = 30 bricks.) (See also this video for the space of rotations rendered in a similar way to the previous video.)

Euclidean geometry is less confusing than hyperbolic or spherical geometry — the sum of angles of a triangle is always 180 degrees, so the space of rotations is rather boring. However, we can still achieve the loop effect. In Nil geometry, when we walk one step to the north, one step to the west, one step to the south, one step to the east, we end up one step above where we started. In general, when we go in the north-west-south-east direction and make a loop which would make us return to the starting point in the Euclidean plane, the Nil counterpart of this loop makes us end up directly above or below the starting point, with the distance proportional to the area of the loop. Interestingly, as can be seen from the area property, while the hyperbolic space grows exponentially with the radius, and 𝔼³ grows like the cube of the radius, Nil grows like the fourth power.

All the geometries above are available in HyperRogue 11.2 (special modes -> experiment with geometry -> dimensions:3). The last Thurston geometry is of course the Euclidean geometry 𝔼³ — nothing changed there (while ℍ³ and 𝕊³ got the new tessellations shown above in 11.2), but you can see it e.g. here. See Geometries in HyperRogue for more details and references. Thanks to MagmaMcFry for SolvView and some discussions regarding Solv and other Thurston geometries.

Since this release does not introduce new gameplay and is rather for scientific/educational purposes, and we believe that ideally science/education should be freely available, it is released for free (in the GPL sense). (We get some funding from scientific sources anyway.) Features from 11.0 and 11.1 are also included, but as usual, the paid Steam version includes social and competitive features such as achievements, online leaderboards in the main game and the special game modes, the Strange Challenge, and more frequent updates. According to the results of the poll on HyperRogue discord, our fans are the most interested in (1) making it easier to use HyperRogue's unique non-Euclidean geometry engine to create mods and variants, (2, roughly ex aequo) making HyperRogue's unique roguelike gameplay even better (new lands with unique mechanics), (3) new game modes, (4) new geometries and visualizations. (True to the roguelike spirit, almost noone cared about graphics and production value.) Thus, the next update is planned to focus on (1) and will also be free, and the next one is planned to focus on (2) — there are lots of new gameplay ideas to explore, both in ℍ² and in Solv (and in other geometries). Have fun!

Tuesday, 18 June 2019

HyperRogue version 11.1 is released!

While this release does not change the gameplay in the main mode, it lets you experiment with new display modes, new geometries, and new game modes.

HyperRogue takes place in a world where things such as rectangles and parallel lines do not exist. Lines will never run together forever "in parallel", the space between them will spawn new directions by itself, making our lines diverge. While the world of HyperRogue is presented as a flat thing, it is actually larger than anything Euclidean, in any number of dimensions. But what if we take it into three hyperbolic dimensions?

While HyperRogue had basic 3D features for some time, they were very limited -- the 3D models were designed only for the top-down view, and also the trick used to display a 3D world using a ℍ² engine could only work with top-down angles.

This release introduces a full non-Euclidean 3D engine. A 3D engine in a roguelike may sound a bit weird -- roguelikes were always more about great, innovative gameplay, in particular boardgame-like gameplay working better in 2D than in 3D; for this reason, roguelike developers are typically not interested in making 3D models and programming 3D engines, instead focusing on the player's imagination, clarity, and making the game run quickly. However, imagination needs some fuel... and it is hard to imagine what the non-Euclidean world of HyperRogue would look like. Many things about our space which are obvious to us work completely differently in a hyperbolic world. HyperRogue players have been wondering for a long time what the "hyperbolic sun" of Vineyard is -- as the Sun we know does not seem to work in hyperbolic geometry at all? Well, now there is an official interpretation. In our world, the stars can be seen from half the planet, and can be used for navigation; that could not work in the world of HyperRogue, where the hyperbolic stars are seen only from a small part of the world. Climbing a hill lets us see a bigger part of the world, while in the world of HyperRogue, a small hill in the Red Rock Valley or the Brown Island will evoke a huge fear of heights, as you look below and see how tiny everything is. The perspective itself works very differently too, whith things in distance disappearing or appearing much more quickly than we are used to, as if the ground was curving upwards (which is actually the case -- the "eye level" is a "flat" hyperbolic plane, which means that the ground level, being a fixed distance below the "eye level", is curved). The Great Walls in the video look just a bit larger than the normal walls -- in fact they are infinitely high, but the curvature of the space makes them look short.

Crossroads in the elliptic plane (as a subspace of the 3D elliptic space)

First person perspective usually does not work very well in roguelikes -- they are heavily based on positioning, and fighting monsters both in front of you and behind you. Given that HyperRogue focuses on geometry, positioning is even more important here. Luckily, the FPP mode features an ASCII mini-map, like in classic roguelikes. But if you would rather to play a hyperbolic first-person shooter instead of a hyperbolic roguelike, you can do this too -- just enable both the first-person perspective and 'shmup mode' at once!

Enable the first person perspective mode from menu -> settings -> 3D settings -> configure FPP.

Icy Land in the {4,3,5} honeycomb

The last section was about playing the standard HyperRogue map using a 3D display. If you are willing to go deeper with your experiments with geometry, there is more.

You can also play a game in a hyperbolic world when you can move freely in three dimensions. These three-dimensional geometries use the same rules as the classic, two-dimensional HyperRogue, except that you are playing in a three-dimensional tessellation (aka honeycomb) rather than a two-dimensional one. Thus, there is no gravity in the sense we are used to, except the HyperRogue lands which feature gravity. Note that the standard HyperRogue has features such as water and heights -- 3D geometries still have them, apparently taking use of the fourth dimension. If you count time, the Minkowski dimension used to model hyperbolic geometry, or you assume that the world is curved in some extra dimensions (more than one -- ℍ³ does not embed in ℝ⁴ even locally), you get more dimensions. Anyway, this does not matter -- even the plain old hyperbolic plane used in HyperRogue by default is more complex and rich than the Euclidean space in any number of dimensions.

Temple of Cthulhu in the "rectangles on horospheres" geometry

The standard roguelike gameplay tends to be rather annoying with extra dimensions -- it seems that humans are not actually that great at working in three dimensions, except the situations that we know from real life, which are much simpler than full-freedom 3D allows. However, all the extra features also work in 3D (if they make sense). You can see the world of HyperRogue as viewed from the fourth dimension (Poincaré ball model) or experiment with the 3D variants of other available projections. You can play the shmup mode, for a six-degree-of-freedom experience. You can enable the graphics editor for a simple hyperbolic 3D modeller, or the map editor to create hyperbolic buildings, as it if was a hyperbolic Minecraft. You do not get to view your buildings from a large distance, but it should be understandable -- in the world of HyperRogue, a ball of radius of 20 meters would have greater area than our Earth! It is hard to imagine a hyperbolic engine which would make this work. (Note: the sight range in the animations in this post is a bit larger than what is possible in real time with the current HyperRogue engine on current Euclidean computers.)

Or you can just explore the non-Euclidean architecture. While mathematical visualizations of regular hyperbolic honeycombs existed, they typically show only the edges of the cells, causing our Euclidean brains to interpret them incorrectly; in HyperRogue, they are filled with actual architecture, helping your brain to notice that something is different. HyperRogue also lets you play on honeycombs based on horospheres. It is not clear how well H. P. Lovecraft did understand non-Euclidean geometry when he wrote "surfaces too great to belong to any thing right or proper for this earth" or "an angle of masonry which shouldn’t have been there; an angle which was acute, but behaved as if it were obtuse", but these passages describe the experiences of exploring the {4,3,5} honeycomb (in the animation above it may appear that some walls are flat squares -- in fact, they are all "cubes", but they have acute angles, so one may not see the other wall where it would be expected), Temple of Cthulhu or Emerald Mine quite well.

Enable this from menu -> special modes -> experiment with geometry -> dimensions.

Space Rocks in Macbeath Surface

OK, let's go back to 2D now. Or stay in 3D, whatever you prefer. The Space Rocks is a new bonus land which lacks originality, and is exclusive for shmup mode in bounded geometries. There was a 1979 game with very similar gameplay and synonymous name, where the space was a manifold without boundary -- after you went through the right edge of the screen, you appeared on the left edge. (Some gamers call such warped spaces "non-Euclidean geometry" but this is not a correct mathematical term, the correct term is manifold.) Not only that, many people have experimented with the classic formula, putting the same gameplay in other manifolds. Not all the manifolds and projections available in HyperRogue have been used though, so you can still have some new fun shooting at rocks in hyperbolic manifolds. You can also run the Space Rocks in the racing mode, for some non-Euclidean friction-less racing. Speaking of classic games, the Minefield got an upgrade -- in the normal HyperRogue world, the original rules of Minesweeper have been changed heavily to make it fit in a game and be playable in an exponentially infinite world, but if you play it in a bounded geometry, you get to play a game following the rules of the classic Minesweeper more faithfully.

To enable this: enable the shmup mode (in special modes), then enable "experiment with geometry" (also in special modes), choose one of the bounded geometries (Macbeath Surface and chamfered Klein Quartic in the quotient spaces are good choices). Also in "experiment with geometry", choose the Space Rocks land.

Recently, VR developers are experimenting with using impossible spaces to let you explore a large virtual world, while in fact, in the real world, you are in fact only walking through a small room. Again, they often call this "non-Euclidean geometry", but it has nothing to do with the mathematical meaning of the term -- that solution could work only in flat, Euclidean manifolds; in a non-Euclidean VR simulation, since the sum of angles of a triangle is no longer 180 degrees in the virtual world, the two world would quickly lose any synchronization of their orientation.

Anyway, the dual geometry mode is a puzzle game mode which tries to exploit this. You play two games at once, however, one of them takes place in an Euclidean world, and the other one is hyperbolic; and you perform the same modes in both geometries. Imagine that, in the Euclidean world, you are on the corner of an empty 8x8 chessboard and you want to get to the other corner -- if you move in cardinal directions and only towards your goal, you could do that in 3432 ways, but it does not matter which way you take. However, each of these 3432 ways would take you to a different place in the hyperbolic world! For a 30x30 chessboard, that would be quadrillions of locations. And that is only because you walked towards your goal -- in general, a 3x2 chessboard would allow you to get basically anywhere in the exponentially infinite hyperbolic world. This mode could be probably used to design some new Sokoban-style puzzles, and the Map Editor lets you design one yourself, but HyperRogue is a roguelike, so it is more about generating the challenges procedurally.

Each of more than 60 lands in HyperRogue introduces new mechanics. While hyperbolic geometry magically allows all of them to exist in the same level, some players want them to interact even more. The Chaos mode is for these players -- it makes the lands change much more often, so you need to be careful about everything. While the Chaos mode exists for some time, it has just got new submodes. These submodes are even more chaotic -- the patches of each land become smaller; in the "total chaos" mode, suggested on the HyperRogue Discord server, every cell belongs to its own land. Combine with the Orb Strategy mode to get access of inventory of Orbs to use at tough situations, or with any other modes. The possibilities are endless!

Dual geometry mode and chaos mode are available from the special modes menu.

Also there is a new way to discuss HyperRogue -- join us in the HyperRogue Lounge on Discord! Our server is very active, and (contrary to the Steam forums) it does not require a Steam account to access. Have fun! Thanks to Christopher King, Daniel111111222222, ekisacik, KittyTac, rdococ, SpriteGuard, Teal Knight, tehora, and Violet Ugly for their suggestions and bug reports.

Get HyperRogue version 11.1 from Steam and! See the full changelog on the HyperRogue website. Mobile versions will come later (an option to use the mobile VR goggles to view the 3D worlds in VR is planned).

Friday, 11 January 2019

HyperRogue 11.0 released!

After a long break, HyperRogue version 11.0 is released on Steam and!

For new players who do not know the old stuff: HyperRogue is a unique turn-based roguelike, taking place in a mind-bending, infinite, non-Euclidean world. People often assume that the game takes place on a sphere, or that it is a "normal" world, just displayed in some fisheye perspective -- HyperRogue is just the opposite of that. If you think that this means some space stitched in crazy ways with invisible portals -- HyperRogue is not that either, it is non-Euclidean in actual, mathematical sense, which is much more interesting! HyperRogue takes place in a non-Euclidean world where the space itself works in a fundamentally different way to ours, where "parallel" lines do not stay parallel forever -- intuitively, whenever there are two straight lines that appear to be parallel, new space grows exponentially between them, causing them to diverge (see FAQ). In the world of HyperRogue, the number of cells in distance 1000 from the starting point make numbers such as the number of atoms in the Universe laughably small!

This version includes three new lands, a new game mode, new geometries and projections, new music, and many minor features and other improvements.

Each of more than 60 lands in HyperRogue introduces unique mechanics (often unique not only to HyperRogue) -- sometimes they do not appear elsewhere in the game, sometimes these mechanics are developed in other lands, which build new unique mechanics on top of them. This new land, the Irradiated Fields, also does introduce some new mechanics of their own, but it is also important how it lets the mechanics originally found in other places interact in interesting ways.

These fields are ravaged with many kinds of magical radiation, which not only make the ground glow nicely in various colors, but also cause the inhabitants to protect the treasures of their land in various ways. In some areas of the Irradiated Fields, you will meet powerful enemies, such as Pikemen, Necromancers or Brown Raiders; in other areas, you will find arrow traps, fire traps, or pools, which can kill you if you are careless, or help you if you know how to use them to your advantage. Will you walk through the Irradiated Fields randomly, or try to find areas where treasures are common but nasty monsters are not, and keep to them? It is your choice!

Galápagos was a land whose properties changed slightly as you explored it, and forced you to find a specific combination of properties; there were 2097152 combinations, but because of how compressed the HyperRogue's infinite world is, you could still find the right one quite easily. In the Irradiated Fields, the properties also change as you travel, but now, they strongly affect the gameplay, by introducing specific enemies, terrain features, or other mechanics.

Irradiated Fields can be found when you have at least 30 (75 in Orb Strategy Mode) Chrysoberyls, Emeralds, and Necromancer Totems in total.

There are several platformer lands in HyperRogue which check how the notions of "horizontal" and "vertical" would work in a hyperbolic world -- afterall, you no longer have parallel lines... The first one in HyperRogue was the Ivory Tower, where two vertical ladders with their bottoms very close have their tops quite far away. Yendorian Forest had a similar structure, with space allowing infinite, exponentially branching trees to grow; Dungeon and Lost Mountain are reversed: the space expands as we go down.

Now, the Free Fall is a land where gravity is orthogonal to the diverging straight lines. You get here through a window in what appears to be a normal (well, infinite) horizontal wall. However, on the other side, that wall turns out to be the vertical wall of an infinitely high tower. Jump from the window, and let the magical gravity carry you...

The gravity will naturally let you fall in a fixed distance from the tower, but you are able to steer your movement a bit, by changing towards outer or inner cycles. However, the space grows as you get further away you are from the tower: five steps in distance 10 from the tower correspond to roughly 15 in distance 12, roughly 45 in distance 14, roughly 135 in distance 16, and so on: in distance 110, the original five steps correspond to octillion. Want to catch a falling Meteorite? You will never catch it if you pursue it on the same cycle, but you can simply move close to the tower, and you will be able to fly faster (in some sense) and thus catch it! After fighting the angry monsters and collecting all the required treasure, and returning back to the world where you can rest on an actual floor, it is fun to check how far away we ended up from the window we originally jumped from -- despite falling for a long time, we usually end up just one or two screens from it.

Free Fall can be found when you have 5 Phoenix Feathers and 5 Ivory Figurines.

The mountainous Brown Islands have started appearing in the Ocean, and of course, they contain some treasure! Will you manage to get these treasures safely, despite the attacks of Bronze Bugs which can be only killed by dropping them into water or from a great height, Acid Gulls which melt the earth away where they die, and occassional Pirates?

What does it has to do with hyperbolic geometry? Well, the Brown Islands have been generated by ancient underground creatures, who moved randomly and raised lands in their path... adults spawned larvae in each move, which also moved randomly and also raised lands in their path, and eventually became adults and spawned their own larvae. In a Euclidean plane, it is well known that a creature moving randomly on a two-dimensional grid will get back to the original starting point (and in fact any other point) infinitely many times, so even if our creature did not multiply, it would eventually destroy the whole world with its terraforming action. The same happens if the creature moves in more dimensions, as long as it multiplies -- the space simply grows slower than its spawn. But the hyperbolic plane grows exponentially, and faster than the spawn... allowing our creatures to create interesting terrain!

Look for strange birds in the Ocean to reach the Brown Islands.

The racing mode is a new addition to HyperRogue, which allows you to experience the hyperbolic geometry in a new way. In a normal race, it does not matter much whether you are running on the left side, center, or the right side of the track; in hyperbolic geometry, a competitor aiming to win the race will always aim to run on the center -- if they move slightly to the right, the space between their line and the central track will grow, causing them to quickly run away from their goal (if they do not turn), or take a much longer route. The animation above presents a race -- the goal is far away up. While it may look that the Princess and the Salamander have a shorter way to go, that race is in fact fair -- all the points on the white starting line are in the same distance from the goal!

While in the usual game of HyperRogue you could be attacked from any direction, making most projections other than the usual Poincaré disk model less playable, the linear nature of the racing mode makes it fun to experiment with the other hyperbolic projections. You can race as usual -- seeing the world from the point of view of the racer, in the Poincaré disk model -- but you can also try the band model (in the animation above) which presents the whole track nicely, or the half-plane projection which gives an impression of an infinitely zooming track; or the third person perspective mode (pictured above). Whatever you choose, hyperbolic racing is challenging even on a straight line -- while you can run as fast as you want, if you run too fast, it is really hard to stay on the track when the space grows exponentially before you. A moment of carelessness, and you start running in a completely wrong direction!

There have been some updates after the last announced version (10.4)... while significant, they were not announced, because they were more concerned with experimentation with geometry and topology rather than gameplay -- and I believe that a big update should include new and well balanced gameplay. The picture above presents probably the most interesting of the new geometries. At the first glance, it appears that we are on the hyperbolic plane, in {6,4} tiling. But look closer... The Princess and the Reptile appear multiple times, which suggests this is actually a single Princess and a single Reptile in a wrapped space, and we can see this pair looking into multiple directions (the light rays follow the curvature of the surface). What space it is? Well, look at the numbers -- each cell has a red, green, and blue coordinate, and in each adjacent cell, exactly one coordinate changes by exactly one. This has the same connection structure as a kind of crystal (say, NaCl) in three dimensions -- each grid point is connected to the point to north, south, east, west, up, and down! More precisely, it turns out that what we see here is a periodic surface pictured below.

This construction works in more dimensions too... so you can play in something which looks like a hyperbolic plane, but is actually, say, a four-dimensional "crystal" grid. Can you find the Holy Grail, in four-dimensional Camelot, put right in the center of a four-dimensional ball? While it looks like hyperbolic geometry, the gameplay is Euclidean -- normally in HyperRogue, if you get attacked in a free area by two monsters at once, you can "move in an extra direction" (provided by the hyperbolic nature of the world) to force them to line up. However, this does not work in this geometry -- if you flee, both monsters will always find a way to get next to you again! It is easy to see that this will be the case when you consider the multi-dimensional Euclidean world this geometry models. This space is available in the "Experiment with Geometry" special game mode, check "show quotient spaces" and choose "dimensional crystal".

HyperRogue 11 also includes new music by Will Savino -- while still a long way from having a unique music for each of over 60 lands, the new additions make the soundtrack much more balanced and matching the theme. Also lots of minor improvements are added -- see the changelog for the details. The original idea of hyperbolic racing mode is by Triple_Agent_AAA, and the new lands are roughly based on the ideas of many players in the "Suggestions for the new lands" thread, including J Pystynen, bluetailedgnat, wonderfullizardofoz, and tehora. The free version has been updated to 10.5d, so it also includes some new minor features (but no Racing mode, no new lands, and no social features such as achievements, leaderboards, and the Strange Challenge).

This is not the end, new lands are planned. Will we reach 100 lands? For now, get HyperRogue v11 from Steam, and have fun!

Wednesday, 13 June 2018

HyperRogue 10.4 is now available freely!

Version 10.4b of the non-Euclidean roguelike HyperRogue is released freely!

The last free version of HyperRogue (10.0c) was released almost a year ago. What has been added in the meantime?

Every land in the main game introduces new mechanics, new thematic treasure, and a magical Orb power for you to use; many of these mechanics are unique -- not used in any other land, and in any other game. Most new versions add new lands, and this is true here too -- nine new lands have been added, and HyperRogue now has over 60 lands!
  • Hunting Grounds is a new basic land which aims to show that the hyperbolic geometry not only gives HyperRogue a unique look, but it is also gives unique gameplay. This land helps you to learn the basic combat tactics in the hyperbolic plane... these tactics would not work in the Euclidean world!
  • Blizzard is a land of mighty winds and intense coldness.
  • Terracotta Army is a land filled with arrow traps and poweful warrior statues which wake up when you get too close.
  • No place is safe from lava in the Volcanic Wasteland.
  • In the Jelly Kingdom, monsters become walls and vice versa whenever you pick up a treasure.
  • The Raiders from the Ruined City are all immune to your normal attack, but every type has a different weakness, which lets you escape in some way.

What about the remaining three lands? Well, the new version not only has more lands, but also lets you get more possibilities out of the existing lands by changing the grid. HyperRogue is normally played on the "hyperbolic soccerball" tiling of hexagons and heptagons, with 2 hexagons and 1 heptagon meeting in every vertex. As we already know from the older versions, using only hexagons gives us the standard Euclidean hex grid (which lets you see how most things which make HyperRogue unique do not work in Euclidean geometry), having only heptagons makes the hyperbolic effects stronger, and having pentagons instead of hexagons lets us explore the geometry of the spherical soccer ball. What are the new possibilities?
  • What if we replace heptagons with octagons? Hyperbolic effects get stronger, and this geometry gives new possibilities which did not exist in the standard HyperRogue grid. The Docks, the Crystal World, and the Snake Nest are three new lands which explore these possibilities, and thus they do not appear in the standard game.
  • What if we have much less heptagons? This one is interesting -- we get a game that is still hyperbolic, but in a weaker degree. Since the heptagons remain very important for the tactics, they now become precious and rare tactical resource.
  • Can we have four pentagons in every vertex, or, say, one pentagon and two octagons? In hyperbolic geometry, we can, and HyperRogue now lets us play on such grids!
  • Many Euclidean games use hex or square grid, but what about the grid of octagons and squares? On a Klein bottle? The "Experiment with Geometry" menu allows you to try all the above, and also many other geometries!

The new free version of HyperRogue also has quite a lot for people who are maybe not interested in playing games, but they simply want to do experiments with hyperbolic geometry, for educational/artistic purposes.
  • You can view the world in many new models of hyperbolic geometry, both 2D and 3D. Kuen surface is known to have constant curvature, can we draw HyperRogue's tesselations on it? How would the hyperbolic analog of the two-point equidistant projection of the sphere look like? We know how to crochet small fragments of the hyperbolic plane in our Euclidean world, but could we make similar models of the Euclidean plane in S3?
  • The new Texture Mode is a graphical editor which lets you to draw hyperbolic tesselations easily, which then interacts well with all the features of HyperRogue -- you can walk on your tesselations, render them in the Hypersian Rug mode or other available models, or even change their geometry (many tesselations can be adjusted to any three-colorable underlying map, for example). It is also possible to load existing tesselations (e.g. made by the famous artists such as M. C. Escher), and do this with them!
  • RogueViz, the computation/visualization hyperbolic engine based on HyperRogue, has been extended with some new visualizations (non-Euclidean circular staircase, Banach-Tarski-like decomposition of the Euclidean plane). See also newconformist which is a separate program mapping the hyperbolic plane conformally to arbitrary shapes.

Okay, but what is missing in the free version? As usual, only paid versions have "social features" such as achievements and online leaderboards. There is one new feature exclusive to paid versions (in fact, exclusive to the Steam version) -- the Strange Challenge, which generates a new challenge every 77 hours by combining a random geometry, two random lands, and several random orbs, and lets you compare your progress with the other players (every player gets just one chance). Paid versions also get new content earlier -- and such new content is planned for 11.x! Most of the current lands introduce new mechanics, bit adding more complex lands which combine several of these mechanics at once definitely will not hurt, especially if these new land use new procedural generation algorithms. New modes, changing the gameplay in major ways, are planned. The future is exciting!

You can download the Windows, OSX, Android versions from the website, or download the source code (which compiles on Linux) from GitHub. If you want to see what the game is about quickly without downloading, you can also try the online version. Have fun!

Saturday, 26 May 2018

HyperRogue 10.4

After an extremely long series of patch/preview versions (10.3a to 10.3v), it is time to release HyperRogue 10.4! While there are no new lands (they are planned for the next version), this release lets you get more out of the existing lands by changing the grid or presentation. There is also a new competitive mode focused on non-standard geometries!

Many games take place on the Euclidean hex grid; curvature in HyperRogue comes from replacing some of these hexes by other polygons. By replacing them with pentagons (or squares or triangles), we get spherical geometry -- a dodecahedron with 12 lpentagonal faces, or a "soccerball" with 12 pentagons and 20 hexagons. Similarly, we get hyperbolic geometry by replacing them with heptagons (or octagons etc.) -- HyperRogue normally uses the "hyperbolic soccerball" tesselation, with two hexagons and one heptagon meeting in each vertex; for a long time we also had a "heptagonal mode", where all faces are heptagonal, which makes the cells bigger and hyperbolic effects stronger (just like the faces of a dodecahedron are larger than the faces of a soccerball).

Can we go the other direction? If we do not mind losing a bit of regularity, we can! Goldberg polyhedra are obtained by adding more hexagonal faces to a dodecahedron, in a symmetric way described by two numbers -- e.g., soccerball corresponds to GP(1,1). We can do the same operation in the hyperbolic case, and now HyperRogue lets us play in the resulting worlds!

While in the standard HyperRogue grid heptagons are still ubiquitous, they become a precious strategical resource in these new worlds -- they are even more important strategically than in the standard HyperRogue grid. For example, in the standard Land of Eternal Motion, with two Running Dogs next to you, you can (usually) save yourself and leave them behind -- but this is only because there will be heptagons in your path! In GP(2,0) heptagonal (shown above) you may be doomed, though -- the Running Dogs will force you to go a path without any heptagons. Similarly, three monsters "on one side" can be usually survived in the standard HyperRogue map, but you may be doomed in GP(2,0). Thus, this subtle change lets you appreciate the effects of hyperbolic geometry on the gameplay in HyperRogue.

This construction is available in the "experiments with geometry" in special gameplay modes menu. Choose to play the "Crossroads IV" in order to play something similar to the full game -- not all lands though, as the Great Walls are not implemented, and patterns are only approximated. Additionally, the floor pattern code in HyperRogue has been rewritten, making floors look much better not only in GP grids, but in all non-standard geometries available in HyperRogue! The handling of alternate geometry variants of various lands has been improved too, with more efficient menus and improved generation rules in various combinations.

New geometries come with one serious problem, though: there are 15 geometries, most of them in the bitruncated and non-bitruncated variants, some in their Goldberg-Coxeter variants, and more than 50 lands... this makes thousands of combinations. Which one to play? This problem is solved in the new Strange Challenge, which is a combination of Orb Strategy, Pure Tactics, and geometry experiments, inspired by daily/weekly challenges found in other roguelikes and roguelites. Every 77 hours, a new challenge is randomly generated, by choosing a random geometry, and creating a combination of two lands in this geometry; you also get random magical Orbs to be used when you get into a tight spot. This is named "strange challenge" because, well, some of the resulting games are somewhat strange (and also because it lets us adjust the rotation nicely -- daily rotation would be too fast, and weekly rotation would be too slow). Compete with your friends and the best HyperRogue players for top scores in these challenges! (Note: this feature is intended to be available only on Steam.)

The full changelog is here; the most significant other changes include more representations of hyperbolic geometry (both 2D and 3D), attack animations, memory saving for low memory devices (preventing crashes on iOS and Android), relaxed rules of Dragon dismounting, rebalanced Terracotta Army and Snake Nest, and fixed Blizzard graphics in Windows OS. HyperRogue version 10.4 can be played on Steam and Mobile versions will be updated later. Have fun!