Hacker News new | ask | show | jobs
by lyu07282 570 days ago
> As one of the Bevy contributors, I'd love to hear what you didn't like in the past, and what you liked from this release.

One issue that I always had with Bevy's development direction was how it felt a bit incongruent in a way. Like we get all these advanced rendering features but the boring basics are only slowly getting added. But of course it makes sense, its much more fun to work on a super advanced state of the art virtual geometry renderer (that is very impressive stuff) than it is to work on the boring parts.

I hope one day the foundation gets proper funding and can fund development with a clear focus and direction like the Blender foundation.

Why this release feels somehow different is because there are many mundane, boring but very foundational features added, like sorry but I do not give a fuck about chromatic aberration, but I do care about required components, animation masks, additive blending and events, box shadows, cosmic text, ui scrolling, interpolation functions and event propagation / bubbling.

Take the only now added animation masks, what use is an engine that supports visualized geometry (added in previous release) rendering but I can't render the hand movements of a character separate from the body? That's what I mean by incongruent, its not meant as a criticism, that's just how open source works of course but its still frustrating sometimes.

For the things still missing, for example: declarative scenes (in the works with BSN), asset streaming and pipeline events, (proper) rich text rendering, pointer and text selection events to name a few.

So seeing these "boring" things slowly getting added with each release also makes me very optimistic for the future of Bevy!

(notice how I didn't even mention the editor ;)

1 comments

You're not at all wrong, but like you said it's the (sometimes unfortunate) reality of open source. We have a lot of rendering contributors, but less so for every other area except probably the core ECS.

Here's to hoping we get more boring contributions in the future!

What is pipeline events though? I haven't heard of that, and google isn't bringing anything up.

P.S. I'm actually the author of the virtual geometry feature, so that was a particularly well chosen example :)

> What is pipeline events though? I haven't heard of that, and google isn't bringing anything up.

Last time I checked there is no way to know if the async (render) pipeline compilation is completed. If I add a large scene to the world I don't know when it will be ready to render. In other words, its non-trivial to add a loading screen in many circumstances, or to do things like adding and removing scene bundles without causing pop-in or freezes, something that no game engine should struggle with. With something like pipeline events I mean if we could get events from the render world about the state of the pipelines or some other way to know, then we would at least be able to implement some kind of shader compilation stage / loading screen properly. I care more about that kind of stuff than rendering a gazillion triangles at 60fps, although that is pretty cool ofc.

> P.S. I'm actually the author of the virtual geometry feature, so that was a particularly well chosen example :)

I didn't realize lol It's really impressive work regardless!

Ah yeah pipeline compilation is a very non-trivial problem[1]. Unreal is also struggling with this a lot. I hear you that it's an issue.

The Bevy issue you want to follow is https://github.com/bevyengine/bevy/issues/10871.

[1]: https://therealmjp.github.io/posts/shader-permutations-part1 + https://therealmjp.github.io/posts/shader-permutations-part2