Thursday, 5 January 2017

HyperRogue 9.3: three new lands and an online demo

HyperRogue 9.3 is released on Steam and itch.io! (Android and iOS versions will come later.) This update introduces three new lands, and several other minor features and bugfixes.

Additionally, an online demo of HyperRogue has been created! This allows new players to try out HyperRogue's gameplay without downloading it.

These reptiles are quite strange creatures. They spend most of their lives sleeping, as floors that other creatures can walk on. Sometimes they wake up to hunt their prey, but they will happily go back to sleep if they happen to move into a hole on their way. Your attacks do not kill the Reptiles, but you can push and stun them.

Take the gravity mechanics from the Ivory Tower, but reverse it: you are going deep into the Dungeons now! This is combined with ideas from the Palace: use floor switches to open or close passages, and push the Skeletons have to be pushed into holes, so that they won't be able to return. But be careful, and don't fall yourself!

Gravitational anomalies in the Jungle create mountains overgrown with ivies and bushes. Will you dare to climb the ivies to get the amethysts hidden above?

The Reptiles land is based on an old idea of tricosahedron, inspired by a print by M.C. Escher. Dungeon and Lost Mountain are based on ideas by wonderfullizardofoz. If you have more ideas for new lands, please share!

HyperRogue 9.3 also has several more improvements. Columns appear on the coasts of R'Lyeh so let you know that you are near. Slow monsters, Ivies, and Worms now use a specialized pathfinding algorithm, so they won't try to catch you through trapdoors or against gravity. Orbs of Yendor no longer block the player movement. See the Steam forums for more details.

Have fun, and a happy New Year!

Wednesday, 21 December 2016

Why am I not that excited about Jupiter Hell

The roguelike community was recently all over about Jupiter Hell — a roguelike with modern 3D graphics, which has recently run a very successful crowdfounding campaign. I am quite sure Jupiter Hell will be a great game — after all, Darren Grey and Kornel Kisielewicz are both working on its gameplay, and both are well known to create fantastic roguelikes. This post is a response to a post by Darren Grey, who believes that Jupiter Hell is a gateway for our beloved genre to get its deserved mainstream acceptance.

I tend to play mostly indie games: roguelikes, roguelites, some other games too. Occassionally I do try big mainstream hits, but I am rarely satisfied with them. For example, Witcher II. I have been playing mostly for the story. Most of the game was fighting, exploring, and collecting items. Fights were irrelevant (lack of permadeath!) and boring, and were an obstacle in the story, rather than the fun part. The game would be better without them. And without walking around and collecting items. One could say that it was still better than games that I could not play at all, but this does not change the point: I feel that it would be better if all the game — all the boring 20 hours — were removed, thus leaving just a nice two hour long movie. Diablo II is mostly a real-time roguelike, but I have found no point to try it with permadeath, as I have found it much more boring than roguelikes. I have similar feelings with other RPGs. First person shooters are not interesting at all. I have a relatively good chance to like mainstream strategy games, but I am often annoyed by too much micromanagement, or by animations which I have to watch again and again — when working on the animations in NotEye (for ADOM), I have taken care to have them so that they don't slow a fast player down, and it is great that JH goes the same route with its adaptative animation system.

On the other hand, a big part of the roguelike culture is its wonderful community. Barriers between creators and players are lowered. Players are encouraged to report bugs, provide their own ideas, and even learn programming and create their own variants or games in events such as the 7DRL challenge. This leads lone passionate developers working in their spare time to create awesome games (ADOM, Dungeon Crawl, Spelunky, DRL). Often playable for free — the motivation for creating these games was the fun of creating great games, games they would like to play themselves, rather than financial gains. These games won't have good graphics or polish,but are much better than the mainstream in my experience. I find the roguelikedev communities much more appealing than the general gamedev ones, which IME tend to concentrate on graphics and monetization too much.

So I would like more people to see that games with low production value / free / created by lone developers can be much better than the current mainstream games. Why people don't see this?

Maybe gamers in general believe that a game without high production value, or a free game, cannot be good? By a game with high production value I mean one which has, or appears to have, lots of money poured into its creation: complex graphics, cutscenes, professional voice acting, general polish, trailers, and so on. Will Jupiter Hell be really able to compete with popular AAA games on these grounds? And if it will, I do not see how would such players join our creative community, or try the relatives of Jupiter Hell — all the other great roguelikes — which do not have this production value.

