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 itch.io. Mobile versions will be updated later. Have fun!

Friday, 5 January 2018

HyperRogue 10.3: more lands, more geometry!

HyperRogue version 10.3 is released on Steam and itch.io! This big update continues the geometry experiment theme of HyperRogue 10.2, and also includes four new lands (two of which are included in the main game and two of which are for special geometries only).

Some of the Slime Beasts have decided to revolt against the color rules in the Alchemist Lab. They have changed their shape and consistency, declared independence, and established their own Jelly Kingdom. This land is based on simple, but unique mechanics -- Jellies switch between being a wall and being a monster after every treasure you pick.

Once a beautiful city... but now overrun by the mighty Raiders of unknown origin.

Raiders (and Skeletons, who also dwell in the Ruined City) cannot be harmed with mundane weapons, but each of the five colors has its own movement restrictions. Choose a path that gives you an advantage to run away from them! (Hyperbolic geometry will help, of course!)

The Docks have no new mechanics, but they feature an interesting tree-like structure that works in the octagonal geometry, but has no natural counterpart in other geometries. For this reason it does not appear in a standard game of HyperRogue. The picture should explain everything :)

The Snake Nest is another land not in the standard game. It is a version of Red Rock Valley, but where every cell is colored in one of the three colors. The snakes also come in three types -- each of which is restricted to two colors. It is exclusive to geometries where cells can be nicely colored this way. (Visit the Red Rock Valley in the current session, or obtain a highscore of 25+ Red Gems, to unlock this in the land list for the Octagons geometry.)

HyperRogue did not previously include the most common and boring tiling in games -- the square grid. The square grid is included now, and it comes in some more interesting variations, too! After bitruncating, we get a tiling made of octagons and squares, which is definitely less standard: from a large cell in the picture you can move to eight adjacent cells, while you can move only to four adjacent cells from a small cell. You can also play on a Klein bottle now -- that's why you see a mirror image of yourself on the left!

More of artistic than of "gaming" nature, the new texture mode lets you easily draw nice tesselations of the hyperbolic plane (or any other geometry supported by HyperRogue), in a way similar to Paint-like programs. Draw some lines, and it often ends up looking great! This is much easier to use, and in some ways more powerful, than the old vector graphics editor. The screenshot above shows drawing directly on the Hypersian Rug. The obtained picture can then be explored, played on, or saved.

After drawing a tesselation, it is also possible to convert it to another geometry. For example, the picture above is the spherical version of the tesselation from the last picture. Thus, it is possible, for example, to load Circle Limit IV by M. C. Escher, change its base tiling to another hyperbolic tiling, and walk on it, or view the result in the Hypersian Rug mode. This is inspired by the hyperbolic versions of M. C. Escher's tesselations created by Jos Leys.

Speaking of the Hypersian Rug -- this mode has also been extended. Previously, you could view a fragment of a hyperbolic plane embedded into the Euclidean space; now, it works with any geometry on both sides. You can now also explore the model in first person perspective. The animated picture above shows an Euclidean square embedded into a 3-sphere -- although the square is actually flat, it appears to be curved negatively, because the space itself is curved positively! Flying inside a 3-sphere is an interesting experience, as things close to the antipodal point, or things just behind you, will appear as if they were very close to you. See this video for more details.

Thanks to Fulgur14, Patashu, tehora, and tricosahedron for their ideas for new lands, themes, and features. Android and iOS versions should be updated soon. This version also includes many minor bugfixes and interface improvements; the full changelog is on Steam forums or the website.

Follow the newly created HyperRogue page on Facebook and @ZenoRogue on Twitter. Get HyperRogue 10.3 on Steam and itch.io, and have fun!

Tuesday, 31 October 2017

HyperRogue 10.2: More Geometry Experiments!

While this update probably does not add much for the "normal" players (except some minor bugfixes), it greatly extends the possibilities of experimenting with various geometries and tilings. HyperRogue started with the "hyperbolic soccerball" tiling; further versions have added Euclidean geometry (to see why it matters), heptagonal tiling, spherical tiling (as used in the Halloween minigame), and several quotient spaces. However, this was not enough -- for example, you could not recreate Escher's Circle Limit series in the built-in vector graphics editor because it used a different symmetry than HyperRogue, and other tilings are also definitely useful for educational purposes, and applications of hyperbolic geometry (such as visualization). Therefore, this update adds quite a lot of new geometries to play with! [Still no square grid, though :)]



