What has changed in my Voxel Engine? | Voxels Weekend update #18

Поділитися
Вставка
  • Опубліковано 24 лют 2024
  • In this video, I discuss why I haven't posted in so long. I really struggle to find the motivation to create videos, as my main passion is definitely coding.
    The Public Codebase:
    github.com/GabeRundlett/gvox_...
    If you want to chat with other community members and me, join my Discord! (The installers can also be found here, in the releases channel)
    / discord
    My website:
    www.gaberundlett.com
    Yes, this thumbnail was voxelized and rendered with my voxel engine!
    GPU: RTX 3070 (8GB VRAM)
    CPU: AMD Ryzen 7 5800x (8 core/16 thread)
    RAM: 16GB 2667 MHz DDR4
  • Наука та технологія

КОМЕНТАРІ • 94

  • @paigemariecody
    @paigemariecody 2 місяці тому +71

    Feel free to slow down and take your time! We'll still be here!

    • @GabeRundlett
      @GabeRundlett  2 місяці тому +4

      Thanks Paige, it means a lot!

  • @DouglasDwyer
    @DouglasDwyer 2 місяці тому +29

    Nice down-to-earth video, Gabe! Your work continues to push voxel tech forward :)

    • @th3rd965
      @th3rd965 2 місяці тому +4

      Ohhh, ohh! It's the other voxel guy!!

  • @christophermorley6615
    @christophermorley6615 2 місяці тому +32

    Bro just dropped a whole catalogue of content and I'm here for it all!!! Keep up your incredible work!

    • @GabeRundlett
      @GabeRundlett  2 місяці тому +3

      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.

    • @christophermorley6615
      @christophermorley6615 2 місяці тому +3

      @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.

    • @GabeRundlett
      @GabeRundlett  2 місяці тому +1

      @@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.

    • @DeltaNovum
      @DeltaNovum 2 місяці тому

      ​@@GabeRundlettmaybe you could make a secondary side channel, to post the content you have doubts about there :).

  • @Jonaleko
    @Jonaleko Місяць тому +6

    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!

  • @AlexZillion
    @AlexZillion 12 днів тому +1

    Life is long! No need to rush to the finish line with things. Just enjoy your journey with this project!

  • @jkr9594
    @jkr9594 2 місяці тому +6

    That is some very impressive lighting!
    Especially the outside looks really nice, since the noise-artifact look a lot like fire's natural flickering.

  • @frozein
    @frozein 2 місяці тому +6

    Really impressive progress, realtime GI is no small feat haha. It's great to hear from you again!

  • @dottedboxguy
    @dottedboxguy 2 місяці тому +19

    "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 !!!

    • @GabeRundlett
      @GabeRundlett  2 місяці тому +7

      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.

    • @dottedboxguy
      @dottedboxguy 2 місяці тому +3

      @@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

    • @badumtsy
      @badumtsy 2 місяці тому +1

      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!

  • @xima1
    @xima1 2 місяці тому +5

    good to see you're back! great work on the gi and I'm also in love with that sky rendering model!

  • @jsierra88
    @jsierra88 2 місяці тому +6

    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.

  • @BagelmanSupreme
    @BagelmanSupreme 2 місяці тому +2

    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!

  • @valet_noir
    @valet_noir 2 місяці тому +2

    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 😁

  • @johnclark926
    @johnclark926 28 днів тому +2

    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.

  • @jx4172
    @jx4172 22 дні тому +1

    "I don't really have a life , all I do is code" - Subscribed because of this. love your work

  • @_rey
    @_rey 2 місяці тому +3

    Hey there!, Good job with the GI. I like how normals look here!. Btw take care! 👍

  • @AndrewBrownK
    @AndrewBrownK 28 днів тому +1

    So I’m not the only one who struggles to balance the bare essentials of life: eating, sleeping, and programming lol

  • @bluebukkitdev8069
    @bluebukkitdev8069 Місяць тому +1

    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.

  • @The14Some1
    @The14Some1 2 місяці тому +3

    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.

  • @badumtsy
    @badumtsy 2 місяці тому +1

    actually, the harsh boundaries between the voxel normals look cool imo. This gives it this nice, stylized look.

    • @GabeRundlett
      @GabeRundlett  2 місяці тому

      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.

  • @JoseRomagueraM
    @JoseRomagueraM 2 місяці тому +2

    7:08 that hits me. Happy to see this project going forward ;)

  • @ChipboardDev
    @ChipboardDev 2 місяці тому +2

    4:25 can't wait to see no man's sky type game(s) made with this engine

  • @Dorsidwarf
    @Dorsidwarf Місяць тому +1

    your lighting engine is cool!

  • @Splarkszter
    @Splarkszter Місяць тому +1

    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.

    • @GabeRundlett
      @GabeRundlett  Місяць тому

      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)

  • @kapoink835
    @kapoink835 27 днів тому +1

    You seem like a decent guy. Also reasonably entertaining. Subbed.

  • @Agenttomate1
    @Agenttomate1 Місяць тому +1

    You have an engine with very good potential and wayyy to underrated, keep up the good work!

  • @sjoerdev
    @sjoerdev 2 місяці тому +6

    "I dont have a life, all i do is code" - Gabe Rundlett 2024

  • @glichking6812
    @glichking6812 2 місяці тому +1

    Just commenting to ensure youtube I want to see more of this guy since he's great,love this content it looks amazing

  • @punpcklbw
    @punpcklbw 2 місяці тому +2

    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?

    • @GabeRundlett
      @GabeRundlett  2 місяці тому +1

      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

  • @yourdoledippersmadam6494
    @yourdoledippersmadam6494 Місяць тому +1

    the greatest youtuber of all time finally makes his return

  • @CoalBones
    @CoalBones 2 місяці тому +2

    good luck bro

  • @nathanfranck5822
    @nathanfranck5822 2 місяці тому +1

    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!

  • @Noizzed
    @Noizzed Місяць тому +4

    Bro came back from Valhalla 💀

  • @AbramDemski
    @AbramDemski Місяць тому +1

    I actually love the 8 bit normals.

  • @DrJigglebones
    @DrJigglebones 2 місяці тому +2

    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

    • @GabeRundlett
      @GabeRundlett  2 місяці тому

      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 😅

  • @capslpop
    @capslpop Місяць тому +1

    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.

    • @GabeRundlett
      @GabeRundlett  Місяць тому

      I did this already, as someone else suggested it too! ua-cam.com/video/tYplNMt9Nrg/v-deo.htmlsi=LLWKXfz4iqJhVk1W

    • @capslpop
      @capslpop Місяць тому

      Cool I did not see that one! Looks amazing!

  • @OneMonthStudio
    @OneMonthStudio 2 місяці тому +1

    Awesome stuff.

  • @wyndmill
    @wyndmill 29 днів тому +1

    this is awesome

  • @lanata64
    @lanata64 27 днів тому +1

    7:20 he just like me fr 😭😭😭

  • @alan83251
    @alan83251 2 місяці тому

    Nice! Could the voxel world be wrapped around a torus or something to make it "spherical" within the atmosphere volume?

    • @GabeRundlett
      @GabeRundlett  2 місяці тому +1

      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!

  • @nellfs
    @nellfs 2 місяці тому +3

    ❤❤❤❤❤

  • @DracoKitsu
    @DracoKitsu Місяць тому +1

    Ooh, this look nice

  • @10bokaj
    @10bokaj 2 місяці тому +2

    someone has been busy... also can you show how you did your atmospheric scattering

    • @GabeRundlett
      @GabeRundlett  2 місяці тому

      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

  • @motosuga
    @motosuga 27 днів тому +1

    when i have the money ill come find you and you will be my personal tutor. this isn’t optional.

  • @DeltaNovum
    @DeltaNovum 2 місяці тому +1

    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 😊.

    • @GabeRundlett
      @GabeRundlett  2 місяці тому +1

      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!

    • @DeltaNovum
      @DeltaNovum 2 місяці тому +1

      @@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".

    • @GabeRundlett
      @GabeRundlett  2 місяці тому +1

      @@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.

    • @DeltaNovum
      @DeltaNovum 2 місяці тому

      @@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.

    • @dottedboxguy
      @dottedboxguy Місяць тому

      @@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

  • @TheSenPie
    @TheSenPie 2 місяці тому +1

    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?

    • @GabeRundlett
      @GabeRundlett  2 місяці тому

      I really like that idea actually. I will see if I can implement it real quick and make a showcase video of it

    • @GabeRundlett
      @GabeRundlett  2 місяці тому +1

      Just tried this out. I think I like it! ua-cam.com/video/tYplNMt9Nrg/v-deo.html

    • @TheSenPie
      @TheSenPie Місяць тому

      @@GabeRundlett Yey for dithering! Looks very nice. It was so fast too. It would take me ages to implement it myself, haha.

  • @briact3691
    @briact3691 26 днів тому +1

    You look like Eomer from LOTR !

  • @logananderson3724
    @logananderson3724 2 місяці тому +1

    Pretty cool

  • @SpaceHobo42
    @SpaceHobo42 Місяць тому +1

    The setbling music. What the fuck is the internet right now.

  • @guisampaio2008
    @guisampaio2008 Місяць тому +1

    Will you implement anyyhing like distant horizon?

    • @GabeRundlett
      @GabeRundlett  Місяць тому +1

      Yes, there will be a much greater view distance

  • @yiboliang8338
    @yiboliang8338 2 місяці тому +2

    Are you working this solo? You should really open up a company for this engine.

    • @GabeRundlett
      @GabeRundlett  2 місяці тому +1

      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...

  • @Mikjaash
    @Mikjaash 2 місяці тому +1

    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.

    • @GabeRundlett
      @GabeRundlett  2 місяці тому +1

      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

    • @ecla141
      @ecla141 2 місяці тому

      Awesome work! Looking forward to seeing where this project goes in the future 👍

  • @ModernAtomX
    @ModernAtomX 2 місяці тому

    Why not just implement nvidia VXGI?

  • @user-zc5jz6bh2r
    @user-zc5jz6bh2r Місяць тому +1

    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

    • @GabeRundlett
      @GabeRundlett  Місяць тому +1

      I swear, I am just a really anxious person while recording! 😭

  • @error200http
    @error200http 2 місяці тому

    Voxels feel lifeless without textures up close :(

  • @lanchanoinguyen2914
    @lanchanoinguyen2914 27 днів тому +1

    i hate voxel,it would be great if you don't make voxel engine.

    • @GabeRundlett
      @GabeRundlett  27 днів тому

      Happy April Fools!

    • @lanchanoinguyen2914
      @lanchanoinguyen2914 27 днів тому

      @@GabeRundlett no,i didn't say lies.Remember,today is the day lucifer came to hell,not fool day.

    • @GabeRundlett
      @GabeRundlett  27 днів тому

      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