Or maybe the contrary is true: popularity is actually not about 3D graphics? Angry Birds do not have 3D graphics, indies and roguelites neither, and they are quite popular too nowadays — not sure how good measure of popularity this, but by the number of Steam reviews, FTL is roughly on the level of popular strategy and RPG games. Ragnarok and JauntTrooper: Mission Thunderbolt were both awesome roguelikes, and they appeared to have features to appeal the mainstream — quite good graphics for their time, mouse control, permadeath only as an option. Still, they have failed. On the other hand, the insane success of Minecraft, despite being started by a lone developer inspired by ADOM and NetHack, and not having high production value, is a huge surprise. What was the cause of this? Marketing? Simply luck (what becomes popular and what not, actually depends largely on random factors, and Notch seems to agree)? Whatever the problem is, will Jupiter Hell avoid it?

Maybe the roguelikes are not popular because is just hard to explain what they actually are? I think I have that problem with HyperRogue — its defining feature is that it takes part in the hyperbolic plane. Unless you are interested in mathematics, you won't know why would that be interesting — things like "a roguelike in the DOOM universe" or "a vampire roguelike" are easier to explain (assuming that you know what "roguelike" is), so people looking for new roguelikes would probably be more likely to try these. We call these games roguelikes precisely because they are so hard to explain — after all, other genres are named after their features, not after a notable game in that genre :) People are afraid of trying new things. I have updated the homepage of HyperRogue so that it explains the point of the game to new players, without scaring them off with difficult words such as "roguelike" or "hyperbolic geometry".

The Kickstarter page for Jupiter Hell explains that it is a "turn-based sci-fi roguelike/RPG". I think that categorizing roguelikes as a subgenre of RPG might contribute to the obscurity of roguelikes. The success of the Witcher series suggests that fans of RPGs do like games like this: nice story, gameplay not getting in the way. Maybe they do not get what they expect when trying roguelikes. Such people would be put off by permadeath, and the low focus on story typical to roguelikes. I have seen opinions that Diablo is not a RPG — and Diablo is quite similar to roguelikes, so I guess we would see such opinions on roguelikes too if they were more popular. On the other hand, a strategy fan would be much more likely to understand the point of procedural generation and permadeath (strategy games are often procedurally generated, and even if they don't usually feature permadeath, it is quite clear that this is the noble way to play). I am of a strong opinion that roguelikes are actually closer to strategy games than RPGs, they actually are turn-based tactics games. XCOM does have important RPG elements (story, character advancement, inventories) yet it is not seen as an RPG. Maybe we should rather market roguelikes as single-character turn-based tactical games, and emphasize the benefits of being single-character to players of XCOM and such (more action, more detailed characters, less micromanagement).

Or maybe we should try to find new players even further. Most people are not gamers, and I have a feeling that a popular opinion is that intelligent people do read books, or play games such as Chess, playing boardgames is cool, but playing computer games is a stupid thing to do. Such people would not care about graphics that much — everybody knows that a book is not to be judged by its cover, and Chess is the same game, whether you play it with beautiful pieces or not. Andrzej Sapkowski, the author of the series of books that the Witcher game is based on, said "I don't know many people who have played that game, because I tend to with intelligent people". I have watched Evelyn Lamb's talk Visualizing hyperbolic geometry. I think HyperRogue is a great tool for visualizing hyperbolic geometry, but it is only mentioned on the last slide (about minute 33): "I am too scared to do it, because I might like it, and then I won't ever do any work again". It appears that she had experiences with computer games similar to my experiences with Witcher, i.e., that they are a waste of time, and she was afraid that HyperRogue would be like this too. Whenever I see a game described as "addictive", I think it is not a good thing. Far too many games demand the player's time without giving anything in return. Skinner boxes, grinding, free games which allow you to use money to speed things up, unlocks which make the character stronger. Well designed roguelikes don't. In HyperRogue, even the Hyperstone Quest, which is considered very hard, can be done in just about two hours by a skilled player. Obviously getting that level of skill might take lots of time, but the game does not slow you down, only your own ability to learn new things. And learning is fun.

Maybe such non-gamers would be actually put off by the graphics of Jupiter Hell? I have read somewhere that all popular games fall in one of just three graphical styles. Jupiter Hell looks like a quite generic photorealistic violent game. Roguelikes are to a big extent a computer version of board games, and when watching the animations in the Jupiter Hell teasers, it has struck me that it does not look like a board game, thus confusing the potential players about the point of the game yet again. HyperRogue has recently received 3D graphics and adaptative animations too, but our design goals were different. Recently I have received a spam e-mail offering 3D models. I have looked at the (still 2D) screenshots of HyperRogue and decided that, even though the graphics in HyperRogue are nowhere as good as the art by M. C. Escher which inspired it, it is unique and thus looks much better than any generic 3D models. The new animations are consciously made to be not realistic — to emphasize that battles are to provide challenge for the player, as capturing the opponent's pieces in Chess, not meaningless violence for its own sake.

Obscurity of roguelikes is a big mystery for us roguelike fans, we could only guess the reasons. This post turned out very long, and yet it does not cover everything. Roguelikes have evolved in a completely different way than the mainstream games, and I think that we should be proud of that, instead of seeing it as an disadvantage. Please share your thoughts in the comments, or just play the most satisfying games in existence :)

