[HN Gopher] Bevy 0.11: ECS-driven game engine built in Rust
       ___________________________________________________________________
        
       Bevy 0.11: ECS-driven game engine built in Rust
        
       Author : _cart
       Score  : 93 points
       Date   : 2023-07-09 19:25 UTC (3 hours ago)
        
 (HTM) web link (bevyengine.org)
 (TXT) w3m dump (bevyengine.org)
        
       | lwansbrough wrote:
       | Glad to see the ECS scheduling was cleaned up a bit. I was a bit
       | overwhelmed by the verbosity of the APIs in the last release.
        
         | scambier wrote:
         | I find the bevy-ecs 0.10 already cleaned a lot of cruft and
         | improved DX.
        
       | hoot wrote:
       | Any news on when Bevy will have some legit documentation? I know
       | there was a branch in work a while back that looked to have some
       | in depth docs, but it doesn't seem like it's made its way into a
       | release. This has always been a huge hurdle for me with Bevy. I
       | really just don't want to wade through discord to figure out how
       | to use it. Wishing the best and awesome work. I think I'll give
       | bevy another shot once there's an editor and good docs!
        
         | _cart wrote:
         | We'd like to open the floodgates on Bevy Book development asap.
         | This taking so long has largely been my fault ... I've been
         | overly protective of the Bevy Book while also not giving it the
         | attention it deserves. Here is our current plan:
         | https://github.com/bevyengine/bevy-
         | website/issues/623#issuec..., which I'd like to execute during
         | the next cycle.
        
       | _cart wrote:
       | Creator and lead developer of Bevy here. Feel free to ask me
       | anything!
        
         | tcnj wrote:
         | What are the current plans/aims of the deferred renderer? I
         | seem to recall coming across a GitHub issue in the past (but
         | can't find it now) that mentioned that this wouldn't be an aim
         | of bevy for the foreseeable future. What changed?
        
           | _cart wrote:
           | This essentially came down to: 1. We've started blurring the
           | lines by having optional depth and normal prepasses (to
           | enable new rendering features) 2. We have renderer devs that
           | are currently experimenting in this space
           | 
           | Whether or not (and how) we embrace deferred will come down
           | to the user experience, effects on the render plugin
           | ecosystem, desired features, perf characteristics, etc. The
           | decision hasn't been fully made yet, but we're going to
           | explore the space.
           | 
           | The latest discussion has happened here: https://discord.com/
           | channels/691052431525675048/111316658507...
        
         | aranw wrote:
         | What are your favourite games currently published that are
         | built using Bevy? Any available on Steam?
        
           | _cart wrote:
           | Molecoole is a fun one on Steam:
           | https://store.steampowered.com/app/1792170/Molecoole/
           | 
           | We're still in the early days of the engine so most games are
           | pretty small in scope. But there are still plenty of fun
           | ones! Lots of games on itch.io: https://itch.io/games/tag-
           | bevy
           | 
           | I'm very excited for Tiny Glade:
           | https://store.steampowered.com/app/2198150/Tiny_Glade. They
           | only use some parts of Bevy (Bevy ECS and Bevy App. They
           | built their own custom renderer).
           | 
           | xyzw is building a beautiful Dwarf Fortress-like:
           | https://twitter.com/xyzw_io/status/1677340923292786689
        
         | danbolt wrote:
         | I sometimes wonder if the data transformations found in ECS
         | Systems could be constructed through a visual editor. An
         | analogue might be Unity's Shader Graph, where a developer with
         | a less technical background can program a GPU's SIMD
         | architecture.
         | 
         | Do you think that sort of thing could ever be feasible in Bevy?
        
           | yuhe00 wrote:
           | Unreal's Niagara has a visual editor. While it is packaged as
           | an VFX/particle editor, it is in many ways an ECS. Each
           | particle can have custom data structure and modules/systems
           | that drive them. Under the hood the graphs are translated to
           | SIMD-optimized VM bytecode when run on CPU. It can even
           | support translation to HLSL/GPU-acceleration if all modules
           | support it. Not sure if Unity has something similar.
        
           | _cart wrote:
           | This is definitely feasible in Bevy (either via Rust codegen,
           | "interpreter-style" node execution, or scripting). And will
           | be even more feasible once we have an official visual Bevy
           | Editor. However I'm pretty skeptical of "visual / node based
           | programming" and I wouldn't personally prioritize that work
           | when we have so many other things to do. That being said, I'm
           | guessing someone will eventually build a 3rd party plugin to
           | do this.
        
         | kirillbobyrev wrote:
         | I love Bevy, but I feel like it's still more of a Game
         | Development Library rather than an engine. Godot, on the other
         | hand, looks very nice in terms of user experience: great editor
         | and very easy to understand and use. Will Bevy implement a
         | first-party editor, overhaul of game development experience etc
         | or is the goal to only support these things with third-party
         | plugins and crates?
        
           | komadori wrote:
           | A first-party editor is planned and Bevy's UI library and
           | other infrastructure is getting to the point where it might
           | to start to materialise in a few releases. However, I
           | personally love the code-first experience Bevy offers in
           | comparison to something like Godot.
        
           | _cart wrote:
           | Building an editor is one of our highest priorities. We've
           | been laying the groundwork for this for awhile and we would
           | like to have tangible progress here within the year. We can't
           | commit to specific dates, but know that a full editor
           | experience is a central part of our plan. Code-only will
           | always be an option, but we firmly believe that visual
           | editing is a critical piece of the gamedev puzzle.
        
         | littlestymaar wrote:
         | What're your plans regarding OpenGL support? Is that something
         | you care about or not at all?
         | 
         | The current state being that wgpu supports it, and as such we
         | can already use it in bevy by setting the wgpu back-end env
         | variable, but in bevy it only works for 2D stuff (trying the 3D
         | examples of bevy lead to a Naga error because, IIRC the PBR
         | stuff uses features that cannot work in OpenGL or something
         | like that).
         | 
         | (If you tell me that OpenGL is something you want to support
         | and it's just an oversight, I can file an issue on github with
         | much more details, and would even be willing to contribute)
        
           | _cart wrote:
           | It is something we care about, but it also isn't our first
           | priority (as it is a "fallback" backend when other newer apis
           | aren't available on a system). Given that we support WebGL
           | (which IS a high priority for us and is an even more limited
           | subset), generally OpenGL breakage is just an oversight /
           | missed bug. Please file an issue as we do want to support as
           | many systems as possible!
        
         | mahulst wrote:
         | Large amount of work done again! When you get to the ui work in
         | the what's next part, do you plan to integrate one of the
         | existing bevy ui crates? Or will you learn from them and build
         | a new one? Really looking forward to getting some progress in
         | that area. I feel like contributing (made the PR for swapping Y
         | axis on UI for 0.9) but the status quo is a huge mental block
         | to even get started. Again, awesome project!
        
           | _cart wrote:
           | This cycle getting UI ready for the editor is my primary
           | focus. I'll be considering all of our options (improvements
           | to the existing system or embracing one of the many community
           | Bevy UI plugins). I can't give much more clarity than that
           | until I've committed more time to the space. But this is next
           | on my plate (right after getting Bevy Asset V2 finalized and
           | merged)
        
             | mahulst wrote:
             | Cool, thanks for your answer! Looking forward to it, and
             | take your time.
        
       | GenericCanadian wrote:
       | Awesome stuff, I've been publishing some personal notes that are
       | up to date with the main branch if anyone wants to learn:
       | 
       | - https://taintedcoders.com
       | 
       | There are lots of stuff missing on the bevy cheatbook
       | (https://bevy-cheatbook.github.io) and lots more hidden in the
       | Discord that are unsearchable on Google so I hoped this would
       | help fill the gap for teaching some friends.
        
       | jauntywundrkind wrote:
       | > _WebGPU Support_
       | 
       | Yaaayyy! Great to see faster better slicker new 3d on the web
       | having this great engine target it.
        
       ___________________________________________________________________
       (page generated 2023-07-09 23:01 UTC)