Making a Multiplayer Voxel Game with Rust/Bevy

Поділитися
Вставка
  • Опубліковано 5 лют 2025

КОМЕНТАРІ • 29

  • @Tantandev
    @Tantandev 2 роки тому +41

    I'm so happy to see other share their voxel development journey. Hope to see more!

    • @logicprojects
      @logicprojects  2 роки тому +8

      Thanks! Your channel was one of the first ones to point me to bevy! Love your content

  • @elgusanito6991
    @elgusanito6991 2 роки тому +5

    YEEEES YEEEEEEEEEES, I'm at a similar adventure, hyped for this

  • @twomur_
    @twomur_ 2 роки тому +1

    so far this is looking pretty awesome!! i subbed can’t wait for the next devlog

  • @radix23
    @radix23 9 місяців тому +1

    Some friendly corrections: RefCell is not a reference counted pointer, it's actually a type that owns and lets you borrow the contents at runtime (Rc is the Reference Counted pointer). And Arc is not an asynchronous pointer, it's an *atomic* reference counted pointer.

  • @nihil75
    @nihil75 Рік тому

    Being new to Rust & Bevy I now have 6 tabs where I google concepts/methods you described. Thank you!

  • @isengrim_
    @isengrim_ Рік тому

    Would you be willing to do a tutorial series on this? Pretty hard to find good and recent 3d/multiplayer Bevy tutorials

  • @Tudvari
    @Tudvari 2 роки тому +2

    It makes me want to go back to my frozen voxel project... :D
    Great devlog, have you managed to continue working on it? I don't really see commits in the repository. :(
    Anyway, keep it up! :)

    • @logicprojects
      @logicprojects  2 роки тому +1

      I've done some work off and on for it but nothing published yet. I might come back to it in February to see how I feel about the choices I made months ago

  • @DejaimeNeto
    @DejaimeNeto 2 роки тому +1

    yes

  • @Athomield3D
    @Athomield3D 2 роки тому +2

    thanks for the source !

  • @wadecodez
    @wadecodez 2 роки тому

    What all did you write for the networking features? Is it just state management or does the server run the simulation?

    • @logicprojects
      @logicprojects  2 роки тому +1

      I used the same networking setup I did for my renet tutorials. World state is handled by the master server which sends updates as full chunks currently. Def some room for future optimizations and better designs there though.

  • @roshidmuyaee
    @roshidmuyaee Рік тому

    Thanks for sharing

  • @user-rg7ux5hn5t
    @user-rg7ux5hn5t 2 роки тому

    Thank you!

  • @calebwhitehead1153
    @calebwhitehead1153 2 роки тому +1

    Nothing scuffed about all those if statements in your meshing algorithm. This is just how they end up looking.

    • @logicprojects
      @logicprojects  2 роки тому +2

      Yeah it just always feels like there's some magical higher structure to it. I spent a good bit looking for a pattern that might not exist

  • @larsmaas07
    @larsmaas07 2 роки тому

    YESSSSS

  • @oglothenerd
    @oglothenerd Рік тому +1

    Bevy 0.10 tutorial please? Bevy does not have good docs, or updated tutorials!

  • @nightlycat2525
    @nightlycat2525 2 роки тому

    I think it would be interesting to see how you can make something like terraria

  • @JasonMortimer3
    @JasonMortimer3 2 роки тому

    You said about how you made custom ray _tracing_ for calculating which block you are looking at. This is the wrong term, you developed ray _casting_

    • @logicprojects
      @logicprojects  2 роки тому +1

      I've seen both terms used interchangeably (actually the Wikipedia for each link to each other in their openings) and both seem to be more linked to rendering than physics. Unity does call this function raycast though. The actual algorithms I used call themselves line drawing because I was taking advantage of the grid so it wasn't a general ray. But sure ray tracing invokes a more high end graphics notion than I was going for

  • @itsME-dc4vm
    @itsME-dc4vm 2 роки тому

    niceee ;D

  • @waffle8364
    @waffle8364 2 роки тому +1

    why Rust?

    • @brain_frame
      @brain_frame 2 роки тому +4

      Rust has a borrow checking memory management model instead of manual memory management like C/C++ or garbage collection like a scripting language. The borrow model gives tight guarantees on memory safety and excellent performance, but you pay for it with compilation time and having to structure your code in a way that satisfies the borrow checker. Rust also makes parallelization a first-class citizen that integrates heavily with the borrow mechanism. As long as your program compiles it should be memory safe and thread safe.

    • @DerWand
      @DerWand 2 роки тому +6

      because its BLAZINGLY fast

    • @logicprojects
      @logicprojects  2 роки тому +2

      For me bevy is the easiest ECS to use and I believe in the data oriented massively parallel future for high performance programs (like games). If I wasn't in rust there's no way I would have this running on multiple threads but here I easily have safe chunk loading across threads. Also why not, it's just for fun

    • @ОбычныйЧеловек-д3ж
      @ОбычныйЧеловек-д3ж 2 роки тому

      @@brain_frame but rust have awful compatibility between versions. This language always updates and break old projects unlike C, and this is the reason why C is the best language ever created. And C actually is faster then rust, sry, but true.