Thursday, 8 December 2016

Sources of HyperRogue: part IV

This is the fourth post in the series, about the lands from versions 8.x.

There is not much to say about Wild West. Revolvers, and hunting outlaws for bounties, are among the most common tropes in westerns. It does not really match the rest of the game, so it is available as the bonus land only.

Snowyowl0 had an idea on the HyperRogue forum about a land called "The Eternal Storm", which was a land with strong winds, and with Fulgurite as a treasure. I read what Fulgurite was — a mineraloid created when lightning hits sand, and also a nice reference to Fulgur14, one of the most prominent members of the HyperRogue community — and found it more appropriate for the land that I had rough idea for since some time, where you had to kill monsters by creating electric connections out of them. So that's how the Land of Storms was created. The monsters you created electric connections of had to be something metallic (so that it is a conductor), slow (so that you actually have time to create connections), and heavily armored (so that it cannot be destroyed in normal way). My first drawing of the Metal Beast created something like a Trilobite, and they remained like that. They were joined by Storm Trolls, since it was interesting to also have monsters creating conductible walls when they die.

Ivy was one of the first monsters unique to HyperRogue, but now I have invented a potentially more interesting variant of it, growing much more quickly. I found the Mutant Ivy work well in two cases: in a forest (where you could chop down trees to reach the root), and in the open space, where it moved only on hexagons. I have restricted the movement of the Mutant Ivy to hexagons outside of the Overgrown Woods, so we have both cases in the same monster. You could cut trees to get access to the root, but it was also useful to be able to restrict the growth by placing barriers too — so the Mutant Ivy was joined by yet another Troll. Thus, the Trolls in the Living Fjord, Land of Storms, and Overgrown Woods (and to lesser extent Red Rock Valley) are all primarily intended not as something that can kill you, but something that helps you — as we say with Princess Tehora, "the trolls only want to help". The Orb of the Overgrown Woods is the Orb of Luck, which notably loses some charges when you kill an Albatross, as a reference to the superstition that killing albatrosses brings bad luck, as suggested by simon_clarkstone.

And the hex-restricted Mutant Ivy grew quite nicely in the open space, covering everything nearby — this was used in a Yendor challenge, but also a special land, the Clearing, was created for it. Fighting an infinite monster gives me a very epic mental image, especially when you notice that, when you move towards the root, you actually destroy trillions of Ivy leaves with a single strike (even though the game does not count that). Giant Fox was an appropriate monster here — as a omnivore it could both eat the mutant fruits and attack the player character, and there were already some canines (I like reusing families of monsters, like birds and Trolls). Orb of Freedom is a reference to the description of the Giant Fox, which is quite hard to see, since it is hard to actually meet a Giant Fox — even though it has no special properties, in combination with the giant Mutant Ivy I believe that it actually makes the land much harder, so you won't actually meet them unless going for high score.

Haunted Woods are based on an idea of wonderfullizardofoz. The general idea, shape, and location of the Haunted Woods are taken directly from this idea. No specific ideas about monsters, treasures and terrain features were given, so I have decided to make it Haunted Woods, a forest filled with Ghosts, inspired by a card in the Dominion deck-building game, which also gives a mental image of being lost in the woods, and the treasure name is inspired by the most expensive card in the famous collectible card game Magic: the Gathering. The Friendly Ghosts created by Orb of Undeath were initially greenish, but in 9.2 they were recolored on tehora's request to match the Playmobil toy (video).