This picture shows all the tilings/geometries you can select in the Geometry Experiment menu in HyperRogue 10.2. The first two columns show the bitruncated and non-bitruncated variant of each basic tiling. Some of these look the same; this is because the image also shows some quotient spaces -- look for the player character appearing in multiple places :) These are available in all lands -- as shown in the two columns on the right, using the Red Rock Valley as an example. There are more tilings available, but only in particular lands -- we already know the Warped Coast (fourth column), and the new land, the Crystal World, uses the dual tiling (we could previously play in the dual tiling in the Graveyard, but the Crystal World is much more explicit). (The Crystal World does not appear during the normal gameplay -- it is very simple and designed rather for geometry experiments.)

On the Steam forum, players have already started creating ideas about the possibilities for new lands specific to the octagonal tiling. Have fun!

Saturday, 14 October 2017

HyperRogue 10.1: four new lands!

HyperRogue version 10.1 is released on Steam and itch.io! It includes four new lands, and many gameplay, user interface, and graphical improvements.
The volcanic activity in the Volcanic Wasteland is extremely unstable. Lava is too hot to walk on. It cools quickly, but another flow will come soon...

The Emperor's mausoleum. The army of Terracotta Warriors is supposed to protect him in his afterlife, while the traps are to protect the treasures in the mausoleum from thieves. Will you be able to avoid waking up the Terracotta Warriors, and use the traps for your own benefit?

The Zebra is a mixture of the Land of Eternal Motion and... well, this new basic land is the answer! A very simple land, where you can learn the basic skills of fighting in open space. Many of these skills only work in the non-Euclidean world of HyperRogue!

Once in the past there lived a tribe whose prophets warned about the great Blizzard that was to come and freeze the world. They thought it was the wrath of the gods, so they put some altars, so that the gods could hear their pleas. The mighty golems guarded those altars, making sure nobody steals the jewels, because a robbed god is a angry god. Unfortunately winter has come (maybe because only the monks knew how to stop the golems, and they were said to had escaped earlier with some of the jewels). The tribe has frozen to death, altars got covered with snow and ice. Only ice golems still guard them waiting for the spring.

See the changelog on Steam forums or the website for more details. Also follow @ZenoRogue on Twitter -- pics of the new lands have been previewed there :) Features of these lands have been inspired (more or less directly) by ideas of Kojiguchi Kazuki, Snowyowl0, SurelyYouJest, tehora, and wonderfullizardofoz -- thanks to them! Android and iOS versions should be updated soon; updating of the free versions with these additions is delayed this time. Have fun!

Wednesday, 13 September 2017

Losing is fun

This is a response to Christopher Walker's post Implicit vs. Explicit Failure for Educators and Game Designers. The post makes a distinction between two types of failure: explicit ("you have lost") and implicit ("you have not succeeded yet"), and argues that explicit failures are overused in games and education. I think that the post presents a very interesting point of view, and is well worth to read and think about.

However, roguelikes and similar games are based on a completely different philosophy. Losing is an integral part of the game. The unofficial motto of Dwarf Fortress is Losing is fun. This is based on the principle is that it is the journey that matters, not the destination (a similar thing was said by Gauss about mathematics) -- many players find roguelikes fun even if they have no hope of ever winning. Games such as Dwarf Fortress or Tetris do not even have a winning condition -- you will lose eventually. Other games do have winning conditions, and winning such a game after hundreds of failures is a great feeling.

HyperRogue mixes these two designs -- the winning conditions exist (or you can set ones for yourself), but on the other hand, you are allowed to continue the game after winning, but the game gets harder and harder, and you will have to lose eventually. HyperRogue has some puzzles which test your navigational skills in hyperbolic geometry (Princess Quest, Galápagos, Camelot, Yendor Quest). These do not need the component of losing the game explicitly -- however, they would not fit the rest of the game without it, so they also get harder and harder, and one can lose the game while doing them.

Recently, a peaceful mode has been added -- in this mode, the players can solve the failureless versions of these puzzles, or ignore all the challenges and just explore the world. This was intended to make the educational component in these puzzles more accessible to players who are less used to the brutal difficulty typical to roguelikes, and prefer puzzles that you can only win -- especially important in the case of live presentations. However, our experience from such live presentations shows that the standard game is generally much more exciting, especially for younger players.

