Monday, August 29, 2016

Hyperrogue - 10/20 hours

Roguelike games always make me really existentialist. What's the point of it all, chasing treasure until I inevitably get backed into a corner and die? Why do I bother going on? When it's all over, I'll have nothing to show for it but the memory of my deeds, and even that will fade in time.

It gets awkward trying to keep those thoughts from leaking over into my real life. Luckily, Hyperrogue's geometrical gimmick helps me maintain an effective mental quarantine.

I mean, really, what's the deal with that crazy hyperbolic geometry? I did some supplemental studying to brush up on the subject. the memory drain since college has been pretty bad - I remembered "the angles in a hyperbolic triangle are less than 180 degrees" and "the hyperbolic plane is like the side of a saddle," but pretty much all the rest of it had faded away. The interesting thing about Hyperrogue (for a certain math-nerdy value of "interesting) is that it is not quite set on a hyperbolic plane. Rather, it is set on a projection of the hyperbolic plane.

The distinction is a bit subtle, but basically the hyperbolic plane is most easily visualized by being curved in three dimensions. However, it you want to make a 2-D representation of that plane, you must come up with a geometric function that takes inputs from the curve and maps them to a flat surface. The thing is, this process is never perfect and different functions have different tradeoffs when it comes to accuracy and usability.

A more familiar example might be the translation of a globe into a map. Like the notoriously tricky Mercator Projection, which had the virtue of preserving angles and directions while greatly distorting the size of objects far from the equator. I bring it up because Hyperrogue's Poincare projection map ostensibly has the same problem. However, because your character is always at the center of the map, and given the way distance works in the hyperbolic plane (basically, the circumference of a circle increases exponentially with its radius), the parallax (the change in apparent location of a distant object as you move relative to it) is extreme. If you see an object on the left side of the screen and take a few steps in any direction that is not directly towards the object, you will find that it moves to the bottom of the screen. A couple more steps, and it will be on your right.

I think a different projection might have mitigated the disorientation caused by this wild parallax, but it would have probably had to sacrifice the consistency of shapes in the far field, and I'm not sure that a map where landmarks consistently look different when viewed from a distance would be much of an improvement when it comes to navigation (the Poincare projection has a similar problem, in that tiny objects on the horizon turn out to be huge when they are close up, but they still tend to look more or less the same).

The only conclusion I can reach is that Hyperrogue intends for me to be permanently lost. I hate being lost, but I've been try to accept this with equanimity. It's not like you really need to go back to previous areas once you've cleared out their treasure and while you might be tempted, in a euclidean geometry-based game, to backtrack in order to explore side tracks, it's just as easy to go forwards as backwards in Hypperogue's open map. So, maybe instead of being lost, I'm really just always where I need to be. And if I tend to advance by striking out in a random direction and hoping to get lucky, well maybe that's just the thrill of exploration . . .

This game is a nightmare.


  1. I always found that there was no real tracking of where I was. If I needed to get to a specific terrain type, well, I just kept bulling forward until I found it again.

    I feel repentant. I've sent you something by way of apology. Yes, I expect to see you go through it on here.


  2. Not sure what you mean by HyperRogue being set in a projection of hyperbolic plane. Even though we usually see Earth in the Mercator projection, it does not mean that our lives are set in a Mercator projection. Similarly, HyperRogue is set on hyperbolic plane -- a projection is used only to present the world on the screen. A person living in this world would get lost too, unless they had some kind of compass that would lead them back.