As I have mentioned, Snowyowl0 had an idea about a land called "The Eternal Storm" — the Land of Storms took the name and treasure from this idea, but not really the general idea (land with strong winds), or the monsters (crows and air elementals). Windy Plains are based on these remaining ideas. I wanted a treasure which would be carried by the strong winds, and a feather was a natural candidate yet again (after the phoenix feather from the Land of Eternal Motion). White dove feather as a reference to the song by Bob Dylan, Blowing in the Wind. Tehora helped with the color scheme.

She has also helped a lot with the Rose Garden — here is her story: "There were multiple sources of idea of Rose Garden — probably the most personal land in the game. The earliest I recall was when Zeno made few buttons and fridge magnets with HyperRogue theme. I told him that HyperRogue lacked in a land that would have been incredibly light, pastel, sweet and pink. A bit disturbing and psychedelic. I do not remember who came first with the exact name of Rose Garden — probably me after Zeno told me about one of his favorite roguelike monsters — the nicely smelling rosebush from Alphaman. I got extremely excited with that idea, even more because I personally dislike roses, so they made perfect "monsters" for that land. And then I populated Rose Garden with False Princesses and Princes — a delicate reference to "The Little Prince" by Antoine de Saint-Exupéry and the related Polish song by Kasia Sobczyk. There has been already lost Princess/Prince, that was a real love of our Rogue, but... how to love only one person, when there are many other appealing? This loosely reflects my personal demon, too — to me every other girl would be a better match for Zeno. Digging further in the love-theme, we introduced the Rose Beauties and Handsome Gardeners who would be "too pretty to be killed" — I suggested them during a walk in the break during our friends' doctoral defenses. Actually, the suspenders of Handsome Gardeners were inspired by the outfit of one of our friends on that day. I liked Rose Beauties, because of association with my original understanding of The Sick Rose by William Blake. The very first time I heard this poem in Protagonist's song (thanks KosGD!) it triggered an image of an extremely beautiful but coldhearted evil lady, that nobody expects to be dangerous (of course, many years later I encountered so called "proper analysis" of this poem, but I reject it!). Gardeners tend to be "default lovers" in fairytales — e.g. we thought about Muzzy in Gondoland where the Princess ran away with a Gardener — a cartoon from our childhood. And the last fun fact — when I urged Zeno to create new appearance for Rose Beauties our first attempt ended up as the new look for Witches... And the tiling for that land was prepared to satisfy my moaning that Zeno made a great tiling for Galápagos, and Rose Garden had an inherited one. The initial orb's name suggested by Zeno was Orb of the Skunk and I strongly disliked it. We spend reasonably too much time discussing it, and eventually ended up with Orb of Beauty with the same effect, although motivated differently (gives you stunning appearance, not stink)."

In roguelikes such as Zaga-33 and Ending, the concept of "parity" is crucial — if you have four way movement on a chessboard, and skipping turns not allowed, it is predetermined whether you hit the monster first or it hits you, unless you find some way to disrupt the parity. IMHO games centered around parity get old quite quickly, but I have found it quite fun in Crypt of the Necrodancer — as you have to deal with parity only for a very small number of monsters here — so I have decided to do a bit similar in HyperRogue — have a single land based on parity. The usual HyperRogue tiling has no parity, but it could be recovered by forbidding movement between hexagons, or even better, using another tiling equivalent to such a rule. The intended solution to the problem of killing an incorrectly aligned monster has been influenced by the CotD solution. When showing an early draft to Fulgur14, with trees, lakes, and monsters temporarily named Sloths, he has noticed that the "warped tiling" actually had straight lines, and suggested that they could be used for shorelines — which was a very nice idea, so it turned into a Warped Coast. A new sailor creature was required (after Pirates and Vikings), and Ratlings (from ADOM) were chosen, because of the association of rats with ships and pirates. Their suspiciousness of enemies who do not move was a result of my e-mail discussion with Michael Brough, the author of Zaga-33, about the parity rule. In the first version, the land was solved far too easy by killing Ratlings on a sea boundary, so we have decided with tricosahedron that Ratling Avengers would be created when a player tries to abuse that strategy — and Fulgur14 and tehora wanted them to have capes, because Avengers always wear capes. Corals are a reference to the crochet coral reef project.

