3 ms·
Wow, I remember Bevy 0.7 being recent, wasn't that just released a few months ago? (Update: 0.7 was released 3 months ago, 0.6 was released 6 months ago, Bevy i
by armchairhacker 4y ago
Wow, I remember Bevy 0.7 being recent, wasn't that just released a few months ago? (Update: 0.7 was released 3 months ago, 0.6 was released 6 months ago, Bevy itself was introduced around 2 years ago).
Anyways, Rust seems viable for gamedev and IMO Bevy is taking a great approach wrt the borrow checker (by using ECS, more liberal types even if it technically creates UB). I really hope this project takes off and actually leads to some great games, and maybe it will manage to be less bloated than some other game engines...
> Bevy officially only supports Rust as the "one true way to define app logic". We have very good reasons for this and that philosophy likely won't change any time soon
This is one thing disagree with. At least until/unless Rust gets a way to write code without worrying about borrow checker, like a Rust DSL which provides automatic Cow or Rc<RefCell on everything.
Rust's performance is critical for some game logic but a lot of logic really doesn't need performance, and the borrow checker is going to make that non-performance-sensitive code much harder to write, for no gain. This is especially an issue because most game devs work in teams and have team members who aren't as experienced with performance or the borrow checker or coding in general. It would be nice to have a "sandboxed" environment where a) you don't worry about the borrow checker and b) everything it checked so you don't worry about annoying memory corruption issues, but in exchange the code is a lot slower.
> These, when combined with our reflection APIs, provide the tools needed to start building scripting support!
> @jakobhellermann has started building their own JavaScript / TypeScript plugin for Bevy.
But it looks like they're making it possible to interface with other languages anyways! Which is the right move IMO. The Bevy maintainers and I can disagree with using multiple languages, but it doesn't matter as long as they provide the minimal bare-bones tools to do whatever.