I Made a Voxel Engine

Sdílet
Vložit
  • čas přidán 10. 09. 2024

Komentáře • 171

  • @ZygerGFX
    @ZygerGFX  Před 10 měsíci +21

    Dont forget to checkout GameMaker 👉 opr.as/GM-Zyger

  • @Hewentsh
    @Hewentsh Před 10 měsíci +12

    It feels nice to see a person that is able to do these kind of things and it motivates me to try new things and don't give up. I personally subscribed to your channel, hope that you will continue to inspire me

  • @HexaflexagonFan
    @HexaflexagonFan Před 10 měsíci +168

    I feel like you are slowly morphing into jdh

    • @ZygerGFX
      @ZygerGFX  Před 10 měsíci +71

      maybe I am jdh 🤐

    • @HexaflexagonFan
      @HexaflexagonFan Před 10 měsíci +16

      @@ZygerGFX new conspiracy theory unlocked lol

    • @stickguy9109
      @stickguy9109 Před 10 měsíci

      ​@@ZygerGFX Impossible unless you use the good ol C👌 and write 186127625627252622lines of code in 2 months

    • @vakqdev
      @vakqdev Před 10 měsíci +9

      “Whats up guys, today im going to be distracting myself from the meaninglesness and eternal void of life by taking on another graphics programming challenge”
      Describes both JDH and Zyger perfectly

    • @HalloGaming
      @HalloGaming Před 10 měsíci +1

      Isn't everyone?

  • @modernmage
    @modernmage Před 10 měsíci +8

    Good job fixing your explanation of vertices and indices! I noticed you called them edges last time but have learned since then. Visible progress

  • @MAKiTHappen
    @MAKiTHappen Před 10 měsíci +15

    As a vulkan user I can relate a 100%
    ESPECIALLY to the part where after the build it took you one line to create a window
    It is extremely relatable, and I'd never spend hours prepping every single variable, allocating memory for them, cleaning them up, and checking how these values interract to make sure that none of them corrupted.
    As I mentioned I'd never do that because that'd be idiotic, so once again 100% can relate to creating a window right after the first build
    And also liked and subbed because great video

    • @godnyx117
      @godnyx117 Před 10 měsíci

      Chad Vulkan!

    • @godnyx117
      @godnyx117 Před 10 měsíci

      Doesn't the language you are using has templates?

    • @halfbakedproductions7887
      @halfbakedproductions7887 Před 10 měsíci +1

      I've heard Vulkan is horrible. That's from people who are much smarter than me, so I'm happy to believe them.

    • @godnyx117
      @godnyx117 Před 10 měsíci

      @@halfbakedproductions7887 If someone used the word "terrible" to describe Vulkan, then there are definitely NOT smarter than you.
      Vulkan is meant to be a lower level API hence, it needs more work (and from what I heard, much, much more) but it was made purely to be able to give that control and allow optimizations. So from a point of view, I guess that you can call Vulkan "terrible" in a sense that it's very more complicated and harder to learn and use than OpenGL. But this isn't the best description you could give about it, as for most people, the term "terrible" makes us think of something bad and not something hard or complicated.
      Did these "smart" people provided any reasons to call it terrible other than the ones mentioned? As I don't have personal experience with it, I may not know some things. But from what I see online, Vulkan is supposed to allow you to have more optimizations and have your 3D apps run faster, and lots of Software seem to move to it.

    • @MAKiTHappen
      @MAKiTHappen Před 10 měsíci

      Vulkan is for people who are too scared to go full openCL, but too pretentious for the OpenGL @@halfbakedproductions7887

  • @jamiecropley
    @jamiecropley Před 10 dny

    This is the best video I have seen explaining voxel engines

  • @KeldonA
    @KeldonA Před 18 dny

    There's also the voxel approach used in Delta Force (IIRC they stopped after v2) and a bunch of PC games before GPUs entered the room.

  • @FREAKBAlT
    @FREAKBAlT Před 10 měsíci +5

    I’m making a game engine in OpenGL and I started at the start of the year and you were the first person I looked to (I was making it in DirectX when I started)
    also you should make an attempt to make a graphics engine in vulkan (I'm praying for your sanity)

    • @godnyx117
      @godnyx117 Před 10 měsíci

      I think if someone wants to use 3D Graphics, Vulkan makes sense as OpenGL is abandoned (from what I heard).

    • @FREAKBAlT
      @FREAKBAlT Před 10 měsíci

      @@godnyx117 I was kind of new to graphics programming when I started making the engine so I chose a simpler graphics library. I might switch to Vulkan in the second iteration of the game engine.

    • @godnyx117
      @godnyx117 Před 10 měsíci

      @@FREAKBAlT Yeah, I understand. My comment was a bit more general as to 3D graphics. I understand that you personally wanted to use OpenGL as your first API. Good luck my friend!

    • @nikkiofthevalley
      @nikkiofthevalley Před 7 měsíci

      ​@@godnyx117OpenGL is not abandoned. It is supported by every platform except Apple's (because of course), and is still getting new updates.

  • @RobertOSheaGameDev
    @RobertOSheaGameDev Před 10 měsíci +8

    Loved the video, just want to say "acksually", the dark parts of a perlin noise map are 0, not 1. Just cause the perlin noise at a point is actually just a single value and the image is generated by setting RGB components to be that single value and all 0s is black and all 1s is white.
    Looking forward to a part 2, I saw someone in the comments mention occlusion culling but I also wanted to mention frustrum culling, using both in conjunction really cuts down on what even gets considered being sent to the GPU

  • @darkfllame
    @darkfllame Před 10 měsíci +2

    you made your all thing in c++ while i'm still struggling to make my own game engine that will use a batch renderer with texture atlas and shits. also i do it in zig ;> wich is kinda cool. anyways if you didn't know, because i didn't a week ago, but raycast are just a collision check between a line and a polygon. so good luck :)

    • @nikkiofthevalley
      @nikkiofthevalley Před 7 měsíci

      This voxel engine is way less complex than an actual game engine. It's designed to do one thing and one thing only.

  • @halfbakedproductions7887
    @halfbakedproductions7887 Před 10 měsíci +4

    C&C Tiberian Sun used voxels and it looked pretty futuristic for 1999. It was a radically different look to other C&C games, definitely enhancing the dark and foreboding mood of the game that they were going for. I wish voxels were used more often because it does look cool.
    I was also thinking occlusion culling to save on rendering cycles for things not visible to the player, but you basically covered that off.

  • @finnf2462
    @finnf2462 Před 10 měsíci +2

    Great Video but Indices are no instructions. They each act as a index for the Vertex buffer and the order of the indicies define in which way each triangle is drawn

  • @chriskleeblatt1867
    @chriskleeblatt1867 Před 9 měsíci +5

    You really like this cat sound, don't you?

    • @PixelThorn
      @PixelThorn Před 7 měsíci

      I thought they were seagulls, but yeah, way too many

    • @eg1525
      @eg1525 Před měsícem

      @@PixelThornbruh they werent seagulls ?

  • @titaniumtomato7247
    @titaniumtomato7247 Před 10 měsíci +3

    I am loving this series of low level projects

  • @m4rt_
    @m4rt_ Před 10 měsíci +3

    You should implement greedy meshes and mipmap stuff

  • @progress_games
    @progress_games Před 10 měsíci +3

    editing was top notch in this video! nice work!

  • @gruelingpine1857
    @gruelingpine1857 Před 10 měsíci +2

    You've been doing quite a lot with OpenGL lately... If it isn't too much to ask for, would you give Vulkan a try and document your process? I know it's daunting and a decent amount of code (because I'm writing one myself), but pretty please?

  • @LuigiCotocea
    @LuigiCotocea Před 4 měsíci

    6:16 Actually use a seed to generate the noise map and when the world generates as you explore it just finds out based on the seed

  • @LostSendHelp_YT
    @LostSendHelp_YT Před 10 měsíci +4

    Your lucky you don't have to trade your arm and internal organs to use the API

  • @zmeczonyprogramista
    @zmeczonyprogramista Před 10 měsíci +3

    Great work! 😉
    What's up next? Perlin worms for cave generation or maybe marching cubes for sloped terrain?

    • @HexaflexagonFan
      @HexaflexagonFan Před 10 měsíci

      the marching cubes one defeats the entire point of the project lol

    • @m4rt_
      @m4rt_ Před 10 měsíci

      well with marching cubes it will no longer be voxels

    • @web0wraith
      @web0wraith Před 10 měsíci

      @@m4rt_ That's not exactly true, it just won't look cubic any more. Technically, heightmaps are voxel terrains, just rendered differently. True voxels are simply points in 3D space, meaning technically even a point cloud is a voxel system. Plus, if you look at the early work of procworld.blogspot.com/ you will see that voxels don't even have to be uniform in shape

    • @HexaflexagonFan
      @HexaflexagonFan Před 10 měsíci

      ​​@@zmeczonyprogramistait's meant to be a VOXEL engine, if you add marching cubes, there won't be any voxels anymore

  • @xGOKOPx
    @xGOKOPx Před 10 měsíci +1

    enum with string as its base type looks cursed

    • @ZygerGFX
      @ZygerGFX  Před 10 měsíci +1

      I later ended up changing it to a char. But yes I agree 😂

  • @skioneczek
    @skioneczek Před 7 měsíci +1

    do a voxel api it's a funny task and if you di it coretly it going to be faster then triangles because instead have 8 tiangles per cube = 32bits. voxel can have a x,y,z and one bit of size its 16bits per voxel 2 times less!

  • @Icie145
    @Icie145 Před 10 měsíci +1

    Eyyy new video! And its amazing, worth to wait n keep up the good work man! :3

  • @washynator
    @washynator Před 10 měsíci +3

    Great video, just wondering why you placed your self-written voxel engine in a folder called Unity/UnityProjects :D Too hard to change the Git-folder? I get it.. Also, all great people place their projects in the F-drive!! Oh yeah, you deserved a like, I'm already subbed, sorry :(

    • @ZygerGFX
      @ZygerGFX  Před 10 měsíci +2

      Yeah I placed my git folder in the unity projects folder ages ago when working on a unity game. And I uavent been bothered to change it. Though this comment is a good reminder to do it 😂 also thanks

  • @wnt3r983
    @wnt3r983 Před 10 měsíci +1

    I think you should develop this engine and create a game based on it. Nice vid!

  • @mgames7856
    @mgames7856 Před 10 měsíci +2

    Will you move your story fps into unreal

  • @LenardB.-we1hu
    @LenardB.-we1hu Před 10 měsíci +1

    May im mistaking but a seed as it exists in minecraft would be a way to prevent a overflow of the dictonary since the chunck is calculatable and has no longer to be stored.

  • @alexmathewelt7923
    @alexmathewelt7923 Před 10 měsíci +4

    If u don't mind, I have some advice for u: instead of allocating memory for each Chunk, u can use directly the emplace_back on the vector or placement new. If you know the render distance R, u need (2R+1)² chunks in total. Now u can use the chunk out of range for the new one getting in vision. With modulo arithmetic this is easy possible (chunk.x % (2R+1)) would be the x index of a chunk at chunk.x in the chunk grid. After the same operation for y (or z), u can linearize the index into the vector and get a unique position in ram, that does not change. Also it is possible to change render distance, but the chunks have to be regenerated.
    If u want to index a specific chunk position, this is also easily possible, since it's just the linearization. Continuous memory is extremely efficient when u have to traverse it regularly...

  • @FunFindsYT
    @FunFindsYT Před 10 měsíci +1

    How much C++ do you need to learn to write a simple engine? I got some experience with C#. trying to learn c++ right now but I don't know how much to learn before I should start

  • @MonamiTech
    @MonamiTech Před 10 měsíci

    It's a good video. I wanted to make a game since I was young, but as I got older and started working, I didn't have time to do it, so I looked up a lot of videos like this and it's fun. I want to make my own game someday. Thank you for the good video.

  • @seriouslyWeird
    @seriouslyWeird Před 9 měsíci +2

    it's a common misconception that it's a bunch of cubes. it's really difficult to find a REAL voxel game :(
    (like old outcast, or blood 1 did for some assets, that had the actual voxel engine)

  • @nepmods
    @nepmods Před 10 měsíci +3

    open source your projects. so we can see and try to play around oy maybe improve too

  • @GES1985
    @GES1985 Před 10 měsíci +1

    Can you make it smooth / photo realistic?

  • @bioinvasion_
    @bioinvasion_ Před 10 měsíci +11

    I love your videos! I hope you make a part 2 :)

  • @ElZafro_
    @ElZafro_ Před 10 měsíci +3

    I would say minecraft isn't really a voxel game since the faces of the blocks are rasterized like quads.
    Now after the "akshually" moment,
    it's really impressive you condensed all the info into a 10min video, nicely done!

    • @SerBallister
      @SerBallister Před 10 měsíci

      How are voxels supposed to be drawn? You can't just feed a 3d volume texture into a GPU and tell it to draw it as cube like voxels.
      Voxels are a storage method, not a drawing method. You can draw them in several ways, polygons being one of them.
      In the 16bit and DOS era voxel landscapes were drawn using 2d rectangles, similar to billboards. There is no rule for rendering them.

  • @octagear
    @octagear Před 10 měsíci +3

    i counted 13 meows

  • @Skeffles
    @Skeffles Před 10 měsíci +1

    Brilliant! Can't wait for part 2

  • @ZachI2289
    @ZachI2289 Před 12 dny

    Please part 2!!! 🙏🙏🙏🙏

  • @GameCookDev
    @GameCookDev Před 10 měsíci +1

    Why is the background music missing

    • @ZygerGFX
      @ZygerGFX  Před 10 měsíci +1

      It's not, it may he too quiet though. My bad in that case

  • @xoxogamewolf7585
    @xoxogamewolf7585 Před 21 dnem

    1:52 its "vertices"

  • @erentr7167
    @erentr7167 Před 10 měsíci +2

    you make it seem like its easy as hell but when i try it takes weeks lol

    • @halfbakedproductions7887
      @halfbakedproductions7887 Před 10 měsíci +1

      Welcome to gamedev. I too write mountains of buggy garbage, only to find a tutorial where someone does it in like 10 lines of code and it works better.
      So annoying. Study and practice is the way forward, much like anything else.

  • @xenovy7865
    @xenovy7865 Před 4 měsíci

    this bird sound is going to make me rip my eyeballs out

  • @godnyx117
    @godnyx117 Před 10 měsíci

    You have a great humor. Keep up and have fun!

  • @george_sepetadelis
    @george_sepetadelis Před 10 měsíci +2

    Awesome 🎉

  • @Dackernator
    @Dackernator Před 10 měsíci

    Love it , hopefully you do well n this project

  • @sledgex9
    @sledgex9 Před 4 měsíci

    7:03 is not valid C++. An enum can't have "std::string" as an underlying type. Only integral types can be used (eg int, char, long etc).

  • @user-fv8uv2us9r
    @user-fv8uv2us9r Před měsícem

    Have you ever tried Raylib?

  • @nuggetweeb573
    @nuggetweeb573 Před 10 měsíci

    why one batch per chunk instead of one batch for all of the mesh? also are you going to add greedy meshing?

  • @larsmaas07
    @larsmaas07 Před 10 měsíci +1

    really inspiring

  • @untodesu
    @untodesu Před 10 měsíci

    Welcome to the voxel development hell :D

  • @caiomegaverse5590
    @caiomegaverse5590 Před 3 měsíci

    How long of C++ study is needed to learn to make this?

  • @AugustoCesar-by6eb
    @AugustoCesar-by6eb Před 8 měsíci

    estou navegando por todo tipo de experiencia e tutorial sobre criar esse tipo de sistema procedural de voxels, recentemente vi um video muito bom, talvez vode poderia adicionar ambient occlusion no shading, da um aspecto bom. ótimo video

  • @knitnatsnokprogramming
    @knitnatsnokprogramming Před 10 měsíci +1

    Great video, BUT PLEASE DONT USE THE SAME SOUND EFFECT 1K TIMES IN THE VID!!!
    no offense 👌

  • @nickdevprod3667
    @nickdevprod3667 Před 10 měsíci +2

    Remove annoying transition sound pls

  • @KozelPraiseGOELRO
    @KozelPraiseGOELRO Před 10 měsíci

    I want to do something not-so-simillar to a minecraft clone but I can't get the window. I was using SDL because I want to make it Windows-Linux compatible. I already made all the stuff the guides and the StackOverflow answers that had the same problem and still nothing.

  • @schweeeeeeeeeeeeeeee
    @schweeeeeeeeeeeeeeee Před 7 měsíci

    Vulkan next?

  • @user-ll4on9my7h
    @user-ll4on9my7h Před 10 měsíci

    "Developers" in 2023 essentially Frankenstein things together js.

  • @DonCrafts1
    @DonCrafts1 Před 10 měsíci

    Great video!

  • @MonsterCreations662
    @MonsterCreations662 Před 10 měsíci

    Awesome as Always!

  • @Punch_Card
    @Punch_Card Před 10 měsíci

    underrated youtuber

  • @kennethchao1290
    @kennethchao1290 Před 7 měsíci

    great work!

  • @JackPS9
    @JackPS9 Před 10 měsíci +5

    If you want to get caves working, you should look into Perlin Worms, not sure if you added them in the stuff not shown or not but figured I'd mention it.

  • @RadleyBO0
    @RadleyBO0 Před 10 měsíci

    This was a good video, but I’m afraid I’m gonna need part 2 ASAP. Lol

  • @kalpolproductions8558
    @kalpolproductions8558 Před 10 měsíci +1

    If i got a dollar for every time i saw a cat meme or heard "Meow". Id be pretty rich 😂.
    Jokes aside ive been wanting to make a render engine or a PS1-2 style graphics engine to make my games but never knew where to start.

  • @HalloGaming
    @HalloGaming Před 10 měsíci

    You should make a smooth voxel engine

  • @deleted_handle
    @deleted_handle Před 10 měsíci

    Yayyyy i love voxel engines.

  • @Cymock1
    @Cymock1 Před 10 měsíci

    What's with the cat sound?

  • @dvshkbm
    @dvshkbm Před 10 měsíci

    i love yuor videos please dont stop x

  • @dahim1172
    @dahim1172 Před 10 měsíci

    i want a part 2!!!!!

  • @eosscripting2922
    @eosscripting2922 Před 10 měsíci

    game dev vlogger publish sponsor a game engine:
    proceed to make her own game engine*

  • @sepanodarbandi
    @sepanodarbandi Před 10 měsíci +2

    Which one did you enjoyed the most to work with ? OpenGL or Direct3D ?

    • @FREAKBAlT
      @FREAKBAlT Před 10 měsíci

      I couldn’t even figure out how to initialise directx. I’m all for GL

  • @Axorax
    @Axorax Před 10 měsíci

    looks cool

  • @gerardniks3636
    @gerardniks3636 Před 10 měsíci

    I have been working on a voxel engine in the browser for some time, mine isn't this fast tho

  • @pallascomrade
    @pallascomrade Před 10 měsíci +4

    But it's not voxel engine. Voxel is 3d equivalent for pixel. It's not cube, which made from polygons. Minecraft is just cubic art style game, but it dont use anything like voxel rendering

  • @Photon852
    @Photon852 Před 10 měsíci

    are u planing on releasing the source code?

  • @mezohx
    @mezohx Před 10 měsíci

    How about making it in the Lobtser language? 🤔

  • @debugdiver
    @debugdiver Před 10 měsíci

    Never heard of you. Watched this video. I got a thing for voxels n shit. I like what I'm hearing. Watch some more. Dank memes, blender memes. Exactly what I'm looking for. 👍

  • @HexaflexagonFan
    @HexaflexagonFan Před 10 měsíci

    I am the 3 people on earth who use scratch and this is very impressive and inspiring!!

  • @Shad_1488
    @Shad_1488 Před 5 měsíci

    when realysing this game engine for $30/m?

  • @BruhMoment-yg6jv
    @BruhMoment-yg6jv Před 10 měsíci

    Let's hope she knows about std::async

  • @llap
    @llap Před 9 měsíci +1

    yoyoyo, whats the deal?

  • @shidoengie9503
    @shidoengie9503 Před 10 měsíci

    Try rist please

  • @ham4063
    @ham4063 Před 4 měsíci

    Out of interest, why do you use glad as a pose to glew?

  • @DalpakaNBA
    @DalpakaNBA Před 4 měsíci

    why is your project in the unity projects folder are you hiding smth from us

    • @ZygerGFX
      @ZygerGFX  Před 4 měsíci

      bad file management that's all. I made a project there once by mistake and linked it with git and ever since i haven't bothered moving it :))

    • @DalpakaNBA
      @DalpakaNBA Před 3 měsíci

      @@ZygerGFX same bruh😭🙏

  • @Zicrus
    @Zicrus Před 8 měsíci

    Very cool video, but wow that cat noise (or whatever it is) got repetitive and was kinda annoying

  • @jasonwilliams8730
    @jasonwilliams8730 Před 10 měsíci

    👍

  • @gr-source
    @gr-source Před 10 měsíci

    Amos seus videos ❤🇧🇷

  • @koki10190
    @koki10190 Před 10 měsíci

    make a graphics card driver.

  • @alignedgames
    @alignedgames Před 10 měsíci

    Do people play many Voxel based games?

    • @ZygerGFX
      @ZygerGFX  Před 10 měsíci +1

      the only ones I've really played is ofcourse Minecraft and the Teardown

    • @alignedgames
      @alignedgames Před 10 měsíci

      @@ZygerGFX So the dev is just for fun?

  • @ZooHair
    @ZooHair Před 10 měsíci

    Voxelitious

  • @pyrobutt9952
    @pyrobutt9952 Před 10 měsíci

    celluwar

  • @roxigo5764
    @roxigo5764 Před 10 měsíci

    that sound effect is driving me mad

  • @Vilebreken
    @Vilebreken Před 10 měsíci

    wow good video

  • @mariovelez578
    @mariovelez578 Před 10 měsíci +2

    OpenGL is not an API, it's a library
    also 6:03 you got it backwards

    • @ZygerGFX
      @ZygerGFX  Před 10 měsíci +2

      But it is an API. It is also a graphics library. And yes I now realised that it's backwards 😅

  • @pedrogabrielnogueira1068
    @pedrogabrielnogueira1068 Před 10 měsíci

    bruh. Your github please :v
    Edit: Nice video btw

  • @codyhubert6178
    @codyhubert6178 Před 7 měsíci

    I think your editing is great, but I really an not stand the sound effects. I don't mean to be rude, but the cat sound effect every ~30 seconds, and the stone grinding constantly are overused.
    Besides that it's a great video

  • @David92031
    @David92031 Před 10 měsíci

    I feel like you really need to be a genius to do all of this that easily

  • @mostafashaker8279
    @mostafashaker8279 Před 10 měsíci

    I am jealous.

  • @hyprobablyausto
    @hyprobablyausto Před 10 měsíci

    LIAARRRRR...U used directX in ur last video

    • @ZygerGFX
      @ZygerGFX  Před 10 měsíci

      Wrong. I used opengl: czcams.com/video/XfKFZ46mDXI/video.html
      That's my last video 😅

  • @aliega-studios
    @aliega-studios Před 8 měsíci

    make a a new part