Also, the Crossroads IV were created, to reuse the straight line separating Warped Sea and Warped Coast in other situations. Wonderfullizardofoz had this idea too.

Fulgur14 had the idea of a gravity-based land with infinite trees. I think he has suggested apples as treasure, as a reference to the apple which, according to the legend, fell on Isaac Newton's head and thus influenced creation of the theory of gravity. But how to name yet another land of trees, after Jungle, Dry Forest, Overgrown Woods, and Haunted Woods? I remembered that Manic Miner, a classic platformer from 1983, had a level named Endorian Forest. The theme is a result of merging all three themes — Manic Miner's Endorian forest (EF for short), wizardry theme of Ivory Tower, and the theme of research. The land is named Yendorian Forest, as a reference to EF and the Wizard of Yendor in NetHack. EF had green (stable) and red (crumbling) branch platforms, and thus the Yendorian Forest has strong and weak branches. Sparrowhawk is simply a bird who likes to catch prey on trees; tehora did not like using the default bird shape for them, with their "shanks" sticking out, so she was forced to draw a new shape. It is not completely clear what the creatures in EF were supposed to be (probably EF is a reference to the Endorian Forest in Star Wars, and the creatures would be Ewoks, but still, they look different), and how they look from the above — tehora interpreted them as wearing hats similar to ones worn in ancient Aztec reliefs, so that's what we see in HyperRogue. Their bright saturated colors are also a reference to EF. Their name is a reference to Isaac Newton's gravity research, and "infinite trees" in their description are one of research subjects in theoretical computer science.

As mentioned in the first post in this series, originally I had a different idea for the main quest in HyperRogue — every place in the world had environmental/civilizational parameters (temperature, humidity, whatever) which slowly changed as you travelled, and you had to find the location with specific parameters, and probably come back. I did not have a precise idea about how to implement this, and I found that even simpler ideas are fun enough in the hyperbolic plane anyway. At that time, I had no good idea about how to develop this, but when I have mentioned this in that post, I thought that it would be fun to try this now, with all the new experience. I wanted slow creatures whose properties would adapt to the changing environment as you were travelling. This reminded me of Galápagos — tortoises in different islands have different properties to adapt to their environments, which was noticed by Charles Darwin during his Beagle trip, and contributed to the theory of evolution. The land could be called "Land of Tortoises", but Galápagos means "tortoises" in Spanish, so it is better. The text message you get when you find a Baby Tortoise ("Aww, poor Baby Tortoise.") is a reference to Penance, the roguelike webcomic.

A long time ago, Fulgur14 had a idea of a worm-like Dragon, who would be killed by damaging all its segments. I wanted to implement Dragon Chasms some time ago, but the idea for generating it (horocyclic chasms) turned out to be more appropriate for an archipelago, so Caribbean was created instead. Environmental parameters introduced for Galápagos had another application, of creating procedurally generated height maps — so I have decided to create Dragon Chasms with a new algorithm, where chasms were based on such a heightmap. It was quite lucky that Galápagos and Dragon Chasms were created together — I had no idea who would steal Baby Tortoises from their families, and how the Dragons could do anything evil despite being so slow — and making the Dragons steal Tortoises solved both problems! Fire Elementals were added as a simple monster to complement the Dragons — they were already in the Elemental Planes and they should appear somewhere else, and Dragon Chasms sounded appropriate. One bad thing about that is that all other Elementals are very strong in their lands (but weak in the Elemental Planes), and Fire Elemental is still rather weak in the Dragon Chasms — maybe something will be changed in the future. The Orb of Domination has its own story... when we have been showing HyperRogue to one of our friends a year ago, he went to the Desert, and he said "Wow, a Sandworm! Is it possible to ride it?!". It was high time to actually implement Sandworm riding.

This is all in HyperRogue 8.x. The next episode will be about HyperRogue 9.x, and it will take some time — it is still not known what will be there! :)

Thursday, 1 December 2016

HyperRogue 9.2: 3D hyperbolic animations!

HyperRogue 9.2 is released on Steam and itch.io!


