44 comments

[ 3.4 ms ] story [ 126 ms ] thread
Cool and vaporwavely, can I add it to my StumbleUpon-like website, here:

https://sharkle.com

Of course!
Thanks, please add a vaporwave-like soundtrack, and I will gladly put it on another one, dedicated to audio experiments (it will bring you some nice traffic).
Wow, I haven't seen anyone reference Stumble Upon in a very long time.

I'm going to check this out.

interesting. I struggled to understand how to orientate the moon shapes but got it near the end.
Code Parade on Youtube has some nice tech demo for non-euclidean 3D game engine.

"Non-Euclidean Worlds Engine" - https://www.youtube.com/watch?v=kEB11PQ9Eo8

"Spherical Geometry Is Stranger Than Hyperbolic" - https://www.youtube.com/watch?v=yY9GAyJtuJ0

How does one define a coordinate system on such a grid? I considered making a game with the same kind of grid (five squares meet at each corner) but I just couldn't figure out how to individually address each cell in a way which allows easily finding which other cell IDs must be neighbors.
Please add game instructions!
Clicking and keyboard work on the computer, and tapping and swiping works on touch devices. I was hoping this would be clear enough since I don't want to take up people's time with tutorials. Maybe we can add a separate "help" button or add this to the about page?
Yes. It would have been useful for me. I had never come across the original (2D Euclidean) game before, so I had no idea what the game objective was, nor that I was supposed to push boxes to achieve it.
Thanks again for the feedback, we've added a little "help" page now.
Yes please
Coool! I love sokoban! Finally new levels! Woohoo! Just gotta say, this is a great game,

some quality of life changes could be

- click to move automatically to cell if unobstructed

- scoreboard

- what is the lowest amount of moves for the levels?

Cool and spicy. I used to play sokoban as a kid and quickly figured out how to play it. I just wish the gameboard was larger, it is quite crammed but still playable on the phone.
It doesn’t advance past the first level for me, on mobile (ios)

Edit: after exiting Chrome, now it’s rendering the controls at bottom of the screen.

Edit: and it’s really fun.

Very cool. There are tons of non-Euclidean video game experiments. But this one is actually fun and definitely has potential ;)

One possible improvement is to add another degree of freedom for player movement. Being ability to rotate the sphere and see where you are located in relation to the goals would help. And make touch screen play really immersive.

i guess it looks like a sphere but it's hyperbolic space and the opposite "direction" of curving compared to a sphere. But I dig what you're saying, like.. maybe allow us to drag our center of projection around so we can get a sense for the space.
One of my favourite games of all time is called Knossu and is also non-Euclidian (edit: this is wrong, see comment below), although it takes a very different approach to confusing the player. The author, Jonathan Whiting, is probably best known for his article "Why I Write Games In C" around here

It seems like the best games throw you in with no context, and let you explore their consistent but mysterious mechanics and worlds

1. https://jonathanwhiting.com/games/knossu/

2. https://jonathanwhiting.com/writing/blog/games_in_c/

Knossu is cool but not non-Euclidean... It changes topology but its geometry remains Euclidean. Weird connections and non-Euclidean geometry are two very different things.
That makes sense, I'd only seen the term in reference to similar games before, I guess I'm not the only one online that was mistaken!
Indeed, it seems that Antichamber called itself "non-Euclidean" and people did not know what it means and called all games which did something weird to their spaces got called non-Euclidean. We have lots of cool truly non-Euclidean games in development today, so hopefully they will understand it better :)
I wold say that being Euclidean requires very plain topology, an equivalent of a plane. Else you can't get Euclidian distance, for example.

By this token, classic Doom is already non-Euclidean because of teleports.

What people often want when they ask for non-Euclidean is a curved space, like, well, the surface of a globe. Or maybe a torus. Or space being infinitely repeated while looking flat (also much like a torus). Some kind of hyperbolic geometry could be fun but likely too mind-boggling.