I think that the dichotomy between explicit and implicit failures presented in the post is a bit exaggerated. In most games, you can try again after you lose; therefore, in a way, all failures are implicit. I think that, rather than avoiding losing conditions, we should teach that losing is not a failure, and minimize the psychological distress caused by it. According to a Go proverb, one should lose their first 50 games as quickly as possible; losing is not a failure, it is simply finding a way that does not work, and everyone needs to lose a lot before they master a subject. It is inevitable that one will "fail" in many situations during their life, that everyone fails, and I believe games to be a great opportunity to teach one not to be discouraged by this.

The post gives an example of a game about Greek mythology where you could lose, causing the chapter to restart, and the player to hear the 30 seconds of narration again and again. From this description, it appears to me that the main problem with the game was not the failure condition, but the fact that they forced the player to watch the story again when they lost. "Well, we need to have some kind of challenge. Otherwise it's not really a game, is it?" Well, maybe it is not really a game, but this does not matter -- not everything needs to be a game to be fun, and many games would benefit if the "challenge" was removed from them. Story and challenge do not mix. If the point of the game is to tell a story -- no challenge is necessary. A challenging game benefits from the story, but only as long as it does not get in the way. Well designed roguelikes usually keep their stories to minimum, or to pieces of lore that you can read if you want. They also rely on randomization, so that every new game will be different and interesting. This randomization sometimes causes the player to lose because of pure bad luck rather than bad decisions -- well designed roguelikes try to avoid this, however, from the "life lesson" perspective outlined in the previous paragraph, it is important to learn that losing is not always your fault.

The post also mentions the problems with stressful mathematical exams, where a single mistake with the execution of the solution makes the whole thing wrong (especially ones where the answer is a single number). Roguelikes also have this property, and there are also many real life situations where it happens -- real research in mathematics, working with computer security systems, etc. While mistakes are costly in all these situations, often there are actually parts of the work that remain valid (completing half of the game, proving useful facts on the way, code often becoming correct after fixing just a single character, etc.), and this should also be reflected in the way the exams are graded. As for games -- aren't they a great way to get one used to this, and reduce the stress?

Thus -- losing is not a failure. Losing is fun. It also makes winning even more fun. Have fun!

Friday, 25 August 2017

Sources of HyperRogue, part V

This is the fifth post in the series, describing new lands in versions 9.x. We will start with the three lands added in 9.0, all of which have a significant Norse theme.

If you are learning about hyperbolic geometry from popular mathematical sources, one of the first things you learn is how the sum of the angles of the triangle is less than 180 degrees. This affects the gameplay -- in fact, this is the reason why the world is often rotated differently when you return to the same location -- but for a long time I wanted to create a land which requires a bit more understanding of this phenomenon, where the player has to learn how to calculate the defect quickly. Burial Grounds is such a land. The original inspiration for the theme was the Barrows from Lord of the Rings; however, we have read that the Barrow Wights here were inspired by Draugar from the Norse mythology, and we have decided to use Draugar directly. Draugar were also one of the interesting monsters in Ragnarok/Valhalla.

One more ingredient is missing here -- since the land requires Orb of the Sword, how does one obtain it in the first place? This is solved by another land, the Kraken Depths. The idea of an underwater land where Orb of the Fish is necessary to do anything comes from the ideas thread (Fulgur14's post, I think there were also similar ideas by other people). The Kraken appears to be the widest creature that can move in the hyperbolic plane in a reasonable way, and its movement foreshadows the Orb of the Sword. Krakens come from the Norse legends, thus making the Living Fjord, Kraken Depths, and Burial Grounds a sequence of lands which are different, but yet thematically and mechanically related.

It was previously said how the Elemental Planes were designed because there were already several Elementals of various kinds. Trollheim is the same, but for Trolls. Some time in the future we might see a land of birds, a land of canines, or a land of sharks. :) In many lands, the Trolls are monsters which aim to hurt the player, but they usually end up actually helping them; again in Trollheim, you have to use the Trolls' special wall-creation property to your favor. The name Trollheim is made to sound typical to Norse mythology (like Jotunheim, the land of giants). We have been searching for an appropriate "troll treasure" but we could not find anything too exciting -- one weird idea was to have "golden crowns", inspired by a popular Polish song which says "twelve heavy crowns of pure gold adorn my head" -- ultimately we have chosen the "golden eggs", referring to the first troll treasure you find (Gold); people who have played Colossal Cave Adventure should also notice and understand another reference.

Some time after version 9.0 has released, I have received an information from Steam about the Halloween sale event, aimed at the games with Halloween-like themes. At first, I did not want to participate in this -- HyperRogue had some monsters which fit the theme, but this was not the general theme of the game; adding a Halloween land would be redundant and probably not that exciting from the event's point of view. However, I was working on the spherical geometry mode at the time. Spherical geometry is very different from hyperbolic -- it is bounded, which allows interesting resource management -- and I thought that a new land specific for this geometry would be great; and Halloween fit perfectly, with the natural motivation for being played on a sphere (surface of a jack'o'lantern).