This is again a release with no new lands -- however, it includes several upgrades aimed at making HyperRogue look more like a modern game.
  • Three dimensional view. How would the world of HyperRogue look if viewed from above? You can witness this yourself now! See legs of monsters, when looking from an angle, sides of walls, and chasms. For hyperbolic geometry nerds: this view is roughly accurate if we assume that the surface is actually an equidistant, not a plane. ("Roughly" because formulas are not yet perfectly adjusted for stacking items (e.g. Dragon riding or climbing Red Rock), and sizes of objects are arbitrary.) The 3D view is the default setting now, if you have saved your configuration in an older version, you have to set the "wall display mode" and "monster display mode" to one of the 3D modes.
  • Movement animations. Monster movement is animated now. You can watch these dogs run! Also particle effects when things are destroyed.
  • Sound effects. When a dangerous enemy such as an Eagle comes, you can hear it now! There are also sound effects when you fight, colelct items, and in several other situations. Some sound effects are still to be recorded :)
As usual, the full changelog and further minor updates are reported on the Steam forum. Mobile versions will be updated later. Enough talking, let's play. Have fun!

Saturday, 12 November 2016

Hydra Slayer 18.0

Hydra Slayer 18.0 is released on Steam and itch.io!

Hydra Slayer is a roguelike with a unique combat system, based on old matematical puzzles. The highlights of release 18.0 are the following:
  • A new player race, the Atlanteans. Most characters in Hydra Slayer would meet vulture hydras, who grow one head for every wound they deal to the player. The Atlanteans have been cursed by the gods, and this will happen for all hydras. Will you be able to turn your curse into an advantage? The curse significantly affects the equipment and strategies to use, especially in the first 12 levels. Thanks for Patashu and Nick for the idea!
  • Evolving hydras. They start to appear after level 25. Their resistance to the given weapon material is increased by one after each attack. These are inspired by a (slightly trollish) post by IchigoMait.
  • Previously, each level below Level 12 contained just one special hydra (not counting bloody or dragon variants of standard colors) -- since there are 9 types, some of them will appear just a few times. The new version changes this -- some levels will replace one of the standard ones with another special, and some will almost lack normal hydras and include most of the special types instead. Challenge levels now tend to have two special hydras per level too.
  • One new exotic weapon -- I will leave that for the players to find :)
  • New special graphics for scythes (Atlanteans start with a scythe), hecatoncheires and monkeys. Thanks to tehora for requesting these!
  • Removed some exploits. It is no longer possible to enhance the titanic club easily with the Reforging+Ambidexterity combo (thanks to vo3435 for abusing this). A tighter limit is placed on using time-daggers on mushrooms.
  • Some features have been added to help with "head draining" attacks (all hydras for Atlanteans, Vultures for all characters). When fighting head-draining hydras, the number of wounds caused by the hydra's next attack is given in the UI. For other hydras, when you select your shield, "+1" is displayed for the hydra whose damage is reduced by your shield. Also, you can now press 'w' in the hydra description, to view the amount of wounds the given hydra would deal for every size. Enchanted Mersenne Twister (when trying to roll a 'good' number of heads) will now take into account that extra heads could be drained.
  • In the cheat mode, shift+H can now also summon equipment.
  • Minor bugfixes: better display of the in-game achievement screen, capital letters accepted in the scores menu, better handling of the app going out of focus, the generation of Giants' weapons in challenge games, crash bug with Vulture + Ambidexterity + Knowledge/Growth, using Twister even though runes are active, inexact calculation of wounds in the PoK algorithm by head drainers, 'use count' for traps, dragons attacking in a wrong direction on non-orientable levels, number of stunned heads is no longer displayed in the PoK hint for large hydras (the algorithm does not care about them anyway), potion of knowledge correctly counting wounds for shadows, capital letters accepted in the scores menu
Have fun! Small updates will be posted on the Steam forum first.

Thursday, 27 October 2016

HyperRogue 9.1

HyperRogue 9.1 is released on Steam and itch.io!

There are some gameplay fixes, and numerous user interface improvements. There is a new "land", but it is not a part of the normal game, but rather a separate Halloween mini-game, where you play on the surface of the jack-o'-lantern, and fight typical Halloween monsters, such as witches, undead, and demons. This is very different from the usual game of HyperRogue because you play on a sphere -- which is (in some sense) the opposite of hyperbolic plane! While HyperRogue is that everything is infinite, the sphere has severely limited space of just 32 cells. Collecting Treats will summon new monsters, and bring you magical Orb powers. You have to manage your limited resources to be successful here.