(The ultimate in non-Euclidean worlds I've seen so far in games is the paradoxical space of Monument Valley.)

Geometry is the curvature of the fabric the space is made of.

Topology is how you sew/glue this fabric.

You can make a cylinder out of flat paper, so it is an Euclidean manifold.

You cannot make a sphere out of flat paper, so it is a non-Euclidean manifold.

Non-Euclidean geometry refers specifically to the geometry, not to the topology. It is not "anything where the distance is not the Euclidean distance" or "anything other than the Euclidean space" or "anything not related to Euclid's proof that there are infinitely many primes". Such a concept would not be useful, because it would be so broad that nothing interesting could be said about it (as you said, it would include Doom levels because of the teleports).

So a cylinder or a flat torus or a space being infinitely repeated are not non-Euclidean geometry. Monument Valley also has no relation to non-Euclidean geometry.

I agree that you can glue flat paper in a way that connects disparate points without making it spherical and thus breaking the Euclidean properties: parallel lines, sum of angles in a triangle, distance, except for the teleport points. You can draw two lines parallel to a given line through a given non-teleport point: one passing through a teleport, another not passing.

Since the very notion of a line or a distance in the Mountain Valley world is ill-defined, I would not call it Euclidean either, even though each static configuration of it may be Euclidean, minus doors (which are teleports again).

Usually "non-Euclidean" is used for Riemannian manifolds, so if something is not a Riemannian manifold, it is not called Euclidean or non-Euclidean.

Just like "irrational number", which is not any number that is not rational -- we still assume that it is a real number, so i or Aleph-Null are not considered irrational.

If we include teleport points in our metric, we no longer have a manifold (if teleports are one-way, not even a metric space). Similarly for Mountain Valley, or affine/projective manifolds that can be found in some games, it is wrong to call them Euclidean or non-Euclidean.

Anyway, originally "non-Euclidean" was just the hyperbolic plane (the only geometric structure which satisfies all the Euclid's axioms except the fifth), and then (depending on whom you ask) it was extended to also mean other situations which are different but similar in nature -- so spherical geometry (which is just the opposite), Nil/Solv geometry (which also play with parallel lines), but not cylinders, affine manifolds, teleports, taxicab metric, and so on (they don't really do anything interesting to parallel lines).

Thanks, that's informative!

Games on "spherical", or rather, "polar" surfaces are well-known: space flight around a gravitating body, along circular geodesics.

A shooter in a hyperbolic space, and with gravity, could be hilarious.

Unfortunately spherical geometry is often done incorrectly (in Civilization the Earth was a cylinder, in other games planets are tori).

What kind of shooter? An Asteroids-like game on hyperbolic manifolds (both 2D and 3D) can be found in HyperRogue, although there is no gravity. Gravity in hyperbolic space is a rather problematic thing, you always get some extremely weird effects, also I believe there are no stable orbits in hyperbolic spaces.

(comment deleted)
Would you consider putting it on the App Store?
Yes, we considered it, but I'm not sure if and when that'll happen. However, we also added PWA features [1], so you should be able to add it to your homescreen and it should work fine offline that way. But we're not experts on this stuff, so definitely let me know if you run into issues with this.

[1]: https://developer.mozilla.org/en-US/docs/Web/Progressive_web...

Anyone work out the key bind for undo?
It's Z, the traditional undo key in Sokoban-likes. More specifically, the key where Z would physically be on a Qwerty keyboard, regardless of what keyboard layout you have actually selected. Same goes for [R]eset.

Was almost surprised that a little web game gets this right when many native apps don't. I just checked the last three Sokoban-likes I played (Stephen's Sausage Roll, Baba Is You, A Good Snowman Is Hard To Build) and they all follow the currently active layout. Which admittedly is way better than the really annoying games that memorise the layout that's selected when you launch them and have to be completely restarted if it wasn't the one you wanted.

This is very interesting.

Could you move the next and reset buttons so they're easier to click?

I'm not sure if this is the same issue but we've heard from tons of people that the "undo" button should be at the bottom in order to make it easier to reach using a phone one-handed. We've now made that change. If you're referring to something else, please elaborate :-)