The Dungeon is based on a post of wonderfullizardofoz, to get more mileage of the new 3D perspective in the gravity lands. It takes the general idea of a gravity trap land, skeletons, and ghosts; also Slime Molds as a treasure (a reference to a food item in Rogue -- I had no other ideas for treasure anyway). Banshees were replaced by my own idea (bats, which I have invented some time earlier as a weaker version of Eagles, but I had no good idea where to put them). Since Skeletons were there, this made sense as an extension of the Palace (with some influence from an earlier idea of Fulgur14) -- especially that the mechanics of pressure plates from the Palace could make an interesting return in a gravity land. The Orb of Recall comes from the first post in the Orb idea thread, by wonderfullizardofoz and Fulgur14. (Ideas for new orbs and enemies are welcome, not only for lands!) As a fan of Steven Universe, Fulgur14 expected Amethysts in HyperRogue since Pearls and Garnets were there -- but gem names are just gem names, mostly.

The general idea for the Mountain comes from the same post of wonderfullizardofoz. Before implementing these two lands, I have already implemented the Orb of Nature, and I wanted to put it in some land. Since wonderfullizardofoz's idea already included the Eagles, I have decided to include Ivy too (and make it possible to use the dormant Ivies to climb the mountain), and make it a subzone of the Jungle.

Long time ago, tricosahedron posted his idea of a land inspired by Reptiles by M.C. Escher. The idea was very interesting, but I did not believe that Escher's pattern could be adapted to hyperbolic geometry -- it seemed that something had to have a threefold or sevenfold symmetry, and thus look nothing like a reptile. Some time later, tehora said she wants a land where reptiles rise from the floor as in Escher's work, and I have decided to try harder -- and obtained quite a nice reptile tesselation -- with some gaps with threefold symmetry as expected, but still, they did not make the tesselation bad. To the surprise of tehora, the release post listed this as based on an idea of tricosahedron (I thought she was referring to tricosahedron's idea, but apparently she had the same idea independently). Reptiles by M.C.Escher depicts not only the Reptiles themselves, but also many other interesting things; probably the most interesting one is a dodecahedron, so it has been chosen as the treasure of this land. (We also collect dice -- from the standard ones based on Platonic solids, to more exotic ones -- so collecting dodecahedra feels very nice to us.)

Contrary to HyperRogue, David Madore's hyperbolic maze does not take place in the full infinite hyperbolic plane, but rather a finite part of it (of size of 88110 tiles) whose edges has been stitched together, to make a space without boundaries; stitching is done in a very regular way, based on matrices over a finite field. For 9.4 I have decided to implement something similar to Madore's method -- even though the most unique things about HyperRogue is its infinite and exponentially expanding world, a special geometry where the world is actually finite could make for an interesting educational feature, and it could be also used as a pattern -- similar to the existing Vineyard, Zebra and Palace patterns, but very huge compared to them (huge, yet highly regular, though in a rather incomprehensible way). The pattern of 5676 heptagons (18920 cells in total) was big enough to fit large circles and multiple non-crossing straight lines -- so for the first land based on this pattern I have decided to use wonderfullizardofoz's idea of Amazon River, where you have to cross a river without touching the crocodiles in it, who just go with the current without pursuing you, unless you are on adjacent cell; however, I have decided that a river land with objects moving with the current felt too similar to the Whirlpool, so I have rethemed it as the Prairie, where you have to get on the other side of a herd of charging beasts. Of course, both ideas -- crossing a road filled with cars, and a river filled with crocodiles -- have been used in the classic game Frogger (hotdogPi also had a similar idea, but when Prairie was already there.) Previously I was thinking to do this not on a bundle of straight lines/equidistants, but on a bundle of randomly generated adjacent curves -- maybe such a land will be added in the future. The regular pattern turned out to have one more interesting property: after placing the charging paths and the Great Walls (also incorporated in the pattern), it allowed yet another straight line, which was far away from both the charging paths and the Great Walls. I have tried to put another charging path there at first, but this did not work well because of a different structure of the central straight line; thus, since this line was separate from everything, I have decided to make it a "safe spot", with no monsters appearing, an alternate source of Orbs of Safety, and an interesting property that these Orbs of Safety throw you into a location which looks exactly the same. And what kind of treasure could one find in the prairie, on the other side (of the herd of bulls)? Of course, the grass is always greener on the other side.

Yet another idea that many different people came up with independently was a land based on the Boulder Dash game from 1984 (some readers might know newer games heavily inspired by Boulder Dash, such as Emerald Mine or Supaplex, or their open source combination, Rocks'n'Diamonds). Like roguelikes, Boulder Dash is grid based and turn based -- however, turns happened automatically and very quickly, making it more about timing the keypresses precisely (like a very fast version of Crypt of the NecroDancer...). One of the iconic features of Boulder Dash were Butterflies, who did not pursue the player -- they simply moved along the walls -- and turned into a 3x3 square of Diamonds when killed by a falling boulder; I thought that an interesting HyperRogue land could be based on this, and so thought CtrlAltDestroy and Simon Clarkstone. However, it was not clear how should the gravity be implemented (like in Ivory Tower or like in Dungeon? where should the boulders fall if there are multiple choices? how should this work in the HyperRogue grid in general?), so I have decided to replace gravity with charging bulls -- together with the Prairie, the 9.4 update was all about Bulls. A later update added a special tiling, heavily inspired by Butterfly (No. 70) by M. C. Escher, and its hyperbolic version by Doug Dunham -- however, the butterflies had to be "broken" a bit to make the lines separating tiles clear. Since "diamonds" were already taken, another gem name had to be chosen -- the name spinel comes from the Latin spina (arrow), but sounds a bit like the English word spin too, so spinels are appropriate for gems obtained by shooting bulls at the spinning butterflies.

The Crossroads V are also based on an old idea -- this time an idea of Fulgur14, so old that it was called Crossroads III at the time. :) Not sure why this was not used immediately.

