5 ms·
Flagrant brag: I think we've advanced the state of the art when it comes to ECS ergonomics and (according to my taste) I think we're the most ergonomic ecs in e
by _cart 6y ago
Flagrant brag: I think we've advanced the state of the art when it comes to ECS ergonomics and (according to my taste) I think we're the most ergonomic ecs in existence.
That being said, Legion (another rust ECS framework) recently added a similar approach. But they use macros instead of pure Rust, which is slightly more verbose.
- k__ 6y agoI had the impression macros are used to make code less verbose.
- _cart 6y agoIn legion the macro attributes are used as "labels" for parameters to configure resource types. Theres also the additional boilerplate of annotating the function with a `#[system]`. Bevy ECS relies solely on the type system, which means these additional annotations are not necessary.
- Buttons840 6y agoMacros or pure Rust is more verbose? I could parse your last sentence either way.
- nikki93 6y agoI'd been using entt in C++, and recently have been working on a wrapper for entt in Nim (since Nim can just generate C++ output, works fine with templates, and lets you even emit your own C++ code, this is doable), and found that Nim is quite ergonomic for ECS code: https://gist.github.com/nikki93/694524b8c007b4269c899b2e046b8025 https://gist.github.com/nikki93/694524b8c007b4269c899b2e046b... That's the entire main file for a simple demo with rectangles, some of which oscillate, and you can touch to remove (multitouch supported).