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 itch.io! 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 itch.io!

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!