Some people consider HyperRogue to be a hard game. I think that HyperRogue is as hard as it needs to be -- if it was easier, it would not force the player to learn. When Ptolemy I asked Euclid if there was a shorter road to learning geometry than reading Euclid's Elements, he replied that There is no royal road in geometry; I believe the same is true not only with mathematics, but also with games such as Chess, Go, or HyperRogue. Furthermore, just as most players of Chess or Go player do not have hope to every beat the grand master, many people play difficult roguelikes without caring about whether they will ever win -- this is because the point of roguelikes is not necessarily to win, but to have fun while playing a complex game, and getting better and better in it. This is similar to what Carl Friedrich Gauss said in a letter to Farkas Bolyai: It is not knowledge, but the act of learning, not possession but the act of getting there, which grants the greatest enjoyment. Gauss and Bolyai have been discussing the nature of parallellness, and whether it is possible ot prove Euclid's fifth axiom from the other ones, for a long time without success; many years later, Bolyai's son, János, has discovered the hyperbolic geometry, and then they learned that Gauss has discovered the same things on its own, but he did not publish the results. Hyperbolic geometry was also independently discovered by Nikolai Lobachevsky, who is quoted to write There is no branch of mathematics, however abstract, which may not some day be applied to phenomena of the real world -- and indeed, non-euclidean geometry has found many applications, for example in physics, and more recently in art (M.C. Escher), game design, data visualization and social network analysis; and even HyperRogue itself can be applied as a powerful engine to work with applied hyperbolic geometry (see RogueViz). Speaking of M.C. Escher, here is a quote of him: We live in a beautiful and orderly world, not in a chaos without norms, as we sometimes seem to, which is also relevant to HyperRogue -- as an important thing that sets it apart from other geometrically weird games, such as Antichamber or Monument Valley, is that HyperRogue's geometry, although weird, is completely logical, and can be reasoned about; and gaining a deep understanding of this geometry is important for the game, and why it needs to be hard. In our opinion, Monument Valley is very easy compared to HyperRogue, but also it is more shallow mathematically, which does not prevent Monument Valley and Escher's works it is based on to be great works of art. Which brings us back to the start of this long paragraph.

Since all these classic quotes not only come from people whose work was very important for the development of HyperRogue, but are also very relevant to the game itself, they have been added as the Knights of Camelot's lines in HyperRogue 9.1. (Interestingly, if you want to get from A to B in the world of HyperRogue, there is a "royal road", one such that every other path is significantly longer than it...) It was not mentioned in the last part, but since 8.3, the Knights end their speech in the way similar to one used by Sprite Guard in his YouTube channel. It is not known what new features will be added in versions 10.x and described in the next post in this series. So, until then, thank you very much for reading, and have a great rest of your day!