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

5 comments:

  1. This comment has been removed by the author.

    ReplyDelete
  2. I wonder if you might be interested in adding a mode for exploring persistent worlds in 2D or 3D hyperbolic geometry. You hint at "3D Hyperbolic Minecraft" where you can build structures, although can't view them easily from a distance. I have played with HyperRogue to make 2D structures before, but the biggest issue is that if you wander away you can lose track of your structure, and the HyperRogue system of saving games/maps is not particularly facile for editing structures over multiple sessions.

    In particular, it seems like the following could be a fun way to explore hyperbolic architecture:

    1) The player/map editor view begins at a landmark that can be freely returned to (e.g., the entrance to a tunnel system, the middle of a big field, etc.). As a generalization, the player could have one or more designated "warp points," for example for the location of their castle.

    2) The majority of the space is not fully traversable, i.e., a given path is more likely to lead to dead ends than in HyperRogue. For example, if you went into the Living Cave, you might only make it down a single tunnel or past a single fork, before reaching a dead end and needing to turn back. If it's difficult to wander infinitely far from the designated starting point, then it is harder to get lost in hyperbolic space, and makes more sense to keep a persistent world of tiles explored around the starting point.

    3) The player has excavation and building tools, to open up new passages or build structures or seal off passages they do not wish to explore. These tools could be used to mark a passage of interest, draw landmarks or breadcrumb trails (as with dead orbs), and build architecture.

    The way I envision this, it could be fun to build structures in the persistent world and you would not necessarily get lost, because most of the world would not be immediately accessible. As an example, you could excavate solid rock (like the walls of a living cave or dead cave, or the center of a sandstone pile in land of storms) to build unique tunnels. In 3D there are quite a lot of possibilities, and as long as the hyperbolic space remains mostly sealed off, the overwhelming vastness isn't as much of an issue for exploration.


    Besides digging tunnels and building castles, it could be a lot of fun to practice exploring in a persistent hyperbolic world --- where navigation is much more feasible than in the main HyperRogue game (because there are only a few viable routes to try from any given location and because of more readily available resources for laying down breadcrumbs or sealing off unwanted passages), while still being much harder to navigate than any Euclidean space.


    These ideas could be used to build up a Rogue-lite sort of game (like Terraria or Minecraft on survival mode), or just for fun/exploration (e.g., sandbox mode).

    ReplyDelete
    Replies
    1. I see that the possibility of getting lost is a problem when making maps. There are ways to find your way (map editor -> regular -> predesigned -> line patterns -> rings -> increase the (A)lpha value; or experiment with geometry -> size of the world -> which distance -> start; or use the Ctrl+W cheat while in game) but something would be nice. Maybe a special Orb which brings you back to the start?

      Are there any other issues with making maps over multiple sessions? I would be interested in seeing your maps :)

      I am not that into the survival sandbox genre (I do not like grinding -- as can be seen easily from HyperRogue, which has anti-grind as the main design principle -- Terraria is still a great game for other reasons, I have not actually played Minecraft). But it sounds like a fun idea for a variant :)

      On the other hand I am thinking about making a hyperbolic tower defense mini-game. That should be quite fun, but I do not feel confident enough to design this (having not too much experience with tower defense games).

      Delete
  3. Is it possible to move anywhere but forward in 3D mode on mobile?

    ReplyDelete
    Replies
    1. There is currently no way to control the rotation in mobile 3D only by touchscreen. However, it should be possible to rotate your device to face another direction, and then move in that direction.

      Delete