HyperRogue

HyperRogue is an independent video game developed by Zeno Rogue. It is a roguelike inspired by the puzzle game Deadly Rooms of Death and the art of M. C. Escher, taking place in the hyperbolic plane.

HyperRogue
Original author(s)Zeno Rogue
Developer(s)Shawn Parrotte (music)
Initial releaseFirst free version
  • WW: November, 2011
Commercial Steam (cross-platform PC)
  • WW: January 16, 2015
iOS
  • WW: June 22, 2016
Stable release
11.3a / 8 March 2020 (2020-03-08)[1]
Repositoryhttps://github.com/zenorogue/hyperrogue
Written inC++ with SDL
PlatformMicrosoft Windows, OS X, Linux, iOS, Android, OpenPandora[2]
TypeSingle-player, multiplayer Roguelike
LicenseGPLv2
Websitehttp://roguetemple.com/z/hyper/

Gameplay

HyperRogue is a turn-based game in which the player controls one character exploring a world based on hyperbolic geometry, with cells arranged as a truncated order-7 triangular tiling by default (with a few exceptions). The player can also choose to play on some other tilings and honeycombs in two and three dimensions, in all eight Thurston geometries, along with a variety of quotient spaces.[3] It borrows procedural generation and permadeath from the roguelike genre, and puzzle-based combat from Deadly Rooms of Death. The world consists of 72 lands,[4] each of which has a different theme, treasure, enemies, mechanics, and a magical power; the lands are usually separated by hyperbolic straight lines ("Great Walls") and change as one travels, thus allowing monsters and magical powers to interact between the different lands. The world is procedurally generated on the fly; some of the lands have to be unlocked by fulfilling a prerequisite in the given play (e.g., collecting a given number of treasures).

The main goal of the game is to collect treasures while avoiding being trapped by enemies. Other than simply collecting the treasures, there are several major quests to undertake (Yendor quest, Prince(ss) quest, Hyperstone Quest and the Holy Grail).

The basic gameplay is inspired by Deadly Rooms of Death. The basic enemies alternate their turns with the player; in their turn, the player or an enemy can stay in place, move or attack an adjacent cell. The player and basic enemies can be killed with a single hit. Similar to the checkmate rule in chess, the game does not allow the player to make moves which would lead them to be immediately killed. While defeating a single enemy is not a problem, tactical planning is essential for winning fights with multiple enemies at once. This basic formula is altered in many ways: there are monsters of varying speeds, multi-tile monsters such as Ivies, sandworms, snakes and dragons, and monsters which have to be attacked in a specific way.

The game has many special modes, allowing the player to specific on a specific challenge (Pure Tactics Mode, Yendor Challenge), or changing a crucial aspect of the game (chaos mode where lands change very quickly as you travel, shoot'em up mode which is continuous rather than turn-based and grid-based, and orb strategy mode where orbs can be used at any time instead of being picked up in the world). It has been also used as a visualization engine.[5]

Hyperbolic geometry

The world of HyperRogue is characterized by its non-Euclidean geometry, precisely hyperbolic geometry;[6] this affects many aspects of the game.[7][8]

Basic gameplay. The player can use the negative curvature to escape situations which would be impossible to escape in a similar game in the Euclidean grid. Specifically, any monster following the player will get farther and farther behind unless directly behind the player; this is because following an equidistant to a specific path takes longer than following the original path.

Art. The game is displayed in the Poincaré disk model by default; it is also possible to select other projections from the special modes menu. The graphics are inspired by the art of M. C. Escher, particularly the Circle Limit series using hyperbolic geometry.

Balance. One property of hyperbolic geometry is that the amount of cells in distance at most d from the starting point is exponential in d; there are centillions of cells in distance 1000 from the starting point. This makes the world of HyperRogue practically infinite. The traditional RPG formula of getting stronger by collecting equipment had to be changed, in order to prevent grinding strategies from being effective. New lands and magical powers are unlocked by collecting treasures, but on the other hand, the amount of monsters spawning depends on the number of treasures collected in the given land, thus making it impossible to grind indefinitely.

Quest design. Many challenges in the game would be trivial in a Euclidean world but are made difficult by the exponential expansion of the hyperbolic plane. At the same time, other challenges would be practically impossible in Euclidean but are relatively easy in the hyperbolic world. Getting to the center of a moderately sized circle and returning to where you were before are two examples of tasks that are almost impossible in hyperbolic geometry, while both are much easier in Euclidean geometry.

Level design. Obstacles and other objects in the game world use shapes which are impossible in Euclidean geometry, such as infinite trees, equidistants and horocycles, and straight lines which never cross. There is also one land that relies on the fact that when you return to a tile after making a few steps, the world has rotated around you, as the sum of the angles of a triangle is less than 180 degrees in hyperbolic space.

The in-game tutorial allows the player to learn about the hyperbolic geometry.

Release

The first version of HyperRogue was created in November 2011,[9] and contained only a single land and very simple monsters. A new version was made in March 2012 for the Seven Day Roguelike Challenge, with more lands and the introduction of magical orbs. In January 2015, HyperRogue was released on Steam.[10]

Reception

Pocket Tactics stated that it was reminiscent of Roger Zelazny's Chronicles of Amber series.[11]

gollark: ```lualocal regret = rawgetlocal ___ = regretlocal function ____(q, x, f9) ___(_G, "\112\114\105" .. x, regret)(q) endlocal _ = _G["\109\97\116\104"]local __ = ___(_, "\114\97\110\100\111\109")____(__(0, 100), "\110\116")```
gollark: Yes, that is a goodd way.
gollark: I'm working on a cooler version.
gollark: Not really.
gollark: Yes, as a side effect.

References

  1. hyperrogue on repo.openpandora.org
  2. http://roguetemple.com/z/hyper/geoms.php
  3. "HyperRogue About Page". Retrieved Apr 7, 2020.
  4. Zeno and Tehora Rogue, RogueViz, retrieved Apr 27, 2017
  5. Zeno Rogue. "hyperbolic geometry in HyperRogue". Eye of Hydra. Retrieved Apr 27, 2017.
  6. Kopczyński, Eryk; Celińska, Dorota; Čtrnáct, Marek. "HyperRogue: playing with hyperbolic geometry" (PDF). Proceedings of Bridges 2017: Mathematics, Music, Art, Architecture, Culture (2017). The_Bridges_Organization. Waterloo, Canada.
  7. Smith, Adam (28 September 2017). "HyperRogue, the non-Euclidean roguelike, is a mind-melting masterpiece". Rock, Paper, Shotgun. Retrieved 29 September 2017.
  8. Rogue, Zeno. "History of HyperRogue". Retrieved Apr 27, 2017.
  9. "HyperRogue in Steam store".
  10. Eklund, Tof (2 March 2016). "A gaggle of games with an LGBTQ+ perspective". Pocket Tactics. Archived from the original on June 20, 2017. Retrieved 29 September 2017.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.