Second: building the editor (in Bevy, same way godot's editor is built with the game engine) is an active project so if you think Bevy is interesting it is worth keeping an eye on whenever that gets released.
It's OK to have a backbone concept you're proud of and anchors your lib! If it becomes the ends rather than the means, it's worth re-evaluating.
I'd love to avoid this in my personal projects. Programming paradigms are useful within their bounds, but at some point UX has to take the front seat.
Bevy has the best developer experience of any game framework I've ever tried (I have worked with mainstream engines - which warmed up to ECS over time - and engines that started with ECS like ECSY and playcanvas) but it's too low level for most studios.
I get your point about actix and actors but I think the difference there was that the author wanted to build Elixir in Rust, while the community wanted an Express (from node.js). The vast majority of web services I see don't need an explicit actor model.
ECS instead has a significant impact on developer experience, so I appreciate their focus on data structures.
Before software can be reusable it first has to be usable. There is a good reason why every existing popular engine was purpose built for a game in its infancy.
C# is a super underrated language and Monogame has just enough batteries to get going without being in your way too much.
For ECS, I've been using Friflo ECS and haven't had issues so far: https://github.com/friflo/Friflo.Engine.ECS
Looking over the readme.md I find it interesting they don't list dotnet 9 support but they do list 7 so they do seem to support non-LTS versions but skipped 9 (mind you maybe they just didn't update the readme?)
jvanderbot•6h ago
It's changed quickly enough that docs, examples, copilot, agents, and chat assistants are all a few versions off from each other.
runevault•6h ago
SeanAnderson•6h ago
Overall, I had a lot of fun learning the ECS paradigm, and I found Bevy to make working with Rust easier than learning Rust on its own because it did a good job of hiding lifetimes from me in a lot of situations, but I never got to a point where I felt like I was able to develop ideas quickly.
I'm optimistic about revisiting the code I wrote at some point and seeing how things have improved. It's been maybe a year and a half since I stopped working on a pet project, but I still keep up with all the release notes and have seen lots of things to be excited about. For example, hot reloading is well on its way to being stable and their UI components are becoming much more robust.
https://ant.care/ I built this with Bevy (code here: https://github.com/MeoMix/symbiants/) but have moved on to other projects for the time being.
It's a cute lil sim. It'll crash on you at some point 'cuz there's a race condition when ants come back from the outer-world while hauling food, but it's still kinda fun to watch 'em go.
(Also, while I'm yapping. https://loglog.games/blog/leaving-rust-gamedev/ is very true BUT ALSO people have made successful games using Bevy, or parts of it, e.g. https://store.steampowered.com/app/2198150/Tiny_Glade/)
spoiler•15m ago
People made games and software in bevy despite the API flux, and the migration guidelines are really good too.