Пікірлер

  • @tirkentube
    @tirkentube8 сағат бұрын

    so what if instead of running at 12,000 fps, you just increased the amount of voxels and decreased their size such that they became inperceptively small, basically making the game look as though it's not even a voxel game? combined with the realistic lighting, this could become an AMAZING way of doing games. PLEASE try this. so, in other words, keep all the optimizations, but add more "quality" or "realism" (make the voxels smaller), so that the game again runs at around 100fps. by the time you get back down to 100fps, the game should look like real life.

  • @dannyyvrr
    @dannyyvrr12 сағат бұрын

    discord really needa add this i keep freezing while scrolling in the channel list or in a channel

  • @yurismirnov774
    @yurismirnov77415 сағат бұрын

    Why a list? Doesn't triple buffering solve this definitively? If the transfers can't consume mesh frames fast enough, they should get overwritten, no? It's not like you can ever catch up and make use of them all.

  • @castlecodersltd
    @castlecodersltd17 сағат бұрын

    Thanks for this, I'm really enjoying watching your videos. When I come to optimizing I'll be circling back to make sure I've covered the things your have. All the best 🙂

  • @yurismirnov774
    @yurismirnov77418 сағат бұрын

    I feel like overshooting the player position when calculating the sound would make it better. (render from the position/orientation where the player would be ~50ms in the future if they kept moving/rotating at the smoothed rate of the last 50ms) Butt what do I know 🐴

  • @kuyakim20
    @kuyakim20Күн бұрын

    Please show this to Koei-Tecmo Games for Samurai Warriors Series.

  • @Alron112
    @Alron112Күн бұрын

    That's definitely nice for a homebrew engine and simple levels but doing that on a AAA title it is going to be rather impossible.

  • @nasso_
    @nasso_Күн бұрын

    u can compute normals too but idk if the trade off is worth it

  • @sideswipe147
    @sideswipe1472 күн бұрын

    Probably a wonderful video. Now if only I knew a bit more about coding....

  • @ZeroCTRLX
    @ZeroCTRLX2 күн бұрын

    if think this is a waste of resources still... a better solution would be... having one cook, one frying pan, and each client serving the previous client burger... something like in human centipede. This solution definitely has some drawbacks... ofc. like, the first client, will sometimes need to wait for the cook, but others are serving a continuous stream of... burgers..., because first one acts like a buffer

  • @LazerDon271
    @LazerDon2712 күн бұрын

    My PC doesn't freeze I have a $9000 dollar computer.

  • @paytonestrada7746
    @paytonestrada77462 күн бұрын

    What a stupid clickbait video.

  • @unknownhuman2012
    @unknownhuman20123 күн бұрын

    Real men use there own rendering engines 😎

  • @official_mosfet
    @official_mosfet3 күн бұрын

    Quick question, can't you make so each time a thread mutates a value in memory it will run a function inside of other threads that checks if that value is in the cache and then if true it just updates?

  • @rasberiii
    @rasberiii3 күн бұрын

    i keep getting recommended your videos but your thumbnails are so fucking vague i never clicked on one out of spite, after seeing this thumbnail i clicked just to leave this comment saying i hate your thumbnaile style. im disliking and not watching the video more than the second it took for me to pause it

  • @lopodyr
    @lopodyr3 күн бұрын

    Lots of people seem to be mad at the fact that these optimizations are not groundbreaking and already exist in some engines. But as a game designer making solo projects on several engines, I'm super thankful for the amazing explanations of processes I would otherwise be unaware of. I love to see how the technologies we used are built from thousands of smart decisions like these. Also, good job and good luck on your engine project :D

  • @Vercidium
    @Vercidium3 күн бұрын

    @@lopodyr thank you for the kind words, I’m glad this video has helped!

  • @ErezR
    @ErezR4 күн бұрын

    Yes but can it run Crysis?

  • @yudhaxn1195
    @yudhaxn11954 күн бұрын

    nah man, optimised games are bad news for graphic cards/cpu manufacturers. instead, they let it unoptimised so the consumer would always upgrade their rig everytime they need to

  • @aaa_bini3005
    @aaa_bini30054 күн бұрын

    broo i did not understand anything but this looks amazing - u need to have a smart brain to be a programmer

  • @Vercidium
    @Vercidium4 күн бұрын

    @@aaa_bini3005 haha thank you

  • @natebruh_1704
    @natebruh_17044 күн бұрын

    You can change the double triangles for each face into a single triangle my discarding pixels that go over the midpoint of the hypotenuse x and y

  • @MrFalindir
    @MrFalindir4 күн бұрын

    I love you

  • @1InVader1
    @1InVader14 күн бұрын

    5:25 Starting a new strip every 4 vertices would just re-introduce the problem you were trying to fix in the first place (duplicate vertices), game in a new strip you'd have to define the first two vertices again.

  • @ilanlee3025
    @ilanlee30255 күн бұрын

    I wish I knew coding and didnt have ADHD, this explanation seems amazing.

  • @mouad609
    @mouad6095 күн бұрын

    Hi, I really like your content, but there are many things I don't understand such as shaders and other. Are there any resources you'd like to recommned for someone wanting to learn computer graphics ?

  • @Vercidium
    @Vercidium5 күн бұрын

    @@mouad609 hey thank you, I recommend learnopengl.com, it taught me nearly everything I know about OpenGL and 3D rendering

  • @ramiel555
    @ramiel5555 күн бұрын

    every game dev should be required to watch every optimization video you have, it's crazy how bad some games are about this.

  • @romanzhu
    @romanzhu5 күн бұрын

    Sounds great, in other comments you stated that you control lowpass and reverb filters based on raycasted data. But I can't understand how you make it feel like the sound is coming from a hole. Do you change the actual position from which sound is emitted based on the raycasts also? How do you get the directionality of the sound with this system? And do you still emit rays from the listener to sources? From every ray hit you try to check if source is unobstructed otherwise cast reflected ray?

  • @JacekGodek
    @JacekGodek6 күн бұрын

    so this is like a deterministic? you know what will be the future meshes? or you're just ok with the whole thing being smooth but lagging 10ms for some mesh buffer?

  • @codeChuck
    @codeChuck6 күн бұрын

    The animations are hilarious :D Those little hands of a video card :)

  • @mArmelade_69
    @mArmelade_696 күн бұрын

    Mojang hire this guy please

  • @swordguy8
    @swordguy86 күн бұрын

    I almost understood this, but I don't eat meat, so I'm a little hazy on the details.

  • @UltiemeHack
    @UltiemeHack6 күн бұрын

    This blew my mind. Very informative. Thank you!

  • @FrottyZaoldyeck
    @FrottyZaoldyeck7 күн бұрын

    Unlike apparently most viewers, I found the weird analogies just to be awful.

  • @afterhours8373
    @afterhours83737 күн бұрын

    This is such an amazing video! I have a question though. In section 2 of the optimization ( 2:50 ) , you say that with 5 bits you can only store 31 values. Is there a reason you aren't including zero, because then it would be 32 numbers in the 5 bits and you could fit all the directional data in only 5 bits per axis, saving some space?

  • @Vercidium
    @Vercidium7 күн бұрын

    @@afterhours8373 thank you! With 5 bits you can store numbers up to 31, but since the mesh is 32 voxels wide, we need to store numbers up to 32 (0 to 32 inclusive) This means we need to store 33 unique numbers, so we need 6 bits This is solved later on in the video when it switches to instanced rendering

  • @afterhours8373
    @afterhours83736 күн бұрын

    @@Vercidium ahhh I see, that makes alot of sense, thank you! I can't wait for more of your vids!

  • @LeftoverAtoms
    @LeftoverAtoms7 күн бұрын

    Instead of sinking, why can't you omit vertices that overlap with higher detailed meshes?

  • @nascasho
    @nascasho7 күн бұрын

    My brain is not BRAIN BUT BRIAN

  • @proxima.main.account
    @proxima.main.account7 күн бұрын

    Opengl refuses to render beyond 12,000 fps in my rtx 3060 with 2 triangles :(

  • @x-ani4061
    @x-ani40618 күн бұрын

    I understans

  • @enderbo
    @enderbo8 күн бұрын

    he's just making sure the game can run on a sega saturn

  • @psychonautone
    @psychonautone8 күн бұрын

    Please do this for project zomboid..

  • @sin5946
    @sin59468 күн бұрын

    90% of the developers I worked with never did any optimisatons. Personally I think this is the most enjoyable part of the job, because these fine details what really make a difference. That's also why, when I see someone else who also cares about the details, I instantly have some baseline respect for them.

  • @fyrestorme
    @fyrestorme8 күн бұрын

    at 3:34 can't you apply the same logic from the first optimization to the normal vectors? only store vectors for faces that are exposed?

  • @fyrestorme
    @fyrestorme8 күн бұрын

    if you do voxel deformation/destruction in the engine/game you're going to be exposing a lot more sides that aren't initially being rendered so whenever that happens your performance will tank. any suggestions on how to handle that?

  • @bilgehan2778
    @bilgehan27788 күн бұрын

    Oh wow, this sounds amazing! I've been looking into building a similar ray-traced audio engine but mine doesn't sound anything like this lol. I'm curious about how you worked around OpenAL's max sound source limitation. Do you have any guides, or did you follow any guides on the basic rendering and calculation system? Or do you have any recommendations on what to look at to build something similar to your audio engine?

  • @pirate135246
    @pirate1352469 күн бұрын

    linear algebra goes brrrrrr

  • @NeoVei
    @NeoVei9 күн бұрын

    BeamNG needs this but a LOD that isn't pop ins

  • @JohnSmith-mf3dh
    @JohnSmith-mf3dh9 күн бұрын

    So, you did what was done on Wolfenstein 3D, draw only what you see but on 3D... Cool!

  • @misteragb7558
    @misteragb75589 күн бұрын

    Can you explain how you make these clean af animations and graphics in your videos?

  • @Vercidium
    @Vercidium9 күн бұрын

    I create them in my engine and screen record them, I’m glad you like them! The 3D visualisations are done with OpenGL and the 2D animations with SkiaSharp and RichTextKit

  • @misteragb7558
    @misteragb75589 күн бұрын

    @@Vercidium honestly one of the best looking video I've ever seen, thanks!

  • @Vercidium
    @Vercidium9 күн бұрын

    @@misteragb7558 thanks so much!

  • @xinfinity4756
    @xinfinity47569 күн бұрын

    3:00 5 bits can store 32 unique values, so why wouldn't that work in this case? I don't really understand how this suddenly changes at 7:08 Nevermind, I can see how switching from storing coordinates of every vertex to storing the placement of a square allows for the optimization

  • @Vercidium
    @Vercidium9 күн бұрын

    Yeah it’s not super clear. The mesh is 32 units long, which means we need to store values in the range 0-32 (inclusive), which is 33 unique values When switching to instancing, we only need to store the position of the squares, not the position of the vertices. This means we only need to store values in the range 0-31, and can save 1 bit

  • @Erdmaenchen_11
    @Erdmaenchen_119 күн бұрын

    programm this into a mod for minecraft

  • @VioletGiraffe
    @VioletGiraffe9 күн бұрын

    Are all the animations/"slides" made in your engine as well?

  • @Vercidium
    @Vercidium9 күн бұрын

    Yes they are :)