4 ms·
I've tried to make games in my spare time before. Working in Bevy is the first time I've made actual progress on my projects. There's something about the way t
by indiv0 6y ago
I've tried to make games in my spare time before. Working in Bevy is the first time I've made actual progress on my projects.
There's something about the way the ECS framework is designed that just works. In particular the way the "systems" part of the ECS is automagically generated from regular old rust functions is just brilliant to me.
Aside from the ECS stuff, the WASM support is something else I'm pretty happy with (shout out to mrk-its for their help here). I can compile my game for native when I'm working on it locally, then when I want to show it off I can just `aws s3 cp` it up to a bucket and have people try it out in their browsers. The performance is still great there.
- Fireflite 6y agoThe way that you can turn normal Rust functions into systems, grabbing the relevant components through their type signature is wonderful sugar, and feels magic to use.
- ofrzeta 6y agoI tried to make sense of the tutorial with various degrees of success :) Does this mean the components get automatically iterated over in no particular order (for instance the Persons in the example)?
- PudgePacket 6y agoThat's correct.
- mindv0rtex 6y agoThat's the level of Rust I wish there were more learning materials about.
- xwdv 6y agoHave you ever used an ECS system? This isn’t unique.
- PudgePacket 6y agoThe ergonomics are certainly top notch. The only other ECS I've used is the in-progress Unity one, and boy is that _painful_ by comparison.
- indiv0 6y agoI don't know if it's unique, but it is the first ECS I've used where the level of sugar matches my mental model of what's going on behind the scenes. I've primarily used specs & Unity's ECS before this.
- lock-free 6y agoLeveraging the type system with a good focus on generics as a means to achieve an ergonomic API may not be unique but well executed.
- ndarilek 6y agoSame. I've been using Bevy to experiment with some accessible game mechanics for the past few months now. The speed from which I can go from "I really want map exploration to report this and that detail on an entity, based on this and that characteristic," to code that just works and does what I want, is astounding. The degree to which I can then optimize that code, to only run it when this or that component changes value for instance, is also amazing. And when some Bevy subsystem or other isn't up to my standards, I can plug in some other library, add a few components in my game, and more or less forget about the details of the lower-level integration. It's an amazingly productive engine. If it'd launched a year earlier, I'd probably have built my just released game in Bevy rather than Godot.