That's a really cool solution for H3 to re-align gravity based on the chunk, it gives the architecture a very Escherian look! I guess it limits you only to interior spaces though, otherwise you could fall into the sky. I solved the problem differently in Hyperbolica, by continuously re-aligning gravity and the camera's up direction to be perpendicular to the 'ground plane' so it feels more like H2 even though it's H3. The downside is that the player won't be aligned to the chunks, which isn't a problem for me since I can compensate for it in the modeling, but I could see it being a stylistic issue for HyperBlock since you'd have to walk on blocks at a 45 degree angle sometimes. Regardless, if you want to try it out I can share the equations I use to re-orient the player.
Yeah, I'll have to think of some work arounds to a few issues. Falling in the sky being one of them. Fluids is another thing to look into, that they'll be flowing in directions inconsistent with your gravity. I like your solution a lot too. You're right through, for me not walking on sloped surfaces is a huge must (I tried gameplay like that, with gravity free to change through holonomy, and it felt like I had slight vertigo, even after not playing for a bit!) But in certain contexts it could work, for example, an underwater world where there's only light gravity perhaps? I'm still going to try it none the less, so I may reach out about your code at some point. Thanks a ton for the offer! :) Its nice knowing I've got help
@@kayturs you can add both gravities as a setting Also there's a third way of defining gravity, it's a bit complicated to explain here so I'll do it in the server
Is Hyperbolica going to feature different levels with different curvature of the space? I've spend a lot of time thinking about how it would be to live in a hyperbolic world and how noticeable it would be. I think a radius of curvature of about a hundred km would be the sweet spot where it is not noticeable in daily life, but still makes a big difference. By my math, if you then raise the ground about a km above a plane, turning it into a hypercycle with a constant downwards curvature, you get a horizon very similar to that on the earth as long as you stay away from high mountain peaks. If you were teleported to this world I don't think you'd notice you were not on a ball for a long time. You could go for a trip to the next town, through fields and forests, and nothing seems weird, but if you do a Marco Polo type journey you are spectacularly unlikely to ever find your way back, lost in a world that's in a sense more infinite than regularly infinite. That sea, mountain range or desert you try to go around may well stretch to infinity even though it keeps curving back and seems small. Empires could control truly vast territories all within a few weeks march from their heartland, with vassal states unable to conspire without going ridiculous distances or finding the way through the empire's center. Of course a game, being much smaller in scope than real life, will have to use a larger curvature, or there is little point. I am looking so much forward to trying and exploring both Hyper bolica and HyperBlock and whatever other hyperbolic games that are being made.
@@Sgrunterundt What you describe sounds like a hyperbolic Civ game... That might be an untapped market. 1 point though, I think a world in a hyperbolic universe realistically would still be spherical, it's just that the area would be exponentially larger than the radius and the volume exponentially greater still. The difficult part is figuring out how sunlight would work, but I think a Dyson sphere might be a solution (for an inside-out spherical world). There would need to be a different explanation for gravity though.
@@NathanNahrung Hyperbolic Civ could be awesome! How could a universe be both hyperbolic and spherical? You can not have negative curvature and positive curvature at the same time. Also what do you mean be "still". The evidence doesn't point to our universe universe having a spherical geometry. Sure, you could in principle have a closed topology even with negative curvature, but then it can no longer be isotropic and homogenous. In a computer game you obviously need to limit the scope, either by closing the topology or the world just ending, but a universe have no such limitation that we know of. As for the problem of gravity. I initially imagined how an infinite flat Euclidian world could work. I started with a universe without general relativity, just the standard model of particle physics. That should in principle be self consistent, though a boring world without gravity. Then we add a constant Newtonian gravity in by fiat (breaking isotropi), a "bottom of the world" plane perpendicular to the gravity direction below which all fields are set to zero (making it perfectly reflective to everything), and then a permanent source of negentropy in the form of short wave radiation approximating the spectrum of the sun forever coming from infinitely above. And now we basically have an infinite MineCraft world with an approximation of real-world physics in a self-consistent manner. Some more tweaks would be necessary for the hyperbolic world, but I really should make a blog or video or something rather than musing on in a random RUclips comment (or get back to actual work).
Water could fall orthogonally and towards the nearest solid block. When going off the edge of something, gravity for that water could stay in the same direction until it lands, such that waterfalls still work.
Oh, man, the wonky gravity is really cool (and I understand why it's doing that - you're having gravity be consistent for the player from chunk to chunk, and holonomy means that you can end up turned 90 degrees as you go around a loop, so that means you can come back to where you started but now you're walking on a wall) but I'm not sure I like it... as far as I can tell, though, all the 'natural'-seeming choices for a consistent universal gravity direction seem like they'd run into huge problems with the gravity becoming wildly non-parallel to the block grid.
Hey, sorry for the late reply! And yes, the options for natural gravity do lead to a lot of inconsistencies. The biggest one is that the chunk you're in will always find itself slanted in hard to predict ways. For a game that revolves around building, keeping them straight relative to the player was a big priority
In the "Generate world" options, there should be an option to change the curvature-dampening subdivision rate. What I mean by this is that each chunk in H3 is a cube, say 16 by 16 by 16, while in H2xE, it is a square prism, 16x16, infinitely tall. (Somewhat like Minecraft.) My idea is to change the curvature, not by changing how many chunks meet at each edge, but by changing the subdivision rate. More subdivisions dampen the curvature more, so a 64x64x64 chunk size would be closer to euclidean Minecraft, with more manageable curvature. Or you could get sharper curvature with 8x8 chunks or 4x4 chunks, and this would work in both H3 and H2xE. The fact that you can walk around in the same chunk, with different gravity directions, gives some really awesome map building potential, and real Mario Galaxy vibes. I feel like a creative person could do some really cool things with this. Also, that RGB full color lighting system still sounds like a genuinely good suggestion for Minecraft. EDIT: Spelling
This is an option, to change the subdivision as well as the chunks meeting at a corner :) There's still a lot of optimizing to go to allow for larger chunks, but for sure it is the goal :)
This project is very impressive and I'm looking foward to the demo release! I'm also still trying to wrap my head around gravity in H3, but now I want to see how gravity might work in Nil geometry. I'd very much like to watch you stream this game some time, it looks super cool!
Thanks a lot! I'm glad you're looking forward to the demo! I can't wait to see others try it out as well! :) With the gravity, same here, it took a while to wrap my head around it (look at how confused I get in the video! Trying to find my way). It's really fun though! Other geometries would be really cool as well; nill and spherical I'm curious about
This is not the way gravity would work in a real Hyperbolic world where mass centers are correlated with gravity fields. But hey, it's still cool! Besides H3, S3, H2×E, S2×E and E3 there are the SL(2), Nil and Solv geometries. Naming only those that are locally Euclidean! SL(2) would be particularly interesting to me. There are many other 3-dimensional geometries when counting those that are locally Minkowsky, but i haven't found a classification of them. In 2 dimensions there are H2, S2 and E2. And then there are M2 and HM2 (Hyperbolic Minkowsky) and possibly a few more, not sure whether there is any Spherical Minkowsky plane or if that's an oxymoron. M2 is flat and is the projective dual (points and lines swapped) of E2 (with all points of the same distance/radius to a center forming hyperbolas instead of circles in Minkowsky planes, and in some planes of Minkowsky spaces) while HM2 ought to be negatively curved, since it makes up the plane of hyperideal intersection points of ultraparallel lines in negatively curved H2 (these are the points shown beyond the circle at infinity in the Beltrami-Klein model of H2) and is the projective and polar dual of H2. There ought to be a Beltrami-Klein-Gnomonic like model of HM2 having a hyperbola at infinity (hyperbolas seemingly close to it actually being extremely distant from the origin - like in Beltrami-Klein projection of H2, while hyperbolas going the other direction, even when seemingly extremely distant are very nearby - like in the Gnomonic projection of S2, there being a finite distance around lines not crossing the hyperbola at infinity). I don't know if M2 and HM2 are standard names, but these spaces definitely exist. There are also M3, HM3 (connected to H3) and spaces somewhat similar to HM3 (like two isomorphic spaces connected to each other through hyperbolic tori at infinity), plus possibly weird stuff similar to SL2 etcetera.
Now that i think about it Hyperbolic and Spherical Minkowsky planes are probably the same/isomorphic, except you flip the sign for the norm/quadrance function (distance squared) and the sign for the spread function (sine angle squared). This must still be properly defined and proved though. I will have to read about the curvature definition for circles so i can generalise it to hyperbolas. Sines of imaginary numbers correspond to sine-hyperbolics of real numbers and sine-hyperbolics of imaginary numbers correspond to sines of real numbers. Quadrances (distances squared) and spreads (sines of angles squared) are perfectly dual measures of edges and vertices. This is evident in Spherical geometry, and may be seen in the combined Hyperbolic and Hyperbolic-Minkowsky geometry of Wildberger's Universal Hyperbolic Geometry.
Regarding gravity in Nil: there is a special direction in Nil (let's imagine it is Up/Down) such that when you make a loop in the NESW plane, you move upwards or downwards, proportionally to the area of the loop. If you make this special direction to be the direction of the gravity, you get tiny perpetuum mobiles everywhere, which does not seem to make that a good game if nothing ever stays in place. ( ruclips.net/video/mxvUAcgN3go/видео.html ) You can also make the gravity point in a non-paradoxical direction, which is still weird (there is a hidden mode in Bringris which works like that).
This is like those videos of the ISS where orientation doesn’t really make sense because there is no gravity But... there is??? Like I fully understand why its happening but watching you move around like normal makes it seem so much more bizarre when holonomy takes its effect... Super cool stuff
Exactly, actually this perfectly explains my confusion as I play it! Like there's two conflicting ideas in my head. My intuitions saying "gravity must have changed at one point..." but also "umm.. no, we were always aligned with what I thought down was". It's so cool that a geometry/space could do that
this looks cool edit: if you use a capsule instead of a rectangular prism for the character collider then you will be able to walk up a slope without having to do the jumping thing. edit 2: that is if you even are using a rectangular prism as the character collider. if you aren't using a rectangular prism then i have no idea
That's a good point, I take it that's how it's usually done. I'm coding my own simple collision system, but maybe I could do something similar in concept to a capsule for collision
Getting more aMAZEing with every update! Are you planning to use closed (cyclic) spaces as well? Water flowing depending on the path you walk would add a whole new layer of complexity to the gameplay. One alternative might be having 6 different kinds fluids - each with its own downwards direction. However since there cannot be a universal definition of the 6 directions, I think this would cause problems. Another alternative would be to make a substance that stays as it is put, but that can be dived through. This substance would not share the property of being a fluid with water, but like water, it would be semitransparent and would enable you to move in the vertical direction, while you have sufficient air.
To effectively prevent gravity from "flipping" around, you could define gravity as the negative gradient of some scalar field. The question now is just, what scalar field? On earth, that scalar field would be a function of the height, i.e. h*g, where h is the altitude above sea level and g is the gravitational acceleration. In a hyperbolic space, you could define this scalar field to be the shortest distance to the "ground plane," if it is possible to define such a plane. And to prevent that chunks get rotated so that you suddenly walk on voxels that are don't have any horizontal surface anymore, I would probably try go with H2*E physics but H3 rendering, similar to CodeParade's solution.
Yaaayyy! Real H3 Hyperbolic space!!! You have my respect, sir! 😃 Also those colored lights are a very good idea! 😊 Realistically gravity would point towards the center of a ball, or towards a plane (like in the Ivory Tower in Hyper Rogue) but this is a very fun idea to play with. 😁
Thanks a lot!! :D I want to see if I could explore both types of gravity. But yes, so far this has been a lot of fun. Exploring also becomes a bit of a puzzle!
@@kayturs I *love* the "exploring is a puzzle" aspect, and this video really makes it clear that you're having fun making sense of it. "Hippocampal fun" if I may coin a term... fun making a mental map of a virtual space. When I started watching the video I thought the Escher-like gravity would be too disorienting for hippocampal fun, but now I'm convinced. I've never quite understood, though, why gravity is a problem in H3, since it seems to work OK in HyperRogue (in the forest, tower, dungeon, etc.). Some videos mention the holonomy as a reason; but can't the player just be forcibly moved to "vertical" wherever they're standing? Hyperbolica devlog videos mention using H2xE physics because of the issue. If you end up trying different gravity models, a video explaining the differences and why there's a problem at all would be awesome.
@@dranorter in Hyperrogue the "gravity" in certain worlds go in several directions from most hexes/heptes, it is merely a restriction of movement, you decide for yourself when to "fall" and in which direction. In Hyperblock on the other hand, we probably want a gravity that pulls you down on its own, involuntarily for you, and then this gravity must know which direction to pull you when there are multiple options. It is not obvious at all how to solve this. So i can understand using H2xE even though i really love full H3.
ok, I found out while watching this that there is no need to fix the Y camera tilt if there is no surface in the world. If the world is all caves, the orientation shifts is actually amazingly cool.
you can take this to its whole own game, rather than a part of Minecraft. Add no specific orientation blocks like the Minecraft torch that is always oriented in a given way and can't be placed in given surfaces.
but being a building game I think to be very necessary. It's be extremely good to build your own things in the space and play with it instead of being just an observer to what someone alse did.
Yeah, it really is something! Like I say in the video, I wasn't even planning on using H3, but I'm glad I was convinced! It's its whole style of gameplay. The cave I made in this video I made on a whim, I was initially intending to just test a few things, but it was the first time this space was really playable, and as I was testing, I slowly realized "wait this is insane!" as things were flipping around. Building/exploring really becomes a puzzle!
@@ynntari2775 And agreed, about building your own things. I'm gonna make content like dungeons that'll be part of a story mode, but creative building will be just as big a piece of the game
@@kayturs Thinking about physical plausibility, it's sort of as if the player "carries" gravity with them, as if they've got a little thruster on their head all the time pushing them down. (Right?) So I realize this would totally change the gameplay, but it might be kinda logical to have keyboard controls allowing the player to just switch the direction of the "thrust". Otherwise I think the smart thing to do as a player would be to build loops into the architecture where you could switch your direction of travel in as quick a way as possible. If this were Minecraft I'd try and build something with slime and pistons to throw myself along such a route.
What if you were to increase the number of chunks meeting at edges from 5 (I assume) to 8? Because in Euclidian space it's 4, and 8 divided by that equals 2, it would be like a spin 2 universe but the gravitational direction would be maintained. 6 might also be interesting as gravity could only flip 180 degrees, so you could have some liquids fall up and others fall down, but not mixing like oil and water. Either way, an even number could have some benefits for maintaining "straight" lines between chunks.
8 chunks per edge work perfectly for gravity. Unfortunately it makes the space noncompact in H3, so the vertices of each chunk become hyperideal points, and you will get lost very quickly when going round a corner between chunks. Noncompact space is worse than paracompact (like with 6 chunks per edge), with 5 chunks per edge we get compact space (technically locally compact).
I am not sure if this applies to your situation or build, but I have heard stuff about how hyperbolic geometry can fit 5 squares around a vertex. Or even have pentagons that have 5 right angles. And other geometry madness. Like parallel lines that diverge. Any way. Hyperbolic space can be mind blowing strange to work in. So I wish you the best of luck. Please be careful not to let it drive you crazy.
Why did you have the blocks be regular cubes and chuncks as hyperbolic units or whatever its called? It would be much cooler if you had 5 blocks around each vertex of every block not only 5 chuncks at the vertex of a chunk. Or would that bring the curvature too high for it to be rendered in a way that would make sense?
Setting the chunk width is an option actually! Right now the minimum is 2x2x2, but I'm going to tweak it to get down to 1x1x1. I've tried size 1 in H2 before, and the curvature is rather high. It's fun in its own way, but very chaotic. Plus it's been hard getting far draw distances since it doesn't take much distance for the number of chunks to explode! So I don't prefer highlighting those curvatures as much
@@kayturs What about smaller cells, for example subdivide a cubic chunk into 16*16*16 small cubes? It could result in more "normal" gameplay, similar to regular minecraft, while keeping the hyperbolic features.
Also, it might be easier to generate some realistc terrains with mountains, seas, chasms, etc., by introducing a ground plane and setting the gravity forces perpendicular to it (like The Ivory Tower and Dungeon lands in Hyperrogue)...
what if h3 was a separate dimension from the h2 one? so you could somehow go to an escherian dungeon realm to get cool stuff edit: and i mean a minecraft like dimension, and not necessarily with portals
that will sacrifice quite a bit of view distance unfortunately. to bring that distance back up, yeah it gets slow. but as things are optimized it may become more smooth
What tiling are you using? Is it {4,3,5}, or {4,3,6}? And how many divisions? (For those not familiar, Minecraft is {4,3,4}, which means 4 cubes (3 squares) around each cube edge, and the 4 being bigger is why there is "more space" in the hyperbolic version)
For both H3 and H2, the number of chunks meeting at a edge/corner are adjustable, (5 and up) and so are the chunk divisions (some values have to be fixed up, for example a chunk of size 2x2x2 blocks will have poor draw distance, so I'm trying to optimize to allow for further distances)
It is not true locally near the center, but it is sort of true at a distance. Except we maintain the angular degrees and instead increase the length of circle arcs. Therefore triangles have angles that sum to less than 180°.
I have a suggestion, make liquids simply not have a gravity orientation. Ok, this idea is not that elaborated yet but it's a prototype of idea. If you want water to expand, it could expand like around the source block in a sphere-like pattern, creating a bubble. ⠀ Or maybe the water would consider the "downwards" direction to be the surface in which you clicked. So if you clicked on the top of a block, the water will consider the downwards direction to be the opposite surface of that block, so it would fill the "ground" on which you clicked. It's basically expanding sideways, parellely to the surface on which you clicked to place the water. Yeah, I think this idea is way better. So if you clicked in the ceiling, the water would fill the ceiling, considering the ceiling to be its "downwards".
Don't think about liquids not having the same gravity as you as a problem. At least not in this style of cave game, I found it amazing. And it looks like a space experience, and I'm starved for it.
i think that if its gonna be an open game like minecraft with this flat ish world that you can build around like it was in the first video then definatly dont make h3 the main play mode, it would be cool if you kept h3 in as is or work on it more even with all the bugs itd still be awesome to try to build in that space, good work though cant wait for the final release
Thanks! The demo is still in the works, but soon it will be available for people to give a try! :) Also both H2 and H3 will be available modes to play in. Right now I'm trying to get a compromise to work as well, an H3 world that has a flat ground like H2
In some H3 worlds, terrain will be generated with no particular direction for gravity, sort of like floating chunks of land. In others there will be a main surface that'll point downward again when the player gets close. Let's see, I'm just starting the world gen portion as well, so it'll be interesting experimenting to see what else might work
@@kayturs What about large spherical planetoids floating in a vast space that each independently have their own local main surface gravity as you described, each with their own unique variances in terrain and structural features? Would a 'solar system' like this be plausible?
@@kayturs In Minecraft you jump one block high, but this might become difficult to retain with level design. I believe it is possible, but in the meantime, prevention from getting stuck in a certain corridor orientation might warrant increased jump height to exit the area.
I'm curious- will there be a world setting option for whether you want it to be H2 or H3? You said you have H2 still working so I'm just assuming that's what you have. Very impressive!
Technically, those other minecraft videos are non-euclidean, as by definition, the space they navigate does not obey all of euclid's five postulates. Hyperbolic space is non-euclidean in particular because it disobeys euclid's fifth postulate, that being that parallel lines will always stay the same distance from each other. These other videos are different types of non-euclidean spaces, where different euclid's postulates are broken. Sure, the fact that the postulates don't hold isn't a fundamental property of the space itself, but merely a local construction using portals. But they're still all valid non-euclidean spaces regardless.
That is not Euclid's fifth postulate. It is not about distance, it is about how many parallel lines to a certain line can go through a particular point not on the line. Most "non-euclidean" minecraft clones have flat curvature except possibly at the portal edges and vertices, where it might be infinite. Same for most other "non-euclidean" games. Thus they are Euclidean except at the portals. Wrapping space around so you can walk a straight line and come back from the other direction doesn't necessarily make it non-euclidean, as donut-shaped worlds still obey the parallel axiom.
Don't forget, in Spherical spacetime, you see objects on the other side of the world look LARGER than the closer object due to the way they are drawn. Plus, the world size has to be finite because of the fact that two straight lines in Spherical geometry will always converge at some point, and there isn't a sky unless you use render fog or something, as all rays touch the ground.
It cannot be Spherical in one dimension only, for positive curvature to be noticable it must be Spherical in two dimensions. Then it would be Euclidean in the remaining dimension, since E1, H1 and S1 are isometric. In order to properly combine Spherical and Hyperbolic geometries you either need at least 4 dimensions, or you must use Minkowsky local metrics in 2 or 3 dimensions instead of Euclidean local metrics. Look up Indefinite metric signature on Wikipedia, Google or Duckduckgo. Minkowsky metrics and Lorentzian metrics are the same thing, except sometimes Minkowsky is restricted to four dimensions only. Euclidean metrics look like +,+,...,+ or -,-,...,- Minkowsky/Lorentzian metrics look like -,+,+,...,+ or +,-,-,...,- There are other indefinite metrics like +,+,-,- etc.
@@colon-Thorn Ah 2 axes. I thought you meant 2nd axis, the Y axis. I suppose this would look like an infinite "tower" of spheres, each sphere being the same size as the other ones, even though the spheres are stacked inside and outside each other, or it looks that way.
If you'd like to stay up to date with HyperBlock's development, join the discord server: discord.gg/325xVyPT
Can you make a new link? I'd love to join!
3h9K6Vtrhy@@gigaprofisi
hey i found new server (inv code: 3h9K6Vtrhy) (note: youtube pleas e dont delete this you can check it it is real hyperblock)
@@gigaprofisi you can
@@jayzgaming1442 Expired :(
That's a really cool solution for H3 to re-align gravity based on the chunk, it gives the architecture a very Escherian look! I guess it limits you only to interior spaces though, otherwise you could fall into the sky.
I solved the problem differently in Hyperbolica, by continuously re-aligning gravity and the camera's up direction to be perpendicular to the 'ground plane' so it feels more like H2 even though it's H3. The downside is that the player won't be aligned to the chunks, which isn't a problem for me since I can compensate for it in the modeling, but I could see it being a stylistic issue for HyperBlock since you'd have to walk on blocks at a 45 degree angle sometimes. Regardless, if you want to try it out I can share the equations I use to re-orient the player.
Yeah, I'll have to think of some work arounds to a few issues. Falling in the sky being one of them. Fluids is another thing to look into, that they'll be flowing in directions inconsistent with your gravity.
I like your solution a lot too. You're right through, for me not walking on sloped surfaces is a huge must (I tried gameplay like that, with gravity free to change through holonomy, and it felt like I had slight vertigo, even after not playing for a bit!)
But in certain contexts it could work, for example, an underwater world where there's only light gravity perhaps? I'm still going to try it none the less, so I may reach out about your code at some point. Thanks a ton for the offer! :) Its nice knowing I've got help
@@kayturs you can add both gravities as a setting
Also there's a third way of defining gravity, it's a bit complicated to explain here so I'll do it in the server
Is Hyperbolica going to feature different levels with different curvature of the space?
I've spend a lot of time thinking about how it would be to live in a hyperbolic world and how noticeable it would be. I think a radius of curvature of about a hundred km would be the sweet spot where it is not noticeable in daily life, but still makes a big difference. By my math, if you then raise the ground about a km above a plane, turning it into a hypercycle with a constant downwards curvature, you get a horizon very similar to that on the earth as long as you stay away from high mountain peaks. If you were teleported to this world I don't think you'd notice you were not on a ball for a long time. You could go for a trip to the next town, through fields and forests, and nothing seems weird, but if you do a Marco Polo type journey you are spectacularly unlikely to ever find your way back, lost in a world that's in a sense more infinite than regularly infinite. That sea, mountain range or desert you try to go around may well stretch to infinity even though it keeps curving back and seems small. Empires could control truly vast territories all within a few weeks march from their heartland, with vassal states unable to conspire without going ridiculous distances or finding the way through the empire's center.
Of course a game, being much smaller in scope than real life, will have to use a larger curvature, or there is little point. I am looking so much forward to trying and exploring both Hyper bolica and HyperBlock and whatever other hyperbolic games that are being made.
@@Sgrunterundt What you describe sounds like a hyperbolic Civ game... That might be an untapped market.
1 point though, I think a world in a hyperbolic universe realistically would still be spherical, it's just that the area would be exponentially larger than the radius and the volume exponentially greater still. The difficult part is figuring out how sunlight would work, but I think a Dyson sphere might be a solution (for an inside-out spherical world). There would need to be a different explanation for gravity though.
@@NathanNahrung Hyperbolic Civ could be awesome!
How could a universe be both hyperbolic and spherical? You can not have negative curvature and positive curvature at the same time.
Also what do you mean be "still". The evidence doesn't point to our universe universe having a spherical geometry.
Sure, you could in principle have a closed topology even with negative curvature, but then it can no longer be isotropic and homogenous. In a computer game you obviously need to limit the scope, either by closing the topology or the world just ending, but a universe have no such limitation that we know of.
As for the problem of gravity. I initially imagined how an infinite flat Euclidian world could work. I started with a universe without general relativity, just the standard model of particle physics. That should in principle be self consistent, though a boring world without gravity. Then we add a constant Newtonian gravity in by fiat (breaking isotropi), a "bottom of the world" plane perpendicular to the gravity direction below which all fields are set to zero (making it perfectly reflective to everything), and then a permanent source of negentropy in the form of short wave radiation approximating the spectrum of the sun forever coming from infinitely above.
And now we basically have an infinite MineCraft world with an approximation of real-world physics in a self-consistent manner.
Some more tweaks would be necessary for the hyperbolic world, but I really should make a blog or video or something rather than musing on in a random RUclips comment (or get back to actual work).
Water could fall orthogonally and towards the nearest solid block. When going off the edge of something, gravity for that water could stay in the same direction until it lands, such that waterfalls still work.
This may be a good idea, it may run a bit slower, but it's a good idea for sure
Oh, man, the wonky gravity is really cool (and I understand why it's doing that - you're having gravity be consistent for the player from chunk to chunk, and holonomy means that you can end up turned 90 degrees as you go around a loop, so that means you can come back to where you started but now you're walking on a wall) but I'm not sure I like it... as far as I can tell, though, all the 'natural'-seeming choices for a consistent universal gravity direction seem like they'd run into huge problems with the gravity becoming wildly non-parallel to the block grid.
Hey, sorry for the late reply! And yes, the options for natural gravity do lead to a lot of inconsistencies. The biggest one is that the chunk you're in will always find itself slanted in hard to predict ways. For a game that revolves around building, keeping them straight relative to the player was a big priority
I like how this is mirroring minecraft’s development, starting with a block-building demo and then expanding into a full game.
Except in the first version of Minecraft (the Cave Game Tech Test) you couldn't build or break blocks.
3D Hyperbolic space?! You're a mad man! I'm more hyped than ever for this!
In the "Generate world" options, there should be an option to change the curvature-dampening subdivision rate.
What I mean by this is that each chunk in H3 is a cube, say 16 by 16 by 16, while in H2xE, it is a square prism, 16x16, infinitely tall. (Somewhat like Minecraft.) My idea is to change the curvature, not by changing how many chunks meet at each edge, but by changing the subdivision rate. More subdivisions dampen the curvature more, so a 64x64x64 chunk size would be closer to euclidean Minecraft, with more manageable curvature. Or you could get sharper curvature with 8x8 chunks or 4x4 chunks, and this would work in both H3 and H2xE.
The fact that you can walk around in the same chunk, with different gravity directions, gives some really awesome map building potential, and real Mario Galaxy vibes. I feel like a creative person could do some really cool things with this. Also, that RGB full color lighting system still sounds like a genuinely good suggestion for Minecraft.
EDIT: Spelling
This is an option, to change the subdivision as well as the chunks meeting at a corner :) There's still a lot of optimizing to go to allow for larger chunks, but for sure it is the goal :)
@@kayturs Have you considered trying to make hyperbolic Terraria?
How exactly would a 2d Hyperbolic world even work, really?
if it was multiplayer, differet players would be in different orientations, walking on different walls of the same rooms, it would be so cool.
Now I regret my choice on writing a math essay on hyperbolic geometry
This project is very impressive and I'm looking foward to the demo release!
I'm also still trying to wrap my head around gravity in H3, but now I want to see how gravity might work in Nil geometry. I'd very much like to watch you stream this game some time, it looks super cool!
Thanks a lot! I'm glad you're looking forward to the demo! I can't wait to see others try it out as well! :)
With the gravity, same here, it took a while to wrap my head around it (look at how confused I get in the video! Trying to find my way). It's really fun though! Other geometries would be really cool as well; nill and spherical I'm curious about
This is not the way gravity would work in a real Hyperbolic world where mass centers are correlated with gravity fields.
But hey, it's still cool!
Besides H3, S3, H2×E, S2×E and E3 there are the SL(2), Nil and Solv geometries. Naming only those that are locally Euclidean! SL(2) would be particularly interesting to me.
There are many other 3-dimensional geometries when counting those that are locally Minkowsky, but i haven't found a classification of them.
In 2 dimensions there are H2, S2 and E2. And then there are M2 and HM2 (Hyperbolic Minkowsky) and possibly a few more, not sure whether there is any Spherical Minkowsky plane or if that's an oxymoron. M2 is flat and is the projective dual (points and lines swapped) of E2 (with all points of the same distance/radius to a center forming hyperbolas instead of circles in Minkowsky planes, and in some planes of Minkowsky spaces) while HM2 ought to be negatively curved, since it makes up the plane of hyperideal intersection points of ultraparallel lines in negatively curved H2 (these are the points shown beyond the circle at infinity in the Beltrami-Klein model of H2) and is the projective and polar dual of H2.
There ought to be a Beltrami-Klein-Gnomonic like model of HM2 having a hyperbola at infinity (hyperbolas seemingly close to it actually being extremely distant from the origin - like in Beltrami-Klein projection of H2, while hyperbolas going the other direction, even when seemingly extremely distant are very nearby - like in the Gnomonic projection of S2, there being a finite distance around lines not crossing the hyperbola at infinity).
I don't know if M2 and HM2 are standard names, but these spaces definitely exist. There are also M3, HM3 (connected to H3) and spaces somewhat similar to HM3 (like two isomorphic spaces connected to each other through hyperbolic tori at infinity), plus possibly weird stuff similar to SL2 etcetera.
Now that i think about it Hyperbolic and Spherical Minkowsky planes are probably the same/isomorphic, except you flip the sign for the norm/quadrance function (distance squared) and the sign for the spread function (sine angle squared).
This must still be properly defined and proved though.
I will have to read about the curvature definition for circles so i can generalise it to hyperbolas.
Sines of imaginary numbers correspond to sine-hyperbolics of real numbers and sine-hyperbolics of imaginary numbers correspond to sines of real numbers.
Quadrances (distances squared) and spreads (sines of angles squared) are perfectly dual measures of edges and vertices.
This is evident in Spherical geometry, and may be seen in the combined Hyperbolic and Hyperbolic-Minkowsky geometry of Wildberger's Universal Hyperbolic Geometry.
Regarding gravity in Nil:
there is a special direction in Nil (let's imagine it is Up/Down) such that when you make a loop in the NESW plane, you move upwards or downwards, proportionally to the area of the loop.
If you make this special direction to be the direction of the gravity, you get tiny perpetuum mobiles everywhere, which does not seem to make that a good game if nothing ever stays in place. ( ruclips.net/video/mxvUAcgN3go/видео.html )
You can also make the gravity point in a non-paradoxical direction, which is still weird (there is a hidden mode in Bringris which works like that).
There is something delightfully Lovecraftian about you getting steadily more and more lost in your own creation. Say hello to Pickman for me!
I think that's one of the greatest ways to explain the experience, thank you!
This is like those videos of the ISS where orientation doesn’t really make sense because there is no gravity
But... there is???
Like I fully understand why its happening but watching you move around like normal makes it seem so much more bizarre when holonomy takes its effect...
Super cool stuff
Exactly, actually this perfectly explains my confusion as I play it! Like there's two conflicting ideas in my head. My intuitions saying "gravity must have changed at one point..." but also "umm.. no, we were always aligned with what I thought down was". It's so cool that a geometry/space could do that
H3 is so goddamn terrifying.
It’s so cool how you managed to make this in unity!
this looks cool
edit: if you use a capsule instead of a rectangular prism for the character collider then you will be able to walk up a slope without having to do the jumping thing.
edit 2: that is if you even are using a rectangular prism as the character collider. if you aren't using a rectangular prism then i have no idea
That's a good point, I take it that's how it's usually done. I'm coding my own simple collision system, but maybe I could do something similar in concept to a capsule for collision
Just to update you! I tried a form of this idea + fixed how I calculate momentum, and it's working reeally smoothly now! :)
@@kayturs cool
Now we know how the flipped down king of the goblins went up and down the stairs in the movie Labyrinth 🙃
Pretty sick dude! I came to your channel for the music modes of Zelda, but subscribed for this. I'm a huge math fan lol
Getting more aMAZEing with every update! Are you planning to use closed (cyclic) spaces as well?
Water flowing depending on the path you walk would add a whole new layer of complexity to the gameplay. One alternative might be having 6 different kinds fluids - each with its own downwards direction. However since there cannot be a universal definition of the 6 directions, I think this would cause problems. Another alternative would be to make a substance that stays as it is put, but that can be dived through. This substance would not share the property of being a fluid with water, but like water, it would be semitransparent and would enable you to move in the vertical direction, while you have sufficient air.
Dude, you oughtta construct these hyperbolic structures as a puzzle game.
To effectively prevent gravity from "flipping" around, you could define gravity as the negative gradient of some scalar field. The question now is just, what scalar field? On earth, that scalar field would be a function of the height, i.e. h*g, where h is the altitude above sea level and g is the gravitational acceleration. In a hyperbolic space, you could define this scalar field to be the shortest distance to the "ground plane," if it is possible to define such a plane. And to prevent that chunks get rotated so that you suddenly walk on voxels that are don't have any horizontal surface anymore, I would probably try go with H2*E physics but H3 rendering, similar to CodeParade's solution.
This is incredible!
Yaaayyy! Real H3 Hyperbolic space!!! You have my respect, sir! 😃
Also those colored lights are a very good idea! 😊
Realistically gravity would point towards the center of a ball, or towards a plane (like in the Ivory Tower in Hyper Rogue) but this is a very fun idea to play with. 😁
Thanks a lot!! :D
I want to see if I could explore both types of gravity. But yes, so far this has been a lot of fun. Exploring also becomes a bit of a puzzle!
@@kayturs I *love* the "exploring is a puzzle" aspect, and this video really makes it clear that you're having fun making sense of it. "Hippocampal fun" if I may coin a term... fun making a mental map of a virtual space. When I started watching the video I thought the Escher-like gravity would be too disorienting for hippocampal fun, but now I'm convinced.
I've never quite understood, though, why gravity is a problem in H3, since it seems to work OK in HyperRogue (in the forest, tower, dungeon, etc.). Some videos mention the holonomy as a reason; but can't the player just be forcibly moved to "vertical" wherever they're standing? Hyperbolica devlog videos mention using H2xE physics because of the issue. If you end up trying different gravity models, a video explaining the differences and why there's a problem at all would be awesome.
@@dranorter in Hyperrogue the "gravity" in certain worlds go in several directions from most hexes/heptes, it is merely a restriction of movement, you decide for yourself when to "fall" and in which direction.
In Hyperblock on the other hand, we probably want a gravity that pulls you down on its own, involuntarily for you, and then this gravity must know which direction to pull you when there are multiple options. It is not obvious at all how to solve this.
So i can understand using H2xE even though i really love full H3.
Spherical space would be dope
4:14 most pseudo non-eucledean stuff in minecraft uses portals as an easy way to make impossible geometry.
I so want to see more of this!
Very interesting
ok, I found out while watching this that there is no need to fix the Y camera tilt if there is no surface in the world. If the world is all caves, the orientation shifts is actually amazingly cool.
you can take this to its whole own game, rather than a part of Minecraft.
Add no specific orientation blocks like the Minecraft torch that is always oriented in a given way and can't be placed in given surfaces.
but being a building game I think to be very necessary. It's be extremely good to build your own things in the space and play with it instead of being just an observer to what someone alse did.
Yeah, it really is something! Like I say in the video, I wasn't even planning on using H3, but I'm glad I was convinced! It's its whole style of gameplay.
The cave I made in this video I made on a whim, I was initially intending to just test a few things, but it was the first time this space was really playable, and as I was testing, I slowly realized "wait this is insane!" as things were flipping around. Building/exploring really becomes a puzzle!
@@ynntari2775 And agreed, about building your own things. I'm gonna make content like dungeons that'll be part of a story mode, but creative building will be just as big a piece of the game
@@kayturs Thinking about physical plausibility, it's sort of as if the player "carries" gravity with them, as if they've got a little thruster on their head all the time pushing them down. (Right?) So I realize this would totally change the gameplay, but it might be kinda logical to have keyboard controls allowing the player to just switch the direction of the "thrust". Otherwise I think the smart thing to do as a player would be to build loops into the architecture where you could switch your direction of travel in as quick a way as possible. If this were Minecraft I'd try and build something with slime and pistons to throw myself along such a route.
What if you were to increase the number of chunks meeting at edges from 5 (I assume) to 8? Because in Euclidian space it's 4, and 8 divided by that equals 2, it would be like a spin 2 universe but the gravitational direction would be maintained. 6 might also be interesting as gravity could only flip 180 degrees, so you could have some liquids fall up and others fall down, but not mixing like oil and water. Either way, an even number could have some benefits for maintaining "straight" lines between chunks.
Those are options as that number is adjustable! 6 is my personal favourite actually. It looks more warped than 5, but the symmetry is a huge plus!
8 chunks per edge work perfectly for gravity. Unfortunately it makes the space noncompact in H3, so the vertices of each chunk become hyperideal points, and you will get lost very quickly when going round a corner between chunks. Noncompact space is worse than paracompact (like with 6 chunks per edge), with 5 chunks per edge we get compact space (technically locally compact).
Also that would be like spin ½, not like spin 2. Except spin isn't really 3d rotation, it is 4d double rotation.
I am not sure if this applies to your situation or build, but I have heard stuff about how hyperbolic geometry can fit 5 squares around a vertex. Or even have pentagons that have 5 right angles. And other geometry madness. Like parallel lines that diverge.
Any way. Hyperbolic space can be mind blowing strange to work in. So I wish you the best of luck. Please be careful not to let it drive you crazy.
Why did you have the blocks be regular cubes and chuncks as hyperbolic units or whatever its called? It would be much cooler if you had 5 blocks around each vertex of every block not only 5 chuncks at the vertex of a chunk. Or would that bring the curvature too high for it to be rendered in a way that would make sense?
Setting the chunk width is an option actually! Right now the minimum is 2x2x2, but I'm going to tweak it to get down to 1x1x1. I've tried size 1 in H2 before, and the curvature is rather high. It's fun in its own way, but very chaotic. Plus it's been hard getting far draw distances since it doesn't take much distance for the number of chunks to explode! So I don't prefer highlighting those curvatures as much
@@kayturs Okey, that would be still pretty interesting to see how it looked like
@@kayturs What about smaller cells, for example subdivide a cubic chunk into 16*16*16 small cubes? It could result in more "normal" gameplay, similar to regular minecraft, while keeping the hyperbolic features.
Also, it might be easier to generate some realistc terrains with mountains, seas, chasms, etc., by introducing a ground plane and setting the gravity forces perpendicular to it (like The Ivory Tower and Dungeon lands in Hyperrogue)...
@@omnificatorg4426 It is still hard to implement gravity similar to Hyperrogue correctly if falling should be involuntary.
Yes, another update!
Finally Mineshafts are interesting to explore.
what if h3 was a separate dimension from the h2 one? so you could somehow go to an escherian dungeon realm to get cool stuff
edit: and i mean a minecraft like dimension, and not necessarily with portals
Thats pretty much how many games of this kind started :d
Exactly, that is the plan here :) There will be a number of dimensions with different parameters
You said in another reply that chunk size is adjustable, just curious can you have a chunk size of 1x1 or would that be insanely slow?
that will sacrifice quite a bit of view distance unfortunately. to bring that distance back up, yeah it gets slow. but as things are optimized it may become more smooth
What tiling are you using? Is it {4,3,5}, or {4,3,6}? And how many divisions?
(For those not familiar, Minecraft is {4,3,4}, which means 4 cubes (3 squares) around each cube edge, and the 4 being bigger is why there is "more space" in the hyperbolic version)
For both H3 and H2, the number of chunks meeting at a edge/corner are adjustable, (5 and up) and so are the chunk divisions (some values have to be fixed up, for example a chunk of size 2x2x2 blocks will have poor draw distance, so I'm trying to optimize to allow for further distances)
Tilings like {3,3,6}, {3,3,7} and {3,4,4} are also interesting. As is {5,3,4}.
I didn't know Minecraft was getting a lovecraftian update.
This isn't Minecraft, this is -Sparta- Hyperblock, a hyperbolic game in the Voxel Sandbox genre.
I like to describe hyperbolic space as "space where a circle has more than 360 degrees" but I'm not really sure how correct that is.
It is not true locally near the center, but it is sort of true at a distance. Except we maintain the angular degrees and instead increase the length of circle arcs. Therefore triangles have angles that sum to less than 180°.
Very Nice! :)
H3 is so epic
Agreed :)
I have a suggestion, make liquids simply not have a gravity orientation. Ok, this idea is not that elaborated yet but it's a prototype of idea. If you want water to expand, it could expand like around the source block in a sphere-like pattern, creating a bubble.
⠀
Or maybe the water would consider the "downwards" direction to be the surface in which you clicked. So if you clicked on the top of a block, the water will consider the downwards direction to be the opposite surface of that block, so it would fill the "ground" on which you clicked. It's basically expanding sideways, parellely to the surface on which you clicked to place the water. Yeah, I think this idea is way better. So if you clicked in the ceiling, the water would fill the ceiling, considering the ceiling to be its "downwards".
Don't think about liquids not having the same gravity as you as a problem. At least not in this style of cave game, I found it amazing. And it looks like a space experience, and I'm starved for it.
i think that if its gonna be an open game like minecraft with this flat ish world that you can build around like it was in the first video then definatly dont make h3 the main play mode, it would be cool if you kept h3 in as is or work on it more even with all the bugs itd still be awesome to try to build in that space, good work though cant wait for the final release
Thanks! The demo is still in the works, but soon it will be available for people to give a try! :) Also both H2 and H3 will be available modes to play in. Right now I'm trying to get a compromise to work as well, an H3 world that has a flat ground like H2
how would terrain work?
In some H3 worlds, terrain will be generated with no particular direction for gravity, sort of like floating chunks of land. In others there will be a main surface that'll point downward again when the player gets close. Let's see, I'm just starting the world gen portion as well, so it'll be interesting experimenting to see what else might work
@@kayturs What about large spherical planetoids floating in a vast space that each independently have their own local main surface gravity as you described, each with their own unique variances in terrain and structural features? Would a 'solar system' like this be plausible?
The H3 terrain you described sounds exciting.
Will it be released for Linux?
This looks awesome and I'd love to try it.
Developing on a linux actually! :) So yes!
Ye might want to add a 2-block jump option.
just a thought.
Hey, sorry for the late reply! Things have been busy! I'm curious what you meant by this!
@@kayturs In Minecraft you jump one block high, but this might become difficult to retain with level design.
I believe it is possible, but in the meantime, prevention from getting stuck in a certain corridor orientation might warrant increased jump height to exit the area.
next update video when?
I'm curious- will there be a world setting option for whether you want it to be H2 or H3?
You said you have H2 still working so I'm just assuming that's what you have.
Very impressive!
Yup, exactly! There will be an H2 and H3 mode
Nyesssss
Why not remove gravity and make it more like Descent?
Can we play it already?
Technically, those other minecraft videos are non-euclidean, as by definition, the space they navigate does not obey all of euclid's five postulates. Hyperbolic space is non-euclidean in particular because it disobeys euclid's fifth postulate, that being that parallel lines will always stay the same distance from each other. These other videos are different types of non-euclidean spaces, where different euclid's postulates are broken. Sure, the fact that the postulates don't hold isn't a fundamental property of the space itself, but merely a local construction using portals. But they're still all valid non-euclidean spaces regardless.
yes but its way less cool than hyperbolic space
That is not Euclid's fifth postulate. It is not about distance, it is about how many parallel lines to a certain line can go through a particular point not on the line.
Most "non-euclidean" minecraft clones have flat curvature except possibly at the portal edges and vertices, where it might be infinite. Same for most other "non-euclidean" games. Thus they are Euclidean except at the portals.
Wrapping space around so you can walk a straight line and come back from the other direction doesn't necessarily make it non-euclidean, as donut-shaped worlds still obey the parallel axiom.
Is it still alive?
Very much still alive! I've been busy the past month with life, but it's been picking up again
i want to see flying in the sky
pls
pls
pls
Hyperbolic 2b2t when
try making spherical minecraft (S3 rendering, S2 x E physics, Ground under the equator, a house)
Don't forget, in Spherical spacetime, you see objects on the other side of the world look LARGER than the closer object due to the way they are drawn. Plus, the world size has to be finite because of the fact that two straight lines in Spherical geometry will always converge at some point, and there isn't a sky unless you use render fog or something, as all rays touch the ground.
I think you can make a spherical geometry space one, make it like h2 so it would be infinite, so only spherical on 2 axis. Good job btw.
Thanks! And yeah, at some point I may want to give it a try. I'm curious
It cannot be Spherical in one dimension only, for positive curvature to be noticable it must be Spherical in two dimensions. Then it would be Euclidean in the remaining dimension, since E1, H1 and S1 are isometric. In order to properly combine Spherical and Hyperbolic geometries you either need at least 4 dimensions, or you must use Minkowsky local metrics in 2 or 3 dimensions instead of Euclidean local metrics.
Look up Indefinite metric signature on Wikipedia, Google or Duckduckgo.
Minkowsky metrics and Lorentzian metrics are the same thing, except sometimes Minkowsky is restricted to four dimensions only.
Euclidean metrics look like +,+,...,+ or -,-,...,-
Minkowsky/Lorentzian metrics look like -,+,+,...,+ or +,-,-,...,-
There are other indefinite metrics like +,+,-,- etc.
@@henrikljungstrand2036 what makes you think it is 1 dimension only, I said it is *“spherical on 2 axis”*
@@colon-Thorn Ah 2 axes. I thought you meant 2nd axis, the Y axis.
I suppose this would look like an infinite "tower" of spheres, each sphere being the same size as the other ones, even though the spheres are stacked inside and outside each other, or it looks that way.