The Halloween mini-game can be activated from the main menu. In it, you can press 'o' to try the spherical variants of the usual lands of HyperRogue. You can also try elliptic geometry, which is obtained from the sphere by considering the antipodes to be the same point -- and there is no real difference between Mirror Images and Mimics in this geometry :) In general, HyperRogue now lets you compare the hyperbolic phenomenons to their spherical counterparts. After Halloween, the spherical/elliptic geometry and the Halloween mini-game will be available in the "Euclidean/elliptic mode" in the special modes menu.

Other changes include:
  • Major overhaul of the user interface. Most of this has been actually done in patch 9.0i. The new menus should look better, and adjust to the screen size better (especially mobile). The color dialog has been improved, and it is now used when you edit the colors of your character. Most numerical options are replaced with subdialogs when you can enter the numbers directly, or adjust them with arrows or sliders; and some help is provided for some of the less clear numbers. In 9.1, additionally pressing F5 or F10 while in good game won't stop immediately (ESC screen will be shown first).
  • Improvements to the Prince(ss) quest. Some bugs were fixed (jealousy did not work, monsters tended to just stay in place after hitting the Princess -- now they ignore her while she is stunned, and also the stun time is extended). If you have saved the Princess successfully, but she dies later, you can revive her with Orb of Love after you collect 20 $$$ more.
  • Orb power is now drained after the monsters move, not immediately after the movement (so Shielding at 1 charge will still defend you for the next turn, and Aether at 1 charge will let you move once more) -- this should be much more intuitive, especially with Orb of Time. Also fixed some bugs with Orb of Time (Thorns or Aether were considered to be used even though they were not). Also fixed Ghosts and Rock Snakes, who did not work correctly with Orb of the Shell/hardcore mode.
  • Knights of Camelot now quote Euclid, Lobachevsky, Gauss, and Escher.
  • As a reference to Deadly Rooms of Death, Goblins are now afraid of energy swords, and won't step on cells adjacent to them.
  • You can now change the projection quickly by pressing number keys. This is useful on the sphere, and also if you want to see the different models of hyperbolic plane quickly. 1 (orthographic or Gans model), 2, 3 (stereographic or Poincaré), 4 (gnomonic or Klein).
As usual, there will be probably patches -- changelogs are reported on the Steam forums first. Have fun!

Tuesday, 25 October 2016

NotEye 8.4 + Hydra Slayer 17.1

Necklace of the Eye, the roguelike frontend and display library, and Hydra Slayer, a roguelike based on mathematical puzzles, have been updated!

This update brings the following:

Hydra Slayer update

Hydra Slayer has been updated to version 17.1. This means that features which were previously available only in the paid version on Steam are now free. These features include: random challenges, traps, a new type of equipment (orbs), animations of flying heads, music, and lots of bugfixes and interface improvements. See here for details about version 17.0, and for the further updates. Of course, you still need the Steam version for typical Steam features such as online achievements, leaderboards and trading cards, and new features planned for the future will get in the paid version first!

LuaJIT

NotEye now uses LuaJIT instead of the standard Lua. This greatly improves the performance.

Better support for Unicode

NotEye is now better at handling Unicode, that is, characters outside of the standard ASCII. Thus, when using a font containing all Unicode characters, for example, Hydra Slayer can now display the appropriate symbol √ for Eradicator, and Brogue can use the Aries symbol ♈ to display grass (previously this was possible only with fonts supplied with Brogue). Probably there are still some cases where this does not work as well as it could -- see NotEye's GitHub repository for further developments.

Better support for Linux terminals

One of strengths of NotEye (compared to Libtcod) was always that a NotEye game could work in a system terminal -- this makes it easier to communicate with software such as ssh for remote playing or screenreaders for blind people, and is the preferred way of playing text roguelikes for some people. NotEye 8.4 improves this somewhat. Modern Linux terminals do support 256 color palettes, or even TrueColor -- the newest version of NotEye can use this, thus, if you are playing Brogue on such a modern terminal, it should look just like the graphical version, with Unicode symbols and truecolor lighting. Secondly, using this feature was somewhat complex -- in version 8.4 it is sufficient to set the environmental variable NOTEYEEXTRACONFIG to consoleout_curses() (for the traditional Curses output), consoleout_16(), consoleout_256(), or consoleout_truecolor() (these three options work only in Linux for now). Previously ADOM and Hydra Slayer had special scripts on Windows for enabling the console output -- using an environmental variable makes these scripts simpler.

Downloads

Download NotEye+Hydra Slayer, or NotEye+Brogue. Have fun!