Projecting Space - Hyperbolica Devlog #4
In this 4th installment, we'll go beyond the camera and dive into the tricky
nuances of dealing with hyperbolic and spherical rendering, how to achieve them in a traditional rendering pipeline, and working with gravity in a hyperbolic world.
Previous Devlogs:
Devlog #1: • Non-Euclidean Geometry...
Devlog #2: • Spherical Geometry Is ...
Devlog #3: • Rendering Hyperbolic S...
Hyperbolica on Steam: store.steampowered.com/app/12...
Trailer: • Hyperbolica: A Non-Euc...
Discord Server: / discord
Merch: crowdmade.com/collections/cod...
If you like the things I do and want to support the channel:
/ codeparade
ko-fi.com/codeparade
Music:
Jesse Spillane - No Disclaimer
jessespillane.bandcamp.com/al...
Пікірлер: 842
He can just show his code and dev progress without the fear of anyone making a clone or stealing his idea, because nobody understands even remotely what he's doing.
@linklayer1318
3 жыл бұрын
Ah yes, that Code is made of Code
@bhanusri3732
3 жыл бұрын
Yes so true
@soldier6173
3 жыл бұрын
He knows that the unworthy who will try to decode it will lose their sanity in the process so he doesn't have to worry
@ultimatedude5686
3 жыл бұрын
I get what he's saying but I have no idea how this'd be put into code, I'm not really skilled at this type of thing. If I remember correctly he's making the engine open-source anyway
@AgentM124
3 жыл бұрын
@@linklayer1318 actually the Code is all Cake. Everything is cake. This comment is cake. 🍰
"You move faster the higher up you are" *Speedrunners perk up*
@xp7108
3 жыл бұрын
Bhop time
@_Killkor
3 жыл бұрын
Hyperbolica Skyhop any% Glitchless
@_Killkor
3 жыл бұрын
@@corb805 Yeah, we know. It was a speedrunning joke.
@data_5674
3 жыл бұрын
i bet the main strat is to constantly jump to get that slightly faster movement speed
@RoboSkyrat
3 жыл бұрын
I'm not even a speedrunner and I still perked up at it
CodeParade: "This comes with a weird compromise... As you increase in elevation, you end up moving faster the higher up you go." Speedrunners: "Its not a bug, its a feature!"
@reizinhodojogo3956
Жыл бұрын
spam jump run
I find the increase in curvature on high objects nice. its like they bow their shape to the roundness of the world. fits right in!
@Nerdule
3 жыл бұрын
Sort of, except the world in hyperbolic space *isn't round!* (In fact, it's very much the opposite of spherical). It just kind of *looks* like it due to some trickiness about the way light rays move in hyperbolic space.
@mattontop
3 жыл бұрын
@@Nerdule yeah i think that op knows that. The world just looks like a sphere but it isn't one.
@freedomofspeech2867
3 жыл бұрын
it would be nice if the center of the worlds "bendiness" followed the player tho.
@omnificatorg4426
3 жыл бұрын
That's questionable. Maybe only large objects (buildings etc.) should be curved as altitude rises. In a hyperbolic world, you can build a tower on a small piece of ground, and the higher you build it, the wider it becomes. Each floor of the building represents a piece of hypersphere, the convex surface equidistant to the ground plane. Or, if you dig under the ground, you will get concave floors. Unlike buildings, small objects (crates etc.) should retain their shape, regardless of the altitude where you find them.
@pietrocelano23
3 жыл бұрын
shouldnt they curve the other way around? like how the fence always looks like it bends away from you?
This is what happens when you make acid illegal. People just find alternatives.
@dark5358
3 жыл бұрын
Real talk, they just keep finding acid. Making harmless drugs illegal accomplishes nothing useful.
@freedomofspeech2867
3 жыл бұрын
@@dark5358 It's not harmless but yes, making it illegal is a small brain move.
@nodros1
3 жыл бұрын
@@freedomofspeech2867 shout out to Oregon
@dungeonmaster217
3 жыл бұрын
@@dark5358 science can by way more trippy than psychedelics.
@tristenarctician6910
3 жыл бұрын
But hyperbolica has a minimap, and that needs different projections to make it easier to read
I'm glad you recognized that the demographic of people who are interested in this game (your viewers) are also going to be just as interested in all the technical challenges you faced along the way. This is way more fascinating than JUST seeing the finished product.
@-jadepink-500
3 жыл бұрын
So true ;v;
Moving around in VR makes most people motion sick, but I can't imagine how sick you would get it hyperbolic VR lol
@rt_w1456
3 жыл бұрын
Need anti nausa meds just thinking about it
@tekbox7909
3 жыл бұрын
Not most people to my knowledge and a lot just comes down to the kind of game one is playing in vr as well as how well movement is handled.
@mibdev
3 жыл бұрын
@Tekbox is right on the money. I've tried the demo shown and since it never *moves* you, there's no real chance of getting motion sick.
@The_SOB_II
3 жыл бұрын
@@mibdev For some people, there's always a chance of getting motion sickness. Even if the game isn't moving you
@Griffin12536
3 жыл бұрын
I'm poping dramamine just to watch his devlogs. I think I'll pass on a vr version.
i like to pretend to understand what he is saying
@arnavdas3139
3 жыл бұрын
Bruh u mah soul or something ?
@Gejam_GameDev
3 жыл бұрын
Me 2
@morkovija
3 жыл бұрын
indeed!
@zyansheep
3 жыл бұрын
Oh, he used 2 hyperbolic dimensions and one euclidean dimension for physics to prevent weird spacial camera movement? yes, I know *exactly* what that means.
@theawesome1883
3 жыл бұрын
I watch his videos to pretend that I am good at programing and understand complex programing things
If you move faster while higher, and then slower while close to the ground, are you decelerating as you fall?
@leleo53000
3 жыл бұрын
you move faster on the horizontal plane as you go higher, but your speed isn't impacted on the vertical axis.
@thegaspatthegateway
3 жыл бұрын
@Questa Semplice Animazione that really turns my stomach. literally!
@DragonWinter36
3 жыл бұрын
Horizontally, yes, but not vertically
@Edwing77
3 жыл бұрын
@@thegaspatthegateway nice 1
@leonidmeleshin4227
3 жыл бұрын
No, because Y-axis uses euclidian physics
my brain hurts but i think that's a good sign you've developed something special
@mRmAN-jl1jh
3 жыл бұрын
I made this comment 69 likes
"The higher you are, the faster you go" is basically the equivalent of picking the top route in Sonic games.
@juliewinchester1488
3 жыл бұрын
The avatar checks out
I can't wait for speedrunners to get ahold of this game.
@henrikljungstrand2036
3 жыл бұрын
Speedrunners always learn to master and tweak any game popular enough. Just look at speedruns for various quests in Hyper Rogue!
@diribigal
3 жыл бұрын
Weird. Speedrunners have already gotten ahold of the Minkowski space level of this game in my reference frame.
@randomcatdude
3 жыл бұрын
Just imagine what will happen once they find some kind of out-of-bounds bug.
@nemesisurvivorleon
2 жыл бұрын
I can't wait to watch their speedruns and vomit from disorientation.
@woosix7735
2 жыл бұрын
No one: Speedruners: you can go faster on a curved trajectory than on a straight line
Honestly cannot wait to play this game when it releases :D
@ozzymetalface7363
3 жыл бұрын
Same
@gibbz115
3 жыл бұрын
same
@bloooops
3 жыл бұрын
Same
@vvill-ga
3 жыл бұрын
Don't forget to wishlist the game on Steam! store.steampowered.com/app/1256230/Hyperbolica
@thechosenone9910
3 жыл бұрын
Same
I think that the increase in speed and curvature at higher elevations sounds like a feature, not a bug. It sounds super awesome, like maybe there's a thing that you can only do at a higher elevation that you can't do at a lower one or something.
@Izzythemaker127
2 жыл бұрын
The faster speed doesn't mean anything because platforms are also bigger at higher heights, and because of the speed change, you accelerate(horizontally) as you get higher, and decelerate as you get lower.
3:22 Does geometry from both hemispheres have a risk of colliding into each other?
@CodeParade
3 жыл бұрын
The split into hemispheres is just a rendering thing, physical objects exist in only 1 space, so there's no problems with collisions. If you mean overlapping geometry, then yes, but it's okay because both hemispheres should be drawing the same thing at the equator.
@ThatGuyCanmanNC
3 жыл бұрын
@@CodeParade ah yes, words
This music is completely perfect for the trippy weirdness going on, I *adore* it
Last I was this early Euclid had just made his fifth postulate
@valarikjeffeerson7226
3 жыл бұрын
oof
@jonwallace6204
3 жыл бұрын
Sick reference bro
@Fleechin
3 жыл бұрын
@Michael Darrow Maybe I was
i like the consequences of using euclidean height, it feels... like an interesting gimmick i dont know what its meant to look like normally nor can i imagine that but it looks cool the way you have done it
The dev logs are always appreciated! You always bring up issues I never would have imagined would exist :)
@OneShot_cest_mieux
3 жыл бұрын
Niko power
@gjkdshgkjshjkgdfg
2 жыл бұрын
Niko power
This madlad not only tried every perspective possible, he seamlessly transitions between them, just for a few frames for a video. Gucci gang aint got nothing on this lvl of flexing.
@CodeParade
3 жыл бұрын
I already had the smooth transitions from the in-game map, so I didn't have to add that much to make the video.
@ZenoRogue
3 жыл бұрын
This is actually very simple: the Beltrami-Klein projection, Poincaré projection, and Gans projection are all obtained from the hyperboloid model by projecting from different points (respectively 0, -1, and -infinity). The intermediate values yield intermediate projections. (Exactly the same holds for their spherical analogs: gnomonic, stereographic and orthographic.) Far from every perspective possible, there are dozens more, just like there are dozens of spherical projections -- then transitioning is harder, but still possible in many cases. (see e.g. my video "Hyperbolic analogs of spherical projections")
@Lucky10279
3 жыл бұрын
@@ZenoRogue I think we have different definitions of "very simple."
@ZenoRogue
3 жыл бұрын
@@Lucky10279 Well, if you already did implement all these projections, and did it correctly, then the transitions are very simple :)
@Lucky10279
3 жыл бұрын
@@ZenoRogue So basically, you're saying that it's simple _after_ you've already done all the complicated stuff?
So basically your game will have a hybrid world with geometry from one space but with physics from the other?
These devlogs are straight up some of the most interesting videos on KZread right now
Just waiting for ZenoTheRogue, the internet's expert on non-euclidean gaming, to weigh in, like he did on the Las one.
@ZenoRogue
3 жыл бұрын
Not much to talk about on this one, although it seems that correct S3 rendering can be done better than explained here. In HyperRogue we just make four passes based on gnomonic projection (distances 0 to 90deg, 90 to 180, 180 to 270, 270 to 360) and it just works, without any discontinuities. I believe Jeff Weeks explains in his papers how to do this with just two passes -- but the spherical spaces are small, so there is no need to optimize much.
@omnificatorg4426
3 жыл бұрын
@@ZenoRogue is it just a kind of cubemap? (sorry, I'm noob in spherical geometry)
@ZenoRogue
3 жыл бұрын
@@omnificatorg4426 No, I do not think cubemaps are related. In spherical geometry you can measure the distances using angle measures, i.e., degrees. If you feed the sphere model coordinates* to OpenGL, IIRC it will correctly render what is in front of you, but only up to 90 degrees from you; anything else won't be rendered. But you can do this four times, to also render 90 to 180 degrees (in front of you but on the other hemisphere), 180 to 270 (behind the antipodal point), and 270 to 360 (behind you, but still visible because the sphere wraps around). And there are no holes that way. * (x,y,z,w) such that x²+y²+z²+w²=1
@omnificatorg4426
3 жыл бұрын
@@ZenoRogue Gnomonic projection is the only one that keeps lines straight, am I right? But if you project a hemisphere onto a plane, the equator goes to infinity. The equator itself is a place where geodesics (i.e. camera rays) become "parallel". How can you render areas beyond the equator, where the rays start to converge, without distorting all the nearby hemisphere? Or it needs to be compressed in a kind of way?
@ZenoRogue
3 жыл бұрын
@@omnificatorg4426 Yes, that's why this projection renders only distances up to 90 degrees (the equator is at 90 degrees). But all the four sections can be rendered in the same way, so you first render the furthest section, clear the depth buffer, render the second further, clear the depth buffer, etc.
These videos are really interesting, and they bring up problems that you would never encounter in a normal game.
Great video, as usual, looking forward to star playing it
I swear this has to be the most technical game ever
The thought of troubleshooting these issues tickles my brain and sounds really fun but also maddeningly difficult. Very cool that someone is able to do it.
The sheer challenge of this is so interesting to watch. This is uncharted territory. I don’t understand half of what you’re saying, but the shapes you’re making are awesome. The solution at 3:17 makes me reimagine how alien it really would be to be in that world. It reminds me of how hyperbolic crochet looks, or how some 3d models show the hyperbolic plane as a reverse sphere.
Yes! I’ve been patiently waiting for the next update. I’m so excited to see how this game turns out
I think the increased movement speed higher up could be a nice part of level design !
I personally like the look of the curvature on the boxes higher up.
OH wow, I was wondering a few days ago if the vertical axis was also hyperbolic
babe wake up, new codeparade video
This is a very very interesting series!
I don’t know what he’s talking about; I just like watching him play the game.
@hashasbashbash2724
3 жыл бұрын
Lel same
Even though I don't understand half of the things being presented here I love watching these devlogs! Hyberbolica seems so fascinating and mesmerizing, I can't wait to see more!
damn no the visual increase in curvature the higher you go looks amazing, and it's yet another thing players could get there head around. It would be fun! Plus it just adds to the charm of the weirdness
Why does hyperbolic geometry "look" like you're on a sphere ie ground curving down away from you, while spherical is the opposite?
@lev7509
3 жыл бұрын
@@dagemeliorszczebrzeszynski9307 You're standing on a sphere, and in the hypersurface of the hypersphere. You're not inside the sphere, even tho it may look like it, due to light coming around the sky.
@henrikljungstrand2036
3 жыл бұрын
@@lev7509 Actually, in the spherical case, we are standing on a *flat* surface in S3, that happens to have the topology of a sphere. And the way light bends make it look like we are inside a sphere, the flat surface appears concave. In the hyperbolic case, we are also standing on a *flat* surface in H3, that appears to have a horizon at finite distance, and appears convex, due to the way light bends. I am not really satisfied with using H2×E instead of H3 or S2×E instead of S3. But the Beltrami-Klein projection is the best one, since it allows us (if we want to) to extend the world to beyond infinity, to a dual plane with the topology of a Moebius strip, and with indefinite metric. Of course, there would be no way to travel between the two dual planes except through teleporters. But diverging light rays meet beyond infinity in the other plane, if they diverge in both directions in the ordinary hyperbolic plane.
@MushookieMan
3 жыл бұрын
It has to do with how light rays bend in the space. All rays converge in a spherical space. In hyperbolic space, even non-intersecting rays diverge. This means in hyperbolic space, a small change in the direction you point your eye results in a large sideways displacement as you follow the ray outward. In other words, ordinary objects subtend less angle on your retina. In fact, if a creature evolved in hyperbolic space, it would be cross eyed, because that's all you need to focus at any point, even up to infinite distance. I recommend playing Jeff Weeks games and reading his book: www.geometrygames.org/CurvedSpaces/index.html.en
@mohamedazaiez7109
3 жыл бұрын
@@henrikljungstrand2036 i've always thought that it really didnt make sense to say curved space when you're inside that space do you have any book or maybe an advice to know where to learn more in depth about non eucludian geomtry(like to really have an intuitive understanding of what they mean)
@lev7509
3 жыл бұрын
@@henrikljungstrand2036 True. Also, it is kinda complicated for me. Sorry to disappoint.
Fascinating! Thank you for making this series and for covering technical issues in such detail.
Your devlogs are an absolute blessing. You are a wondrous pioneer in the future of video games.
first video I've seen of yours. I subscribed right away. Impressive dude, Keep up the good work!
your ability to understand all of this stuff and apply it to your coding is so awesome!
All of this makes so much sense! Please keep this Devlog going forever!
I love these vids and I'm super happy you're continuing this project. I've got a soft-spot for non-Euc geometry concepts (I tried to imagine a flatland world which is also a Mobius strip and how sunlight would work in it and my brain 404'd). Also I'm just beginning my journey into programming/coding, so these vids are extra satisfying :)
this is such a ridiculously big idea, you could sell this to a metaverse or make one yourself. in vr, this is going to change the way people think... im in love
These videos always make my day and blow my mind!
It's a lovely look into whats going on with this beautiful presentation. And honestly, while the comments make it sound like your talking in cryptic tongues, I thought it was very doable to follow your explanations. Well done not just in building this but also breaking it down for others to understand.
Damn, I just finished an essay about hyperbolic geometry and I should have watched this final video where you show the different projection. I love your work and can't wait for the game to come out. Good luck!
I look so forward to this series, because I hope to one day be able to do these concepts myself. Thank-you!
the music matches the concept of this game so much
Man, you're such a warrior, really, that's insane, I can only say "great job"!!
Today i literally just got recommend of your devlogs and in the same day a new one has released lol
Wow, I absolutely love these devlog videos! I fell in love with hyperbolic geometry when I took a course in it for my Master's, but realized when I got into more general manifolds that things can get very weird. I think it's a good idea to use H2xE, and I can't wait to see how you actually rig the models.
maaan, this project is amazing. Look like you needed to study a lot of math to make this work, and already look incredible. I want so much to experience your game. I am "anxious" to see the next devlog and how you solved the problem of creating 3d maps for this project. Good Luck with the game.
Wow. This is fascinating to hear about. I can't wait to see how you tackle 3D modelling.
I have absolutely no clue what he is talking about but looks dope
Amazing work man!!! congrats and keep the great work. I am looking forward to play your game
This game is like an evolved version of Antichamber but with more math and horrifying geometry and I love it
@Lucky10279
3 жыл бұрын
How is the geometry horrifying?
*Your game its Awesome, and i am spreading to everyone i know, friends, KZreadrs, Streamers, and several game design foruns. Your game will change how we think and create games, you are an Inspiration*
I'm incredibly glad this exists, thank you.
I love this dev vlog series. Thanks!
You seem staggeringly intelligent aha, Had your game on my wish list for a long time! cannot wait to buy!
I would've gone insane at this point, good work! Keep going, dude.
nice work, looking forward to next episode for some juicy 3D models!
Thanks a lot for sharing this with us. It's extremely interesting to try to think in non-euclidean space while looking at the problems and solutions you show us. You should do similar dev-logs more often! :D (if it doesn't affects the development, of course) ;)
LET'S GOOOOO I'm so hyped for this
@TheAechBomb
3 жыл бұрын
I'm hyperbolic for this game too
Love these devlogs :)
yooooo, new devlogggggg!!!! CodeParade, i love this game, keep up the good work.
3:39 the fact that he figured out this method would fix the draw issues is incredible. big brain move
These videos are insanely interesting
This guy's just too crazy. Actually blowing my mind. I just feel inept
With the Gnomonic projection, i think the artifacts you saw are from the Gnomonic projection actually being better for _elliptic_ space rather than _spherical_ space. The difference is that in elliptical space, opposing ends of the hypersphere are treated as the same point, rather than as distinct points as in spherical space. The same thing technically still exists for euclidean space and the Klein projection of hyperbolic space, but the difference there is that there's no smooth transition that can bring you from the w = 1 hyperplane to the w = -1 hyperplane, of from the positive hyperboloid to the negative hyperboloid, so it's easier to forget that the negative sides still exist like it does in spherical and elliptical geometry.
So insightful! ❤️
Another awesome video! I want to get H3 rendering with H2xE physics in HyperBlock as well; it seems like a great compromise! As you elevated, the change in speed and scale balanced each other out really naturally
@CodeParade
3 жыл бұрын
Thanks! I like the way you have it already, I think it works for the game. The main disadvantage with H3 for a H2xE block game is that the blocks get squished in the vertical direction, so they'll start to look more flat and paper-like as you get higher up (or down) and the increase in curvature will limit your view more. I can compensate for this with the 3D modeling step, but you won't have that flexibility with blocks.
A beautiful solution for a beautiful problem.
VR baby! Man what a time to be alive
I absolutely adore your videos
nice first sebastian lague uploads, then a few hours later a new hyperbolica update. today is an awesome day!
The song sassy plays in chooma island 2 of the Big Lez show would fit well in this.
I can't wait this been on my wishlist since you first announced it
You have my respect. Hope I`ll learn enough to clearly understand it.
lets just appreciate how this person used like every single type of rendering that he is talking about, actually doing this so many times in so many different ways is insane
I toyed around with something like this a while ago, and one interesting thing I did with the holonomy is build a "house" in spherical geometry where each room is a tetrahedron with all right angles. You can pass through the walls (I haven't implemented doors) or use elevators at the edges of each room to go up or down a floor. The physics is normally S^2 x R like what you did, except when you take an elevator. That way, you can walk on any wall of any room. I also made one in hyperbolic geometry inspired by the Poincaré dodecahedron, except that instead of looping around with a 36 degree twist it's a 108 degree twist (if I remember it right). And I made it so you're in a smaller dodecahedron within the one that loops around, in order to make it so you hit the faces that loop you around at right angles instead of 60 degree angles. Unfortunately I'm nowhere near as good at documenting this stuff and explaining it as you. I wanted to make it something I'd let other people use, but I doubt other people would be able to use it.
@CodeParade
3 жыл бұрын
That sounds really interesting, do you have any video or demo of that project? It would be cool to see even if you didn't document it.
I like your funny words, magic man! In all seriousness, I love these vids :D
Потрясающе!
Well done!! Keep it up
Well done! I don't understand a lot of this, but I love the process. Keep up the good work. It reminds me of a KZreadr (BIB) who used a program to make a fractal landscape. It basically looked like 4-dimensional landscape rendered in 3 dimensions, on a 2-dimensional screen. Fun stuff.
I think I need to take a few classes before I can purely wrap my head around processing this kind of information
not only does my head hurt from the visuals but also the words too!
Could you create a series single-building-maps, like a giant library of something whose geometry is spherical (fixed total volume, walk upside-down to reach the other entrance and stuff) with entrances/exits that lead to a regular euclidean landscape of some town or cave? Also, are there ways for community contributions of objects? Not whole maps, but confined objects?
Great soundtrack choice, man
Beautiful.
I’m so looking forward to this
Man you are a legend.
Dude I love this
This game looks so cool, I’ve already wishlisted it on steam. Also I’m exited for the 3D modeling dev log. I’m learning modeling in high school so Im curious to see the challenges you have to overcome
Can't wait! Looks sick
This game needs VR support. Would be freaking trippy af!
This is so freakin cool!
oh sick you are still working on it