[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)