Zig has not hit 1.0 yet, and as recently as a few months ago completely reworked how every form of IO is written. AFAIK, this wasn't a syntax change, but it changed the function signature or type definition of every…
Once you understand that a crate is the translation unit in Rust, it doesn't feel as bad. Most medium to large Rust project's will separate out their code into separate crates for both organization and compile time.…
Not cart, but another maintainer of Bevy here. More traditional game engines tend to be a giant tangle of pointers with much more complex lifetimes than what Rust's borrows would allow. For example, the skeleton used to…
I'm running a nanode for a few personal projects and their dashboard was showing something close to 8mbps since 05/29/2024. Went almost 2TB over for the month of June. Nearly 4x'ed my bill. It's not a lot, but it seems…
Given the fact that foreign values inherently require the use of unsafe due to not being able to verify anything about the value and it's behavior, yes, it's generally not recommended unless you're looking to write your…
A scripting language is an explicit non-goal for first-party support, but there have been tools for using the ECS entirely without Rust types which can be exposed via FFI or embedded languages like Lua. Just search…
There is still a game loop that runs every tick. The engine wouldn't work so well if we only responded to inputs as they come in, event pub-sub style. As for ECS overhead, I've made it one of my top priorities to…
The blog post directly mentions efforts towards a GUI-based editor in the "What's next" section. We can definitely deliver on global illumination in some way, as shown with the irradiance volume support added in this…
Fyrox definitely has a better end-to-end feature offering right now, but I personally think Bevy has the stronger ecosystem. Animation support is growing rapidly. I'm one of the two SMEs (subject matter experts) focused…
I'm one of the maintainers of Bevy. In my opinion, Godot clearly has a significant lead in many fronts, some moreso than others. A clear few that are lagging behind are: Editor: Godot has one, Bevy does not. Animation…
We explicitly label easy first issues in our issue tracker: https://github.com/bevyengine/bevy/issues?q=is%3Aissue+is%3A.... These should get you up to speed with the contribution process and, at the very minimum, get…
I want to step back a bit. All of these require a more involved and production ready asset system, which we've sorely needed for a few releases now. I'm one of the two developers currently behind our longer term…
> Could you point me the right direction on how to learn about Bevy's render pipeline? The best 10,000ft view that doesn't just point you at the code itself is probably https://bevy-cheatbook.github.io/gpu/intro.html.…
It's turtles all the way down. You can replace the renderer wholesale, or strip out the top, middle, and/or low level abstractions. You choose how much meat you want stripped off from the bones. It's not that…
On the contrary, about 50% of my time with Rust is spent throwing shit at the wall and seeing if it works. The great thing is that the compiler will probably tell you that what you're doing is garbage and you might want…
> And Bevy's coded in Rust! Bevy gains all of Rust's safety, ergonomics, speed; yet it avoids pitfalls with some OSS Rust products: it doesn't overuse lifetimes or macros and is relatively easy to follow. Just uhhh...…
Entity as a type is an generational ID. We only support up to 2^32 entities in a World, which makes up the bottom 32 bits. The top 32 bits is the generation. Once we destroy an entity, it's ID is reused, but the…
Skeletal animation is supported in the renderer, and there is a (very basic) implementation of an animation player available, but more complex animation (blending, state machines, masking, IK, etc.) is currently still…
wgpu (the implementation, not the WebGPU standard) does have quite a few of those aforementioned escape hatches on native platforms. Bevy currently doesn't use many of them due to aiming for maximum platform…
https://en.wikipedia.org/wiki/Data-oriented_design The intent is to layout structures in memory in a way that is conducive to how it's actually accessed in the physical hardware. For video games, this typically means…
I think it's more in terms of the ergonomics and developer UX. Both Bevy and Flask have a very minimal and surprisingly idiomatic "hello world" example, and both rather seamlessly and progressively introduce concepts,…
Most ECS implementations realistically are high-performance in-memory columnar databases, where systems use granular mutation patterns. Hell, the main access pattern is literally a called a Query. It's become quite a…
Zig has not hit 1.0 yet, and as recently as a few months ago completely reworked how every form of IO is written. AFAIK, this wasn't a syntax change, but it changed the function signature or type definition of every…
Once you understand that a crate is the translation unit in Rust, it doesn't feel as bad. Most medium to large Rust project's will separate out their code into separate crates for both organization and compile time.…
Not cart, but another maintainer of Bevy here. More traditional game engines tend to be a giant tangle of pointers with much more complex lifetimes than what Rust's borrows would allow. For example, the skeleton used to…
I'm running a nanode for a few personal projects and their dashboard was showing something close to 8mbps since 05/29/2024. Went almost 2TB over for the month of June. Nearly 4x'ed my bill. It's not a lot, but it seems…
Given the fact that foreign values inherently require the use of unsafe due to not being able to verify anything about the value and it's behavior, yes, it's generally not recommended unless you're looking to write your…
A scripting language is an explicit non-goal for first-party support, but there have been tools for using the ECS entirely without Rust types which can be exposed via FFI or embedded languages like Lua. Just search…
There is still a game loop that runs every tick. The engine wouldn't work so well if we only responded to inputs as they come in, event pub-sub style. As for ECS overhead, I've made it one of my top priorities to…
The blog post directly mentions efforts towards a GUI-based editor in the "What's next" section. We can definitely deliver on global illumination in some way, as shown with the irradiance volume support added in this…
Fyrox definitely has a better end-to-end feature offering right now, but I personally think Bevy has the stronger ecosystem. Animation support is growing rapidly. I'm one of the two SMEs (subject matter experts) focused…
I'm one of the maintainers of Bevy. In my opinion, Godot clearly has a significant lead in many fronts, some moreso than others. A clear few that are lagging behind are: Editor: Godot has one, Bevy does not. Animation…
We explicitly label easy first issues in our issue tracker: https://github.com/bevyengine/bevy/issues?q=is%3Aissue+is%3A.... These should get you up to speed with the contribution process and, at the very minimum, get…
I want to step back a bit. All of these require a more involved and production ready asset system, which we've sorely needed for a few releases now. I'm one of the two developers currently behind our longer term…
> Could you point me the right direction on how to learn about Bevy's render pipeline? The best 10,000ft view that doesn't just point you at the code itself is probably https://bevy-cheatbook.github.io/gpu/intro.html.…
It's turtles all the way down. You can replace the renderer wholesale, or strip out the top, middle, and/or low level abstractions. You choose how much meat you want stripped off from the bones. It's not that…
On the contrary, about 50% of my time with Rust is spent throwing shit at the wall and seeing if it works. The great thing is that the compiler will probably tell you that what you're doing is garbage and you might want…
> And Bevy's coded in Rust! Bevy gains all of Rust's safety, ergonomics, speed; yet it avoids pitfalls with some OSS Rust products: it doesn't overuse lifetimes or macros and is relatively easy to follow. Just uhhh...…
Entity as a type is an generational ID. We only support up to 2^32 entities in a World, which makes up the bottom 32 bits. The top 32 bits is the generation. Once we destroy an entity, it's ID is reused, but the…
Skeletal animation is supported in the renderer, and there is a (very basic) implementation of an animation player available, but more complex animation (blending, state machines, masking, IK, etc.) is currently still…
wgpu (the implementation, not the WebGPU standard) does have quite a few of those aforementioned escape hatches on native platforms. Bevy currently doesn't use many of them due to aiming for maximum platform…
https://en.wikipedia.org/wiki/Data-oriented_design The intent is to layout structures in memory in a way that is conducive to how it's actually accessed in the physical hardware. For video games, this typically means…
I think it's more in terms of the ergonomics and developer UX. Both Bevy and Flask have a very minimal and surprisingly idiomatic "hello world" example, and both rather seamlessly and progressively introduce concepts,…
Most ECS implementations realistically are high-performance in-memory columnar databases, where systems use granular mutation patterns. Hell, the main access pattern is literally a called a Query. It's become quite a…