Very cool game. ๐ Tested on Linux Wayland with my RTX 3060 TI, and integrated intel gpu as well. Thanks to Bevy for great support, it works well. Please add settings page to the menu, and being able to disable permanent gravity downwards would also be great + better control over the camera (e.g. freeview). Honestly I would even pay for a game like this, be it more fleshed out.
It feels like it could become not only just a game, but also a great sandbox tool, similar to something like a SpaceEngine, that is more of a tool rather than a game.
Arbgeom has potential to explore so many different geometries, and even better if player is given more obvious control of the curvatures and explanations of them. A Level Editor would be even more insane.
No matter what plans you have for this "side project", you have not only my full support, but also of many other people who would flood this game if it is made properly and discovered, just because of how spacetime bending this already working concept is. Can't even imagine how it would be on first release. ๐
Unfortunately even 2D hyperbolic geometry embeddings use up more than euclidean 4D (source). I could probably make this happen in the future if I generalize the embedding code to allow for an Nd embedding. The game still has a lot of small areas with local hyperbolic geometry like the inner part of the wormholes:
I believe if you tried to take these areas of local hyperbolic geometry and extend them, you'd end up with a lot of self-intersections (unless you're in 6D and have extra dimensions to extend into). You can see this visually in this part of this video by CodeParade, creator of Hyperbolica. The crocheted hyperbolic plane gets really cramped as it is extended outwards and would continue to get more cramped if it were larger.
I also could theoretically try to deal with self-intersection, but it might be difficult, especially in the case of the hyperbolic 3D-plane.
I and some friends of mine have some level suggestions
Duospindle (no idea if that's its common name) The the convex hull of two circles in orthogonal planes, it is also the dual of duocylinder I think the equation is sqrt(x^2+y^2)+sqrt(z^2+w^2)=r
Sphone (sphere cone) A cone with a sphere base, I think it might be fairly boring aside from the end point The equation should be sqrt(x^2+y^2+z^2)+sqrt(w^2)=r (actually a bicone, w>=0 for cone)
Tiger (you might have this one already but I didn't see it) Its another generalization of the torus The equation is pretty complex, the parametric is nicer
Cone torus #1 A cone with a torus base, very similar to the spheritorus sqrt((c-sqrt(x^2+y^2))^2+z^2)+sqrt(w^2)=a (actually a bicone, w>=0 for cone)
Cone torus #2 I only have an equation for this one, it might be similar to revolving a triangle around the origin but I'm not sure sqrt(z^2+w^2)<=sqrt(x^2+y^2)<=1
Pinched duocylinder (needs a better name) When rolled properly it should trace out a torus on the ground like a cone frustum traces an annulus 1-sqrt(x^2+y^2)>=z, sqrt(z^2+w^2)<=1
The one me and my friends are most interested in is the duospindle
Your projection function looks a bit different to the one I derived from a cone (https://www.desmos.com/3d/oh3w8e08o9 (last 5 lines)), probably equivalent though.
It's hard to make a good estimate, but I should have a decent amount of time coming up so my pessimistic guess would be early May/late April, but hopefully sooner.
It's a side project. I am hoping to get back to it this holiday season, but that's why it's been on the back burner. Also, trying to get rotation to work reliably without exploding has been very challenging which has also slowed progress when I've tried to work on it (although I'm slowly getting closer to it working, I think).
Good to hear it works on linux, hopefully the lag will be better once I shift focus towards optimizing everything, but looking at the sky will likely always make the lag a little worse (because all of the marched rays will step forwards the maximum number of times since they don't hit anything). It definitely can be improved though.
Insanely impressive, runs well on an rtx card. Please dont give up on this project, it's the only physics simulation ive seen that actually works with weird geometries
Thank you, it's great to hear that it's working on rtx!!!
I haven't given up, I've just been busy recently which I believe (hopefully) should change soon. I now have rotational physics seemingly working and I'm trying to get friction working too. Once I have those I'll upload a video demonstrating them across some cool new geometries I haven't shown off yet : )
โ Return to game
Comments
Log in with itch.io to leave a comment.
Very gaming (I love ray-marching and cool shaders)
Very cool game. ๐
Tested on Linux Wayland with my RTX 3060 TI, and integrated intel gpu as well. Thanks to Bevy for great support, it works well.
Please add settings page to the menu, and being able to disable permanent gravity downwards would also be great + better control over the camera (e.g. freeview).
Honestly I would even pay for a game like this, be it more fleshed out.
It feels like it could become not only just a game, but also a great sandbox tool, similar to something like a SpaceEngine, that is more of a tool rather than a game.
Arbgeom has potential to explore so many different geometries, and even better if player is given more obvious control of the curvatures and explanations of them. A Level Editor would be even more insane.
No matter what plans you have for this "side project", you have not only my full support, but also of many other people who would flood this game if it is made properly and discovered, just because of how spacetime bending this already working concept is.
Can't even imagine how it would be on first release. ๐
if you created a fix for multi-jumping i am going to eat your spleen and rearrange your bones and tendins
hahaha, I'll keep it as an option in settings lol
why not hyperbolic?
Unfortunately even 2D hyperbolic geometry embeddings use up more than euclidean 4D (source). I could probably make this happen in the future if I generalize the embedding code to allow for an Nd embedding. The game still has a lot of small areas with local hyperbolic geometry like the inner part of the wormholes:
oh yeah i know about toroid inner circle areas like that. but why can't that property of the wormhole be extended into a whole space?
I believe if you tried to take these areas of local hyperbolic geometry and extend them, you'd end up with a lot of self-intersections (unless you're in 6D and have extra dimensions to extend into). You can see this visually in this part of this video by CodeParade, creator of Hyperbolica. The crocheted hyperbolic plane gets really cramped as it is extended outwards and would continue to get more cramped if it were larger.
I also could theoretically try to deal with self-intersection, but it might be difficult, especially in the case of the hyperbolic 3D-plane.
I and some friends of mine have some level suggestions
Duospindle (no idea if that's its common name)
The the convex hull of two circles in orthogonal planes, it is also the dual of duocylinder
I think the equation is sqrt(x^2+y^2)+sqrt(z^2+w^2)=r
Sphone (sphere cone)
A cone with a sphere base, I think it might be fairly boring aside from the end point
The equation should be sqrt(x^2+y^2+z^2)+sqrt(w^2)=r (actually a bicone, w>=0 for cone)
Tiger (you might have this one already but I didn't see it)
Its another generalization of the torus
The equation is pretty complex, the parametric is nicer
Cone torus #1
A cone with a torus base, very similar to the spheritorus
sqrt((c-sqrt(x^2+y^2))^2+z^2)+sqrt(w^2)=a (actually a bicone, w>=0 for cone)
Cone torus #2
I only have an equation for this one, it might be similar to revolving a triangle around the origin but I'm not sure
sqrt(z^2+w^2)<=sqrt(x^2+y^2)<=1
Pinched duocylinder (needs a better name)
When rolled properly it should trace out a torus on the ground like a cone frustum traces an annulus
1-sqrt(x^2+y^2)>=z, sqrt(z^2+w^2)<=1
The one me and my friends are most interested in is the duospindle
I implemented the tiger, sphone, and duospindle here (specifically at 7:03):
The Duo-spindle was really cool. I didn't have to round the manifold to get a good result which was surprising, and it had some interesting features.
It got cut off in the video, but here's the projection function I used for the duospindle in the video:
The rest of the basic shape code is at 14:31
I'll try some of the other manifolds soon, the pinched duo-cylinder looks interesting.
Your projection function looks a bit different to the one I derived from a cone (https://www.desmos.com/3d/oh3w8e08o9 (last 5 lines)), probably equivalent though.
when is this version coming out
It's hard to make a good estimate, but I should have a decent amount of time coming up so my pessimistic guess would be early May/late April, but hopefully sooner.
has there been any progress or is this like a side project, i get if it is, its just that its almost been a year since the last version of arbgeom
It's a side project. I am hoping to get back to it this holiday season, but that's why it's been on the back burner. Also, trying to get rotation to work reliably without exploding has been very challenging which has also slowed progress when I've tried to work on it (although I'm slowly getting closer to it working, I think).
please add creator mode
It works on Linux, but it gets extremely laggy when there's sky on the screen, as long as it's just ground it's fine
Good to hear it works on linux, hopefully the lag will be better once I shift focus towards optimizing everything, but looking at the sky will likely always make the lag a little worse (because all of the marched rays will step forwards the maximum number of times since they don't hit anything). It definitely can be improved though.
Insanely impressive, runs well on an rtx card. Please dont give up on this project, it's the only physics simulation ive seen that actually works with weird geometries
Thank you, it's great to hear that it's working on rtx!!!
I haven't given up, I've just been busy recently which I believe (hopefully) should change soon. I now have rotational physics seemingly working and I'm trying to get friction working too. Once I have those I'll upload a video demonstrating them across some cool new geometries I haven't shown off yet : )
Nice! If possible, can you also add the levels file so we can edit it, just to play around with it?
The version uploaded here has the levels hardcoded so it's not an easy fix, but the version I'm working on right now not only has the level files exposed (in the assets folder using RON: https://github.com/ron-rs/ron), but also the geometry descriptions written in a small wgsl-like language I made (https://github.com/TomjWolcott/scaffold_scripting) and some limited scripting written in rhai (https://rhai.rs/). Here's a small post showing off the various scripting files: https://tomwol.itch.io/arbgeom/devlog/781405/scripting-files-for-arbgeom-august-...
I love warping the fabric of space time
i cant tell if im dumb or the dev is really smart, I cant comprehend nothing
I get a stable 40 FPS on windows with my 3060 laptop GPU for most levels.
On linux however the fps is not stable, and fluctuates wildly, though that may be a driver issue
0.1.14 Linux works!
Yay! Thanks