DUDE I was "oh wow, that very cool, he actually did some atmosphere stuff and all" AND THEN YOU TAKE THE CAMERA TO SPACE The engine is going incredible, I like it a lot, cheers!
Thanks Christopher! All these videos were previously unlisted, as I really didn't want them to clutter up my uploads section, but I really needed to make them public to (in a sense) rip the bandaid off and open my mind up to posting more, potentially lower-effort videos just to make y'all aware that I'm not dead or something. The project has been advancing nicely but like I said in the video I just haven't had much motivation to create content. One of the main reasons for this is that I always feel like I need to make the content better than it was before, and this makes me really focus on so many details that are really unnecessary, ultimately blocking me from making any content at all. Recently, whenever I've posted, it's because I really had to push against the glaring imperfections in them while editing, to make sure I actually finish.
@GabeRundlett hey man it's brilliant to hear you're working your way through it at your own pace. This is your project and we are here to support you through all your ups and downs. Also, if I may, where did you get the initial inspiration to create your own voxel engine? Also would you have any tips or pointers to help people get into the mindset to start posting dev logs of their own? My project is at the point where it's functional but I could use an audience to get some proper feedback and idk how to go about it.
@@christophermorley6615 I am not sure where the inspiration comes from, but I did really like Minecraft back in the day. The only advice I can give about posting content is to just let it come naturally. When you are posting, know that it doesn't need to be perfect, cuz like I said, that's definitely what hinders me the most. I've always had some interest in art and making videos is kind-of like a creative outlet that I just felt inspired to do. (actually making thumbnails is my favorite part). On top of that, I've always been interested in explaining things, kind-of like teaching, though I am not sure I'm too good at it. If you want feedback immediately, there are many different places around the internet that are great for that. For example, the graphics programming discord is really popular, Voxel Game Dev is a great reddit (and they have a discord too), and I also have a discord which has regularly active members and we all chat about what's on our minds lately.
Thank you for all you offer to us voxel enthusiasts. Just a little feedback once in a while is appreciated. Don't push yourself too much and again, thank you.
"i don't really have a life" ouchies xd well, i sure hope you just don't overwork yourself and are happy and care about yourself, if that's the case then it's amazing ! take care, and great work on the voxel engine !!!
Thank you dottedboxguy! I really wasn't taking care of myself while I was posting regularly. I have since lost a lot of weight as I'm eating healthier, exercising more, and actually sleeping. So overall these days I'm much happier.
@@GabeRundlettthat's amazing to hear, i hope you can keep your life this way going forwards, burning yourself out sure doesn't sound like fun, and it's not like we lack content anyways, being in your discord gives (at least for me) more than enough content to keep my need of voxel copium gaz low
quick tip for "getting a bit of life" -> if you have some kind of shop selling board games you can ask if they host some D&D games for newbies and join some random group. It can be stressful at first but it's a good first step!
totally feel you on finding time for your projects. sometimes ill go a week without touching the pile of wires and microcontrollers on my desk. keep up the grind!
This is amazing Gabe ! Please don't feel obligated to post high quality content if it's burning you out mate !! I'm much more happy knowing that you take care of yourself 😁
This is so awesome! Video or not, hopefully you keep progressing. I have subscribed for what may come in the future. I am looking for voxel engines for the game I have been developing.
Hey man, hello from Ukraine. Finally I found someone who did everything as i wanted. I mean you have planet-shaped world, you use voxels, you shade them per-voxel as opposed to per-face. And the most crucial part is that you're doing proper GI instead of that shitty AO, which is everywhere and i hate it so much because everyone seem found it acceptable quality. For me, better it'll be noisy true shadows, rather than that cheap fake patina-effect, produced by AO. Noise is something we can address and work against further. So, keep on working, man, and eventually throw occasional updates for us to assess. And don't overestimate the importance of updates, feel free to make them whenever you want and however you want. This would relieve the pressure of misleading sense of being obliged to account. Surprisingly, this will help you to make those updates even more often, merely because of your proper attitude on this.
Once I had a family to take care of, coding got tough to do for fun. I can happily get 0.5-1h a day if I'm lucky, and I enjoy the timr I get. But yeah, priorities are priorities! Do what's important to you!
Seeing this for the first time its amazing what you've achieved as its something I've also wanted to do. Personal life stuff, man you clearly need a break buddy. go outside, and talk to your friends and family. jump into a few games of D&D(Personal Favorite). Work-life balance is very important, get out there and take a breath
Very neat progress. The falloff of precision is an unfortunate side effect of the float type, hard to deal with. You may need to consider using a region system of chunks to help 'reset' the precision every however many chunks. I had to do that with a microtile 2D world I made a few years ago.
I've always disliked auto-exposure. Our eyes do that already, i don't need to be eye-strained by that thing. Thank your for the amazing things you develop.
The main purpose of auto-exposure in apps these days is helping with the limited dynamic range of most displays. The sRGB color-space is 8-bit per channel, which is only 256 different levels of brightness. Essentially, this is 8 stops of dynamic range. This is a log scale, and typical DSLR cameras have about 12 to 14 stops. That's an added 16 to 64x more possible light values. the eyes have about 20 stops! That's why it's so easy to get blown-out photos even with good cameras, compared to the human eye. HDR helps a lot... but not everyone has an HDR display! The other helpful thing is tonemapping, which I use aGx, which is widely regarded as the best color transform at the moment (it's also now the Blender default as of Blender 4.0)
I also like a stylized look in a sense, but I want the freedom of more info per voxel. Either way, I'm restructuring the voxel code completely because I need more than just 32-bits per voxel, which is what I'm limited to right now.
That's a really cool project I can see great prospects for. I think that any realtime global illumination is a truly game-changing addition, and it's very doable in a voxel world, as efficient radiance caching schemes can be implemented. It's awesome that you can move into outer space right from the game world and still see the voxel terrain (although it seems to be generated in a wrong position). I suppose you have a separate renderer for the planet surface and the outer space view, do you? Does the sky contribute to global illumination through a HDRI environment map, or your lighting works directly with the physical atmosphere?
A diffuse irradiance cubemap is generated based on what the player currently sees as the sky, which feeds directly into the GI solution. This is fine for small scales, like what we can currently see in the engine. If I were to make it such that the voxels that are a part of the planet were still visible as the player goes to space, the voxels would be lit as if they were also in space. A solution to this is to have cached sky IBL probes, maybe every kilometer or so, and interpolate between them
you may wanna adjust your export settings for audio. it's a bit quiet. if you right click the video player above and click "Stats for Nerds" you'll see that, by volume/normalized, it is -8.3dB below youtube's standard volume. so, with the same volume setting, this video is WAY quieter than other videos on the platform. ideally, you want that dB to be 0
You could also dither the normal vectors per voxel. When calculating normals if they end up inbetween then pick one baces of an alogrium. there are a few different allgoriums out there for it. This might get expensive, but then you could blur them latter on to get a gradient. Or not I think that it would look cool dithered. I may or may not be doing this for my engine.
I never knew this was possible, but per-voxel normals seem to be the best way to light voxels. For most of my life I was never really a fan of voxel art styles because the harsh shading of each side of the voxels just looked very wrong. It was only when I’d heard of Voxel Doom and saw how good voxels look without shading that I came realize that awkward shading was ruining the shapes voxels are meant to imply like pixel art. Using normals to shade the voxels wholesale feels like the perfect balance between having dynamic lighting without having to ruining the illusion of the shapes that voxels are meant to imply.
Great question. I meant to say, as really all these features deserve their own full explanations. The sky was designed by a friend of mine, Matej Sakmary for his Bachelors thesis. His implementation can be found on his github here: github.com/MatejSakmary/atmosphere-bac
I started learning about CG recently, and your project blew me away! I am curius to see how will it look if you manage to implement some sort of dithering for normals instead of increasing their size to 16 bits. What do you think?
yeah there's a ton of things that could be done, I'm not really interested in solving this problem at the moment as I have more pressing issues to address, like the world generation speed and render distance!
Wow glad UA-cam randomly recommended this. It looks like you've made your own engine completely? Is this eventually going to be a game? And if so, what kind of game? It looks absolutely incredible and you seem to be a great coder! I'll be subbing and checking out your other content when I have the energy 👍. Do you think that if you wanted to, that this could be (easily) injected into other game engines? And would you eventually even be willing to sell or share it? This is the best looking voxel engine for the kind of game I've started working on. I might not get to a finished product, but since I'm handicapped and have a lot of time on my hands I want to try and make my own version of a open world fantasy sim. I became inspired by Daggerfall and have quite a few ideas to make it much more fun and viable to make as a single person. Like using simple and pixelated graphics and procedural generation as much as possible. If I ever get far enough at creating the gameplay mechanics I'd love to make it open to a community and work on it together. I'm not looking for profit or even clout. I just want to create something that I'd love to play myself and that might be enjoyed by others. I completely understand if you want to keep this wonderful tech to yourself, and I'm not even sure if I was able to use it anyway. Since I don't know Rust and am barely proficienct with C++. I felt like I had to try and ask anyway. I'll still follow your process and enjoy it from the sideline. Great work and I hope you keep finding the time and motivation to keep working on it 😊.
I want to make a game in a sense. I recently have been taking a liking to the idea of an art program that's more immersive in a game way. I also will say, the engine is completely open source and available on my GitHub. It's linked in the description of all my full-length commentary videos! The codebase is very undocumented and I don't expect it to be much use to anyone for a long while, but maybe it could be of use. FYI the codebase is pretty much entirely GLSL and C++, and thanks for your support!
@@GabeRundlett marvelous ^^!! And very generous of you. About having no documentation I guess that just means I that if I'm ever able to use it I'd be worthy of actually using it :D. I've watched plenty of voxel engine videos and from the little peaks I took, yours looks to be the most incredible and visually appealing to me. Both voxels and procedural generation really pulls me as a subject, but it always felt so incredibly daunting, whenever I got into the specifics of it. It's very apparent that you have a rare combination of math/coding skills, creativity and vision. So very much looking forward to be checking out your long form vids and watching your journey unfold. Keep being you and good luck ✌️. P.s. I hope that some of your (future) videos will explain what you mean exactly by "art program".
@@DeltaNovum Yeah I would like to figure out what I mean by it too 😅 I haven't really figured it out. I really like the idea of using SDFs to create shapes (this is known as CSG or Constructive Solid Geometry) and tools to modify the world. I have a few videos where I show off this idea, but I want the ability to create your own such tools (which I call "brushes") with even a GUI similar to blender's shader nodes. If you've ever seen any of the older videos from a creator called John Lin, he actually had editing tools in his engine that allowed him to manually create all the worlds that he shows off.
@@GabeRundlett I might have. I'll look it up tomorrow. I do get what you mean I think. I know too little about it to know how hard it would be to implement, but are you thinking of adding different geometric shapes as brushes? And would it be possible to combine 2 different types of voxels or would that break your rendering engine? Thinking that cubes would make building certain stuff easier perhaps. The mansion I saw in one of your clips looks wonderful btw. If I'm to ever use your or any voxels engine inside of my rpg sim, it would probably only be used for the procedural generation of the ground and rocks itself. And I would have players use tools to "carve" out parts of the world. Using hands or a shovel to pick up and move dirt or very slowly bit by bit be able to destroy rock and minerals with a pickaxe. So it would be possible, just take a very long time. Not only so it would be hard to easily screw up the world, but also to keep things and progress very valuable. Instead of something like Diablo, where most items are of no value, every single piece of armor or weapon should feel incredibly valuable and getting or making them should feel like an accomplishment. P.s. Have you looked at the mesh shaders that newer gpu cards use? Not sure if that what makes Unreals Nanite possible, but Alan Wake 2 uses it to push out incredible amounts of vertices.
@@DeltaNovumfyi, his engine is entirely raytraced ( raymarched actually but it doesn't really matter ) with no triangles to be seen anywhere appart from the particles. also, if you want to start building up a voxel based project of your own, gabe is working on a sorta magic voxel library that does everything for you from file importing in any format you like to memory management, it is gvox oh and the mansion isn't his, it's a default model provided with magicavoxel
In reference to 7:08 Find balance: Writing code until you pass out is bad code - get some sleep. You'll be more productive with a good night's rest anyways. What you eat goes straight to your brain. If you eat junk, you're gonna feel like junk, too. Occasional breaks are good, and you can spend it by cooking a nice meal. Prioritize: Your channel is about your engine - the engine should come first. Implement the features you want to implement, and if you think they are worth showcasing then showcase them in a video. We're all here to watch what the creative part of your brain comes up with - don't think that you have to hand over the reigns to that other part that wants to impose some rigid video routine on you. The minute long showcase videos are brilliant, glad you unlisted them.
Thanks Mikjaash. I totally agree regarding the sleep and junk food thing. I'm so much happier and productive now! Thank you for the advice, I appreciate it
@@the-guy-beyond-the-socket in this video, both the primary rendering as well as the global illumination are rendered with ray tracing in compute shaders, implemented with a custom acceleration structure. There's definitely room for optimization. After this video, I ported the renderer to use hardware ray tracing shaders, which gave a minor lift in performance.
It's sort of like apples to oranges, usually the serve completely different purposes. Voxels are all about interactivity, so like modifying the scene however you like. This is an issue because it means no lighting can be baked. In this regard, a voxel engine is usually more demanding than a traditional game engine. Specifically for raytracing, voxels have some benefits though. You can make raytracing pretty darn fast
I am working on it mostly solo. There have been contributions by others however, as the project is completely open source! I wish I could work on it full-time...
Feel free to slow down and take your time! We'll still be here!
Thanks Paige, it means a lot!
Nice down-to-earth video, Gabe! Your work continues to push voxel tech forward :)
Ohhh, ohh! It's the other voxel guy!!
DUDE
I was "oh wow, that very cool, he actually did some atmosphere stuff and all" AND THEN YOU TAKE THE CAMERA TO SPACE
The engine is going incredible, I like it a lot, cheers!
Bro just dropped a whole catalogue of content and I'm here for it all!!! Keep up your incredible work!
Thanks Christopher! All these videos were previously unlisted, as I really didn't want them to clutter up my uploads section, but I really needed to make them public to (in a sense) rip the bandaid off and open my mind up to posting more, potentially lower-effort videos just to make y'all aware that I'm not dead or something. The project has been advancing nicely but like I said in the video I just haven't had much motivation to create content. One of the main reasons for this is that I always feel like I need to make the content better than it was before, and this makes me really focus on so many details that are really unnecessary, ultimately blocking me from making any content at all. Recently, whenever I've posted, it's because I really had to push against the glaring imperfections in them while editing, to make sure I actually finish.
@GabeRundlett hey man it's brilliant to hear you're working your way through it at your own pace. This is your project and we are here to support you through all your ups and downs.
Also, if I may, where did you get the initial inspiration to create your own voxel engine? Also would you have any tips or pointers to help people get into the mindset to start posting dev logs of their own? My project is at the point where it's functional but I could use an audience to get some proper feedback and idk how to go about it.
@@christophermorley6615 I am not sure where the inspiration comes from, but I did really like Minecraft back in the day. The only advice I can give about posting content is to just let it come naturally. When you are posting, know that it doesn't need to be perfect, cuz like I said, that's definitely what hinders me the most. I've always had some interest in art and making videos is kind-of like a creative outlet that I just felt inspired to do. (actually making thumbnails is my favorite part). On top of that, I've always been interested in explaining things, kind-of like teaching, though I am not sure I'm too good at it. If you want feedback immediately, there are many different places around the internet that are great for that. For example, the graphics programming discord is really popular, Voxel Game Dev is a great reddit (and they have a discord too), and I also have a discord which has regularly active members and we all chat about what's on our minds lately.
@@GabeRundlettmaybe you could make a secondary side channel, to post the content you have doubts about there :).
Thank you for all you offer to us voxel enthusiasts. Just a little feedback once in a while is appreciated. Don't push yourself too much and again, thank you.
"i don't really have a life" ouchies xd
well, i sure hope you just don't overwork yourself and are happy and care about yourself, if that's the case then it's amazing !
take care, and great work on the voxel engine !!!
Thank you dottedboxguy! I really wasn't taking care of myself while I was posting regularly. I have since lost a lot of weight as I'm eating healthier, exercising more, and actually sleeping. So overall these days I'm much happier.
@@GabeRundlettthat's amazing to hear, i hope you can keep your life this way going forwards, burning yourself out sure doesn't sound like fun, and it's not like we lack content anyways, being in your discord gives (at least for me) more than enough content to keep my need of voxel copium gaz low
quick tip for "getting a bit of life" -> if you have some kind of shop selling board games you can ask if they host some D&D games for newbies and join some random group. It can be stressful at first but it's a good first step!
Really impressive progress, realtime GI is no small feat haha. It's great to hear from you again!
That is some very impressive lighting!
Especially the outside looks really nice, since the noise-artifact look a lot like fire's natural flickering.
good to see you're back! great work on the gi and I'm also in love with that sky rendering model!
totally feel you on finding time for your projects. sometimes ill go a week without touching the pile of wires and microcontrollers on my desk. keep up the grind!
This is amazing Gabe ! Please don't feel obligated to post high quality content if it's burning you out mate !! I'm much more happy knowing that you take care of yourself 😁
"I don't really have a life , all I do is code" - Subscribed because of this. love your work
7:08 that hits me. Happy to see this project going forward ;)
Hey there!, Good job with the GI. I like how normals look here!. Btw take care! 👍
Life is long! No need to rush to the finish line with things. Just enjoy your journey with this project!
good luck bro
Just commenting to ensure youtube I want to see more of this guy since he's great,love this content it looks amazing
You have an engine with very good potential and wayyy to underrated, keep up the good work!
You seem like a decent guy. Also reasonably entertaining. Subbed.
I try my best. Thanks Kapoink!
This is so awesome! Video or not, hopefully you keep progressing. I have subscribed for what may come in the future. I am looking for voxel engines for the game I have been developing.
the greatest youtuber of all time finally makes his return
4:25 can't wait to see no man's sky type game(s) made with this engine
Hey man, hello from Ukraine. Finally I found someone who did everything as i wanted. I mean you have planet-shaped world, you use voxels, you shade them per-voxel as opposed to per-face. And the most crucial part is that you're doing proper GI instead of that shitty AO, which is everywhere and i hate it so much because everyone seem found it acceptable quality. For me, better it'll be noisy true shadows, rather than that cheap fake patina-effect, produced by AO. Noise is something we can address and work against further.
So, keep on working, man, and eventually throw occasional updates for us to assess. And don't overestimate the importance of updates, feel free to make them whenever you want and however you want. This would relieve the pressure of misleading sense of being obliged to account. Surprisingly, this will help you to make those updates even more often, merely because of your proper attitude on this.
Once I had a family to take care of, coding got tough to do for fun. I can happily get 0.5-1h a day if I'm lucky, and I enjoy the timr I get. But yeah, priorities are priorities! Do what's important to you!
Seeing this for the first time its amazing what you've achieved as its something I've also wanted to do.
Personal life stuff, man you clearly need a break buddy. go outside, and talk to your friends and family. jump into a few games of D&D(Personal Favorite). Work-life balance is very important, get out there and take a breath
your lighting engine is cool!
Very neat progress. The falloff of precision is an unfortunate side effect of the float type, hard to deal with. You may need to consider using a region system of chunks to help 'reset' the precision every however many chunks. I had to do that with a microtile 2D world I made a few years ago.
I've always disliked auto-exposure. Our eyes do that already, i don't need to be eye-strained by that thing.
Thank your for the amazing things you develop.
The main purpose of auto-exposure in apps these days is helping with the limited dynamic range of most displays. The sRGB color-space is 8-bit per channel, which is only 256 different levels of brightness. Essentially, this is 8 stops of dynamic range. This is a log scale, and typical DSLR cameras have about 12 to 14 stops. That's an added 16 to 64x more possible light values. the eyes have about 20 stops! That's why it's so easy to get blown-out photos even with good cameras, compared to the human eye. HDR helps a lot... but not everyone has an HDR display! The other helpful thing is tonemapping, which I use aGx, which is widely regarded as the best color transform at the moment (it's also now the Blender default as of Blender 4.0)
This is really cool!
@@JadeCoffi thanks jade!
Nice work! I'd love to hear more about how you got global illumination working.
Like I said in the video, I actually ported a Rust/HLSL codebase to C++/GLSL to use it in my engine
I actually love the 8 bit normals.
actually, the harsh boundaries between the voxel normals look cool imo. This gives it this nice, stylized look.
I also like a stylized look in a sense, but I want the freedom of more info per voxel. Either way, I'm restructuring the voxel code completely because I need more than just 32-bits per voxel, which is what I'm limited to right now.
Awesome stuff.
That's a really cool project I can see great prospects for. I think that any realtime global illumination is a truly game-changing addition, and it's very doable in a voxel world, as efficient radiance caching schemes can be implemented.
It's awesome that you can move into outer space right from the game world and still see the voxel terrain (although it seems to be generated in a wrong position). I suppose you have a separate renderer for the planet surface and the outer space view, do you? Does the sky contribute to global illumination through a HDRI environment map, or your lighting works directly with the physical atmosphere?
A diffuse irradiance cubemap is generated based on what the player currently sees as the sky, which feeds directly into the GI solution. This is fine for small scales, like what we can currently see in the engine. If I were to make it such that the voxels that are a part of the planet were still visible as the player goes to space, the voxels would be lit as if they were also in space. A solution to this is to have cached sky IBL probes, maybe every kilometer or so, and interpolate between them
is the skybox and atmosphere rendering features in the codebase too? would love to see how you implemented it! Beautiful
Yes it is. It's based on SebH's sky: github.com/sebh/UnrealEngineSkyAtmosphere
@@GabeRundlett thank so very much this is very useful 🔥
this is awesome
you may wanna adjust your export settings for audio. it's a bit quiet. if you right click the video player above and click "Stats for Nerds" you'll see that, by volume/normalized, it is -8.3dB below youtube's standard volume. so, with the same volume setting, this video is WAY quieter than other videos on the platform. ideally, you want that dB to be 0
Thank you for the advice! I can never tell what a good setting is. And I really don't know much about audio in general 😅
You could also dither the normal vectors per voxel. When calculating normals if they end up inbetween then pick one baces of an alogrium. there are a few different allgoriums out there for it. This might get expensive, but then you could blur them latter on to get a gradient. Or not I think that it would look cool dithered. I may or may not be doing this for my engine.
I did this already, as someone else suggested it too! ua-cam.com/video/tYplNMt9Nrg/v-deo.htmlsi=LLWKXfz4iqJhVk1W
Cool I did not see that one! Looks amazing!
I never knew this was possible, but per-voxel normals seem to be the best way to light voxels. For most of my life I was never really a fan of voxel art styles because the harsh shading of each side of the voxels just looked very wrong.
It was only when I’d heard of Voxel Doom and saw how good voxels look without shading that I came realize that awkward shading was ruining the shapes voxels are meant to imply like pixel art. Using normals to shade the voxels wholesale feels like the perfect balance between having dynamic lighting without having to ruining the illusion of the shapes that voxels are meant to imply.
Bro came back from Valhalla 💀
"I dont have a life, all i do is code" - Gabe Rundlett 2024
So I’m not the only one who struggles to balance the bare essentials of life: eating, sleeping, and programming lol
someone has been busy... also can you show how you did your atmospheric scattering
Great question. I meant to say, as really all these features deserve their own full explanations. The sky was designed by a friend of mine, Matej Sakmary for his Bachelors thesis. His implementation can be found on his github here: github.com/MatejSakmary/atmosphere-bac
Ooh, this look nice
I started learning about CG recently, and your project blew me away! I am curius to see how will it look if you manage to implement some sort of dithering for normals instead of increasing their size to 16 bits. What do you think?
I really like that idea actually. I will see if I can implement it real quick and make a showcase video of it
Just tried this out. I think I like it! ua-cam.com/video/tYplNMt9Nrg/v-deo.html
@@GabeRundlett Yey for dithering! Looks very nice. It was so fast too. It would take me ages to implement it myself, haha.
❤❤❤❤❤
Pretty cool
Nice! Could the voxel world be wrapped around a torus or something to make it "spherical" within the atmosphere volume?
yeah there's a ton of things that could be done, I'm not really interested in solving this problem at the moment as I have more pressing issues to address, like the world generation speed and render distance!
Wow glad UA-cam randomly recommended this. It looks like you've made your own engine completely? Is this eventually going to be a game? And if so, what kind of game? It looks absolutely incredible and you seem to be a great coder! I'll be subbing and checking out your other content when I have the energy 👍.
Do you think that if you wanted to, that this could be (easily) injected into other game engines? And would you eventually even be willing to sell or share it? This is the best looking voxel engine for the kind of game I've started working on. I might not get to a finished product, but since I'm handicapped and have a lot of time on my hands I want to try and make my own version of a open world fantasy sim. I became inspired by Daggerfall and have quite a few ideas to make it much more fun and viable to make as a single person. Like using simple and pixelated graphics and procedural generation as much as possible. If I ever get far enough at creating the gameplay mechanics I'd love to make it open to a community and work on it together. I'm not looking for profit or even clout. I just want to create something that I'd love to play myself and that might be enjoyed by others.
I completely understand if you want to keep this wonderful tech to yourself, and I'm not even sure if I was able to use it anyway. Since I don't know Rust and am barely proficienct with C++. I felt like I had to try and ask anyway. I'll still follow your process and enjoy it from the sideline.
Great work and I hope you keep finding the time and motivation to keep working on it 😊.
I want to make a game in a sense. I recently have been taking a liking to the idea of an art program that's more immersive in a game way. I also will say, the engine is completely open source and available on my GitHub. It's linked in the description of all my full-length commentary videos! The codebase is very undocumented and I don't expect it to be much use to anyone for a long while, but maybe it could be of use. FYI the codebase is pretty much entirely GLSL and C++, and thanks for your support!
@@GabeRundlett marvelous ^^!! And very generous of you. About having no documentation I guess that just means I that if I'm ever able to use it I'd be worthy of actually using it :D.
I've watched plenty of voxel engine videos and from the little peaks I took, yours looks to be the most incredible and visually appealing to me. Both voxels and procedural generation really pulls me as a subject, but it always felt so incredibly daunting, whenever I got into the specifics of it. It's very apparent that you have a rare combination of math/coding skills, creativity and vision. So very much looking forward to be checking out your long form vids and watching your journey unfold. Keep being you and good luck ✌️.
P.s. I hope that some of your (future) videos will explain what you mean exactly by "art program".
@@DeltaNovum Yeah I would like to figure out what I mean by it too 😅 I haven't really figured it out. I really like the idea of using SDFs to create shapes (this is known as CSG or Constructive Solid Geometry) and tools to modify the world. I have a few videos where I show off this idea, but I want the ability to create your own such tools (which I call "brushes") with even a GUI similar to blender's shader nodes. If you've ever seen any of the older videos from a creator called John Lin, he actually had editing tools in his engine that allowed him to manually create all the worlds that he shows off.
@@GabeRundlett I might have. I'll look it up tomorrow. I do get what you mean I think. I know too little about it to know how hard it would be to implement, but are you thinking of adding different geometric shapes as brushes? And would it be possible to combine 2 different types of voxels or would that break your rendering engine? Thinking that cubes would make building certain stuff easier perhaps. The mansion I saw in one of your clips looks wonderful btw.
If I'm to ever use your or any voxels engine inside of my rpg sim, it would probably only be used for the procedural generation of the ground and rocks itself. And I would have players use tools to "carve" out parts of the world. Using hands or a shovel to pick up and move dirt or very slowly bit by bit be able to destroy rock and minerals with a pickaxe. So it would be possible, just take a very long time. Not only so it would be hard to easily screw up the world, but also to keep things and progress very valuable. Instead of something like Diablo, where most items are of no value, every single piece of armor or weapon should feel incredibly valuable and getting or making them should feel like an accomplishment.
P.s. Have you looked at the mesh shaders that newer gpu cards use? Not sure if that what makes Unreals Nanite possible, but Alan Wake 2 uses it to push out incredible amounts of vertices.
@@DeltaNovumfyi, his engine is entirely raytraced ( raymarched actually but it doesn't really matter ) with no triangles to be seen anywhere appart from the particles.
also, if you want to start building up a voxel based project of your own, gabe is working on a sorta magic voxel library that does everything for you from file importing in any format you like to memory management, it is gvox
oh and the mansion isn't his, it's a default model provided with magicavoxel
7:20 he just like me fr 😭😭😭
In reference to 7:08
Find balance:
Writing code until you pass out is bad code - get some sleep. You'll be more productive with a good night's rest anyways.
What you eat goes straight to your brain. If you eat junk, you're gonna feel like junk, too. Occasional breaks are good, and you can spend it by cooking a nice meal.
Prioritize:
Your channel is about your engine - the engine should come first. Implement the features you want to implement, and if you think they are worth showcasing then showcase them in a video.
We're all here to watch what the creative part of your brain comes up with - don't think that you have to hand over the reigns to that other part that wants to impose some rigid video routine on you.
The minute long showcase videos are brilliant, glad you unlisted them.
Thanks Mikjaash. I totally agree regarding the sleep and junk food thing. I'm so much happier and productive now! Thank you for the advice, I appreciate it
Awesome work! Looking forward to seeing where this project goes in the future 👍
Will you implement anyyhing like distant horizon?
Yes, there will be a much greater view distance
when i have the money ill come find you and you will be my personal tutor. this isn’t optional.
lmfao
what are milliseconds to render?
I think it was about 10 milliseconds at 1080p upscaled to 1440p on my 3070. I don't really remember - I can check again though.
@@GabeRundlett is there room for optimization? Oh and GI is actual raytracing or something else?
@@the-guy-beyond-the-socket in this video, both the primary rendering as well as the global illumination are rendered with ray tracing in compute shaders, implemented with a custom acceleration structure. There's definitely room for optimization. After this video, I ported the renderer to use hardware ray tracing shaders, which gave a minor lift in performance.
is this something you are planning to open source? I would love to make a game in this style.
Check the description, it has always been open source 😉😊
@@GabeRundlett awesome! is there a timeframe you are targeting for 1.0?
@@boot-strapper I'm sorry, but no. I actually just got hired by Tuxedo Labs (Teardown). My future voxel efforts will be focused there instead.
@@GabeRundlett bummer! But I totally get it
How nuch more demanding is a voxel engine over a polygon engine?
It's sort of like apples to oranges, usually the serve completely different purposes. Voxels are all about interactivity, so like modifying the scene however you like. This is an issue because it means no lighting can be baked. In this regard, a voxel engine is usually more demanding than a traditional game engine. Specifically for raytracing, voxels have some benefits though. You can make raytracing pretty darn fast
Are you working this solo? You should really open up a company for this engine.
I am working on it mostly solo. There have been contributions by others however, as the project is completely open source! I wish I could work on it full-time...
You look like Eomer from LOTR !
The setbling music. What the fuck is the internet right now.
Why not just implement nvidia VXGI?
it's bad
tbh 8 bit doesn't look bad
you still sound like you know some dangerous stuff and don't want to snitch accidentally and cause your family to get kidnapped by Russians
I swear, I am just a really anxious person while recording! 😭
Voxels feel lifeless without textures up close :(
nawwwww textures look ugly
i hate voxel,it would be great if you don't make voxel engine.
Happy April Fools!
@@GabeRundlett no,i didn't say lies.Remember,today is the day lucifer came to hell,not fool day.
oh okay, cool! here's some nice calming waves for you to relax to: ua-cam.com/video/V-_O7nl0Ii0/v-deo.htmlsi=i1kryEmC9EbS5Z89&t=13