Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
_cart
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
21 ms
·
121.
▲
Bevy 0.5: data oriented game engine built in Rust
(bevyengine.org)
167 points
by
_cart
6y ago
|
65 comments
122.
▲
by
_cart
6y ago
Yeah implementing traits for functions is rarely advisable. However in this one very specific case (what amounts to dependency injection) it gives us very nice clarity and ergonomics. I'll take that over the macros everyone else is usi
123.
▲
by
_cart
6y ago
Yeah Bevy ECS is built as a standalone ECS. Using it that way is perfectly advisable: https://crates.io/crates/bevy_ecs
124.
▲
by
_cart
6y ago
Functions are "types" just like everything else in rust. And you can implement traits (which can add methods) on any type. So its just "normal" rust code to add a function call to a function of a certain type. This enabl
125.
▲
by
_cart
6y ago
Bevy has very fast iteration cycles and it has been a core "required" feature since the beginning. With our "fast compiles" config, compiling iterative changes to most of the examples takes less than a second. Changes to
126.
▲
by
_cart
6y ago
Nothing usable yet, but people are currently experimenting with integrating VR apis into our core graphics library (wgpu)
127.
▲
by
_cart
6y ago
We've heavily invested in legibility and ergonomics in Bevy. I'd argue that our ECS is top tier in ergonomics and legibility across all engines / languages. Here is a gist of a fully self-contained Bevy App for player movemen
128.
▲
by
_cart
6y ago
Hey we're back on HN. I'm Bevy's creator / lead developer. Feel free to ask me anything!
129.
▲
by
_cart
6y ago
https://community.amethyst.rs/t/bevy-engine-addressing-the-e...
130.
▲
by
_cart
6y ago
Thanks! The official Bevy Rapier plugin (built by the Rapier team) is definitely your best bet right now. People have been using it with success: https://twitter.com/swainrob/status/1317573306271305733 , https:&#x
131.
▲
by
_cart
6y ago
First: I won't pretend to be a Unity DOTS expert, but I have worked with it briefly. There are many similarities: 1. The general data model: entities, components, systems 2. Running systems in parallel 3. Archetypal ECS: a specific ECS
132.
▲
by
_cart
6y ago
The .system() method converts the function pointer to an actual System trait implementation. This is accomplished by implementing traits for functions that match a specific signature. Ex: Fn(SystemParam), Fn(SystemParam, SystemParam), etc.
133.
▲
by
_cart
6y ago
Lead Bevy developer/project lead here. Let me know if you have any questions!
134.
▲
Bevy 0.4: data oriented game engine built in Rust
(bevyengine.org)
113 points
by
_cart
6y ago
|
23 comments
135.
▲
by
_cart
6y ago
I'd like to call out that the title _was_ longer with more description, but the mods (understandably) trimmed it down.
136.
▲
by
_cart
6y ago
Our main backend is wgpu, which is backed by Vulkan, DX11, DX12, Metal, and WebGPU (according to whats available on each platform). We also have a work-in-progress WebGL2 backend (which will eventually become a desktop OpenGL backend too).
137.
▲
by
_cart
6y ago
In 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
138.
▲
by
_cart
6y ago
I totally get that Rust is sometimes over-hyped. But I'm not sure what you want here. Do you want me to stop building things in Rust? Or is it ok to build things in Rust, but I shouldn't share them? Or is that ok, but if people li
139.
▲
by
_cart
6y ago
I'll be honest: the success of the initial release totally blew me away (both in a good way and a bad way). It took me a little over a month to adapt and develop ways to manage all of the threads (prs, community, dev work) without feel
140.
▲
by
_cart
6y ago
We don't (yet) have official networking apis, but there are a number of 3rd party plugins: https://github.com/bevyengine/awesome-bevy#networking
141.
▲
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) recentl
142.
▲
by
_cart
6y ago
Sorry my benchmark test suite "fits" the units it reports to the duration. I totally get that its a bit confusing. I probably won't update them for this blog post because generating the graphs isn't fully automated yet (
143.
▲
by
_cart
6y ago
I think you missed the part where we run the test 100,000 times per iteration. I promise its really fast :) edit: but i do agree that the title is a bit unclear. ill fix that now
144.
▲
by
_cart
6y ago
Not yet, but it's one of our current focus areas: https://github.com/bevyengine/bevy/issues/254
145.
▲
by
_cart
6y ago
It should be able to run in a webview via WASM, but im less certain about the java communication part. If its a normal JS interface then you can probably do it.
146.
▲
by
_cart
6y ago
Thanks! It is cached. It will only reload if the asset hasnt been loaded yet or was previously freed.
147.
▲
by
_cart
6y ago
thats a scenario im definitely thinking about :)
148.
▲
by
_cart
6y ago
I also think on of the major selling points of Bevy is that "bevy game devs" are actually "bevy engine devs" ... they just don't know it yet. Bevy is implemented using the same plugin interface that games use, which
149.
▲
by
_cart
6y ago
Rust isn't inherently slow to iterate, its just easy to write code that compiles slowly if you aren't careful. One of Bevy's primary focuses is to have fast iterative compile times. Changes to our examples can be recompiled i
150.
▲
by
_cart
6y ago
Author here. I'm happy to answer any questions you have about Bevy!
More ›