6 MONTHS WRITING A GAME ENGINE IN C++ | Devlog #1

Поделиться
HTML-код
  • Опубликовано: 16 сен 2024

Комментарии • 138

  • @Goodgis
    @Goodgis 3 года назад +136

    Woah! I was trippin' at the end when you kept zooming closer to the corner. Haha This looks sweet!

    • @voxelbee
      @voxelbee  3 года назад +10

      Thanks man. It is quite trippy zooming in so far haha

    • @olivervoss3196
      @olivervoss3196 3 года назад +2

      Looks like mandelbrot zoom

  • @marsclose7985
    @marsclose7985 3 года назад +80

    That is an amazing start from scratch in six months. I'm really excited to see what happens over the next few months.

  • @dorianmajerowski7895
    @dorianmajerowski7895 3 года назад +28

    you got yourself a new fan buddy, what you've done in 6 months is really impressive

    • @voxelbee
      @voxelbee  3 года назад +7

      Thanks so much! :)

  • @kanikabhatia9865
    @kanikabhatia9865 3 года назад +11

    You deserve much more than what you have got. Keep it up, I am with you.

  • @hectorragofi3640
    @hectorragofi3640 3 года назад +15

    That looks amazing my dude !

  • @timokha2462
    @timokha2462 3 года назад +10

    This is really cool! There aren't that many Voxel engines, but this one looks very promising. Keep working on it!

  • @pastor1114
    @pastor1114 3 года назад +5

    I am exited to see how this goes

  • @dutchplayermc
    @dutchplayermc 3 года назад +5

    The way you explain this kind of things that are super complicated, is f. amazing... I don't know how did I get here, but I'm sure I'm going to stay lmao

  • @ja100o
    @ja100o 3 года назад +4

    This is plain awesome!
    The level of detail at 7:32 made my chin drop💪

  • @LuchoGamingLB
    @LuchoGamingLB 3 года назад +2

    Dude you're a legend, keep up the amazing work and passion!

  • @jimmykrochmalska3501
    @jimmykrochmalska3501 7 месяцев назад

    Dudes so good at making voxel rendering engines he even got one on his wall

  • @Skeffles
    @Skeffles 3 года назад +7

    This looks great. I can't wait to see what it's like with ray tracing.

  • @stevesprogramming5941
    @stevesprogramming5941 3 года назад +2

    Man !!!!!!!.. this is really nice , am so happy for you , really excited to you watch in this journey
    Really NYC man

    • @voxelbee
      @voxelbee  3 года назад

      Thank you so much bro. Glad you like it :)

  • @publicalias8172
    @publicalias8172 2 года назад +1

    Pure talent, thanks for sharing your progress I love this stuff.

  • @theburgerbox9576
    @theburgerbox9576 3 года назад

    This is unbelievable!
    The fact that you were able to build this all from scratch in just 6 months is amazing!
    You are so talented

  • @SpencerYonce
    @SpencerYonce Год назад

    DUDE THIS IS INSANE!!! You are extremely talented man, and have given me more motivation to keep pushing on with my own game engine

  • @Fidelity_Investments
    @Fidelity_Investments 3 года назад +1

    3 seconds and you hit me with a jarvis johnson

  • @nonnullptrhuman504
    @nonnullptrhuman504 3 года назад +1

    This is awesome!

  • @t3v727
    @t3v727 3 года назад

    It's always nice to see other people making devlogs :)
    When it's a sweet and nice working voxel engine then it's even way better.
    Looks pretty neat, well done :)

  • @catapillie
    @catapillie 3 года назад +1

    such a great start! i got this video recommended by youtube and i like it!

  • @good4710
    @good4710 3 года назад

    I was recommended this, then I ended up watching the entire dev logs. Keep doing what your doing!!

  • @oblivion_2852
    @oblivion_2852 3 года назад +2

    Really interesting video. I've just been struggling to learn opengl shaders and whatnot and you're out here writing a voxel rendering engine. Great work. I'm 21 just graduated computer science and feel like I have a lot to learn

    • @voxelbee
      @voxelbee  3 года назад +1

      Thanks! The shaders can be a struggle for sure. I'm in my second year of computer science so i'm excited to see how it goes. Good luck with your projects!

  • @demetriuslewis6750
    @demetriuslewis6750 3 года назад +1

    you've inspired me to want to learn Vulkan. Well done my dude!

  • @yvindharboe7048
    @yvindharboe7048 3 года назад +7

    I'm so used to seeing all these 3d games and applications. Since there's so much of it and I take it as granted, I'm thinking: how hard can it be? Kinda like watching soccer on TV :-)

  • @rocknroll113
    @rocknroll113 3 года назад +1

    Got those voxel led wall lights rendered well.
    Great vid

  • @sjoerdev
    @sjoerdev 3 года назад +1

    This is absolutely incredible!

  • @Adrianensis
    @Adrianensis 3 года назад +4

    The job you're doing is awesome! ;D I'm also trying to make some devlogs in my channel, about my C++ 2D Game Engine! Keep up that great job, I'm glad to learn more about the game engine!

  • @badpotato
    @badpotato 3 года назад

    oh.. it is really nice to see a lot of programmers sharing their work on youtube. :)

  • @pathfinder750
    @pathfinder750 3 года назад

    Ahh it's nice to sub to someone who hasn't blown up yet. It feels like I'm along for the ride

  • @EMB3D
    @EMB3D 3 года назад +1

    awesome, great choice of tools

  • @melkenhoning158
    @melkenhoning158 3 года назад +1

    This is already hard enough to pull off in other graphics APIs but Vulkan? Impressive dude!

    • @voxelbee
      @voxelbee  3 года назад

      Thanks man! You should be able to do the same thing in DirectX or Metal. Not sure about OpenGL though.

  • @liskov7983
    @liskov7983 3 года назад +4

    So amazing! How did you start working on this project? I mean, you somehow decided to use Vulkan and you knew about different rendering techniques and which one to use for the project. And you mentioned that you started from scratch and it took 6 months. It's really impressive, could you give me some advice on how to start? :D

    • @voxelbee
      @voxelbee  3 года назад +2

      Thanks! Well I started by reading the Vulkan tutorial at: vulkan-tutorial.com/
      It took me a while to understand what was going on though!
      Also join the Discord server for some other resources: discord.gg/uV6KwfYmwn

  • @woxelgamedev8782
    @woxelgamedev8782 3 года назад +1

    Very Cool!

  • @mathusuthanvenkatesan
    @mathusuthanvenkatesan 3 года назад +1

    a pretty difficult feat you have achieved. good work sir.

  • @ThankYouESM
    @ThankYouESM 3 года назад +1

    Now subscribed... even though my OCD very kicked in a few times, especially with the handwriting.

  • @oglothenerd
    @oglothenerd Год назад +1

    I am making a voxel game in Rust with the Bevy engine! It has a really nice ECS system.

  • @vlandemart
    @vlandemart 3 года назад +1

    Thats pretty neat!

  • @Nuvhandra
    @Nuvhandra 3 года назад +1

    Great job, looks very good. Gotta get into Vulkan, seams very cool API

  • @saidfarahani8207
    @saidfarahani8207 3 года назад +13

    Wow that looks amazing.
    could you please link the most usefull resources that helped you create this ?

    • @voxelbee
      @voxelbee  3 года назад +6

      Thank you :) this website is very helpful to learn Vulkan to render stuff: vulkan-tutorial.com/
      This was very helpful too for ray casting information: three-eyed-games.com/2018/05/03/gpu-ray-tracing-in-unity-part-1/
      And just looking at what other people have done search on Google voxel octree renderer useful stuff there!

  • @BilionairScientist
    @BilionairScientist 3 года назад

    looks awesome!

  • @OversizedPringleToe
    @OversizedPringleToe 2 года назад +1

    Quite the effort. 🤓

  • @ausilliam
    @ausilliam 3 года назад

    Awesome work!

  • @Taggua
    @Taggua 3 года назад

    Awesome work 👍

  • @zblurth855
    @zblurth855 3 года назад

    well i will follow this dev blog with a lot of attention,

  • @chetana9802
    @chetana9802 3 года назад

    Awesome bhai awesome

  • @olikat9774
    @olikat9774 3 года назад +2

    damn this is pretty cool, reminds me of teardown and early sapiens devlogs (by Dave Frampton)

    • @voxelbee
      @voxelbee  3 года назад

      Thanks so much. I really like teardown (physics will be coming!) And sapiens devlogs are really cool.

  • @rosva4331
    @rosva4331 3 года назад

    You're amazing.

  • @Signforfame
    @Signforfame 3 года назад +4

    Just wondering were can I find the footage of AC without textures, looks mesmerizing

    • @voxelbee
      @voxelbee  3 года назад +1

      This guy has some good videos: ruclips.net/video/tmdzkRMsK5U/видео.html

  • @pollovaldes
    @pollovaldes 3 года назад +11

    How can you do this, I struggle with just creating a window LMAO :/, Btw, great result

    • @voxelbee
      @voxelbee  3 года назад +4

      Thanks! I know the struggle took me a while too lol

  • @yvindharboe7048
    @yvindharboe7048 3 года назад +5

    Our workstations at the office now has 64 cores and 128 threads. So with single threading, you're using

    • @voxelbee
      @voxelbee  3 года назад

      I'm designing the core of the engine to be able to be entirely multithreaded because then I could uses computers like that. My next update should hopefully have that all working :)

    • @yvindharboe7048
      @yvindharboe7048 3 года назад

      @@voxelbee Having never programmed a GPU, I was not clear on the distinction between C++ and GPU programming. Is this written in GPU programming(shaders?) or C++ or both? How much of the time is executed by CPUs vs. GPUs? Also, I don't know the difference between multithreading/multicore programming on GPUs vs. multithreaded/multicore CPUs.

    • @voxelbee
      @voxelbee  3 года назад +1

      @@yvindharboe7048 Yeahh so all of the rendering is done on the GPU using shaders this takes about half of the current frame time or less. Then the CPU is generating the scene and sending that to the GPU this could be done in multiple threads speeding up the scene generation time and therefore the FPS.

    • @yvindharboe7048
      @yvindharboe7048 3 года назад

      @@voxelbee I see. en.wikipedia.org/wiki/Amdahl%27s_law comes to mind :-)

  • @mrgps4393
    @mrgps4393 3 года назад

    better that an addictive gps map survey

  • @lankymoose1831
    @lankymoose1831 3 года назад +2

    Awesome video, engine looks sick. A little less hand stuff when you're doing your intro please lol. +1 sub :D

    • @voxelbee
      @voxelbee  3 года назад +1

      Glad you like it, and yeah I'll cut that down a little haha. Thanks for the tips!

  • @jatinoham
    @jatinoham 3 года назад +2

    Great ! so when you will send us the link to download it

    • @voxelbee
      @voxelbee  3 года назад

      I'm not planning to release a download anytime soon... But maybe something in a few months!

  • @jacobthomas4020
    @jacobthomas4020 3 года назад

    i love this! wow! is your multithread support going to support the max the user has or a fixed amount

  • @hamad.learns
    @hamad.learns 3 года назад

    dig those speakers 😉!

  • @chechitomata
    @chechitomata 3 года назад +1

    eres un genio

  • @noapoleon_
    @noapoleon_ 3 года назад +4

    Didn't watch the whole video yet (I'm at 2:46) but damn I never heard about this technique ray casting. So does it mean that it only computes the first object that hits the ray and discard anything behind that first object?

    • @voxelbee
      @voxelbee  3 года назад +3

      It's really good for fast rendering. Yeah it discards anything behind it and only uses the first object for the color.

    • @noapoleon_
      @noapoleon_ 3 года назад +2

      @@voxelbee Ok that explains how you can have so many obhects in your scene then xD I was confused

    • @Heknon
      @Heknon 3 года назад

      @@noapoleon_ you'd probably use 3d perlin noise for procedural generation, right 🤔

    • @noapoleon_
      @noapoleon_ 3 года назад

      @@Heknon mmmh i dont think this is perlin noise. it looks more like a fractal to me so probably some equation

    • @Heknon
      @Heknon 3 года назад

      @@noapoleon_ nono I'm talking in general since he is planning on creating a voxel game
      Even though this guy made some crazy stuff so if he doesn't use perrin noise for procgen I just wouldn't be surprised

  • @4Bakers
    @4Bakers 3 года назад +1

    LOD Sizes are descending if I'm not mistaken
    LOD0 is the highest res, and each number up us lower in detail

    • @voxelbee
      @voxelbee  3 года назад

      Yeahh you are actually correct made a mistake in the video there. Didn't notice that.

  • @federicoalbesa3748
    @federicoalbesa3748 3 года назад

    Q maestro!!!

  • @sneakyfatcat
    @sneakyfatcat 3 года назад +1

    Have you been doing this on top of work in your free time or do you work on this full time? Also how do you handle the cubes, are they just distance functions or polys? Good stuff

    • @voxelbee
      @voxelbee  3 года назад

      I'm currently studying at University so I work on this in my free time! The cubes are ray-casted in an octree!

    • @sneakyfatcat
      @sneakyfatcat 3 года назад

      @@voxelbee Very nice! I'll need to catch up on your other dev log videos, I'm in the same boat as you. Finishing up school rn and started a simple engine a while back but I'm about to scrap it and start over.

  • @Acetix
    @Acetix 3 года назад +1

    That's so cool! I want to make a voxel game on my own someday too. Do you have some sources that helped you in the process or some starting points?

    • @voxelbee
      @voxelbee  3 года назад

      Well if your interested in working with Vulkan I would recommend vulkan-tutorial.com/ as they have lots of information there! I would also recommend looking at other voxel projects people are making too cause there's lots of inspiration out there.

    • @Acetix
      @Acetix 3 года назад

      @@voxelbee Thanks

  • @loufi7175
    @loufi7175 3 года назад +1

    Nice

  • @primalaspid7197
    @primalaspid7197 3 года назад

    amazing 👌👌👌

  • @geekonarium
    @geekonarium 3 года назад +1

    If you divide all voxels into groups, couldn't raytracing skip certain regions if they are empty? Maybe 10 times 10 voxels in a group. And then you could divide these groups into larger groups again? These groups has a flag if they are empty or not. Also light rays could overjump empty cells. Would this bring any performence benefits? Just guessing. Sorry for the noob question :-)

    • @voxelbee
      @voxelbee  3 года назад +1

      Currently it is implemented using octree ray casting so this does mean the rays skip over empty space very quickly! Very similar to what you said about groups of voxels!

  • @projecteidolononlinenft1988
    @projecteidolononlinenft1988 2 года назад

    hey voxel bee! love the engine, I also was considering creating a voxel engine for a "minecraft"-like survival game. I have no idea where to learn vulkan, but I'd love to try it out? do you know any good learning resources for vulkan??

    • @zaneg
      @zaneg 2 года назад

      You could check out “The Churno” RUclips channel. He should have some good videos on Vulcan.

  • @TagetesAlkesta
    @TagetesAlkesta 3 года назад

    Have you ever heard of ray marching? Combining that with a voxel engine could be very interesting.

  • @SkylerLinux
    @SkylerLinux 3 года назад +1

    Have you thought about negative LOD, or do you have to decide what is the biggest/furthest away you want, and then go smaller?

    • @voxelbee
      @voxelbee  3 года назад

      The current system uses an LOD!

  • @soviet-doge3370
    @soviet-doge3370 3 года назад

    you deserve more subs lmao,
    i subbed too

  • @breadpebbles2603
    @breadpebbles2603 3 года назад +1

    I was wondering what platform your on(windows Linux Mac) and what text editor/IDE do you use?

    • @voxelbee
      @voxelbee  3 года назад

      I currently develop on Mac using Xcode

  • @hectorragofi3640
    @hectorragofi3640 3 года назад +2

    Also are you going to make this engine available to everyone in the future like unreal?

    • @voxelbee
      @voxelbee  3 года назад

      I haven't fully decided yet but if it goes well that probably will happen.

  • @santiagobarbosa615
    @santiagobarbosa615 3 года назад +1

    Hey! I'm really interested in trying to make something like this on my own. What resources did you use to learn about voxels and vulkan?

    • @voxelbee
      @voxelbee  3 года назад

      Hey! I would start trying to learn vulkan with vulkan-tutorial.com/ and I mostly looked up on google voxel traversal papers and read about them

  • @nutme
    @nutme 3 года назад +1

    You card needs to support the VK_KHR_ray_query extension to do this didn't? T_T

    • @voxelbee
      @voxelbee  3 года назад +1

      Well I've written my own custom ray casting so no VK_KHR_ray_query required

  • @watercat1248
    @watercat1248 3 года назад

    Nice jobe but what you have planned to make for these engine?

  • @aSameplayer
    @aSameplayer 3 года назад

    Ich liebe dich!

  • @finnvictorsson
    @finnvictorsson 3 года назад

    It's xqc PagMan

  • @negrastormentas2865
    @negrastormentas2865 3 года назад +1

    Have you considered using compute shaders?

    • @voxelbee
      @voxelbee  3 года назад +2

      I have this is currently all being done in compute shaders!

    • @negrastormentas2865
      @negrastormentas2865 3 года назад +1

      @@voxelbee Sweet. Do you know if it would work as well with opengl compute shaders ?

    • @voxelbee
      @voxelbee  3 года назад +1

      @@negrastormentas2865 The rendering would but the systems around like loading voxels ect. might be quite a bit slower. I'm not sure how much slower though.

  • @ABHISHEKSINGH-nv1se
    @ABHISHEKSINGH-nv1se 2 года назад

    Did you had any graphics experience before starting this vulkan game engine???

  • @vitorbarrosaschama2277
    @vitorbarrosaschama2277 3 года назад +1

    im making a c++ game engine too, but not in vulkan! lol, thats hard.

    • @voxelbee
      @voxelbee  3 года назад

      Good luck! Yeah it is quite a challenge! lol

  • @TheSgrizli
    @TheSgrizli 3 года назад +1

    Did you know how to code before this or did you also learn it all in 6 months?

    • @voxelbee
      @voxelbee  3 года назад

      I've been coding for around 5-6 years now. But learnt most of Vulkan I know in this 6 months...

  • @Psychx_
    @Psychx_ 3 года назад +1

    When you say you freshly learned C++ and Vulkan, which programming knowledge did you have before?

    • @voxelbee
      @voxelbee  3 года назад

      I had some knowledge with C++ but not much mostly with Java!

    • @Psychx_
      @Psychx_ 3 года назад

      @@voxelbee That's quite the jump then. Going from managed high-level programming to lowlevel graphics programming and doing the memory management yourself is awesome. Can you recommend any literature?

  • @dottedboxguy
    @dottedboxguy 3 года назад

    why isn't anyone marching their rays :( it's good too

  • @MarkusBurrer
    @MarkusBurrer 3 года назад

    You should have use Rust instead of C++. This would make multithreading much easier

  • @MehmetSarkd
    @MehmetSarkd 3 года назад +1

    Check John Lin bro. He can inspire you.

    • @voxelbee
      @voxelbee  3 года назад

      Yeah I really like what he's working on!

  • @linovermac
    @linovermac 3 года назад +1

    *_Please, Source Code github link_*

    • @voxelbee
      @voxelbee  3 года назад +2

      I'm not planning to release the code anytime soon maybe when the project has progressed further. Thanks though :)

    • @linovermac
      @linovermac 3 года назад

      @@voxelbee Thanks:)

  • @Phiwipuss
    @Phiwipuss 3 года назад

    British

  • @madscience6283
    @madscience6283 3 года назад

    Scripts, buddy, scripts

  • @bigboibob2568
    @bigboibob2568 3 года назад

    Who disliked this video??