This was a great blog post. I love Rust and Bevy, but I can definitely see why you made the switch.
The primary issue with your decision to use Rust/Bevy, for me, was that you were taking on the task of getting others to work in a difficult language for novice developers. I would never suggest Rust as someone’s first language, coupling that with a regularly-changing library like Bevy.
I would love to know what the pros and cons were between Unity and Godot. If you were going to switch to C# anyway, Godot seems like the next logic choice to me, so I’m curious about what your team’s evaluation was for that engine.
In our experience at $DAYJOB, Rust is actually not too bad, when it is one of the first languages that someone learns. It’s definitely a lot more troubling for experienced devs who have certain patterns in mind, which they can’t replicate in Rust. They tend to struggle a lot, whereas our students generally pick up and work with Rust like it’s any other language.
But Rust + Bevy is probably more confusing. I actually started my journey into Rust with a (much less mature) game engine, too, which also used an ECS. And well, the ECS kind of bypasses Rust’s memory management, which I didn’t understand until much later. I didn’t really learn Rust’s memory management model until 5 months in, even though I was partially using it…
This was a great blog post. I love Rust and Bevy, but I can definitely see why you made the switch.
The primary issue with your decision to use Rust/Bevy, for me, was that you were taking on the task of getting others to work in a difficult language for novice developers. I would never suggest Rust as someone’s first language, coupling that with a regularly-changing library like Bevy.
I would love to know what the pros and cons were between Unity and Godot. If you were going to switch to C# anyway, Godot seems like the next logic choice to me, so I’m curious about what your team’s evaluation was for that engine.
In our experience at $DAYJOB, Rust is actually not too bad, when it is one of the first languages that someone learns. It’s definitely a lot more troubling for experienced devs who have certain patterns in mind, which they can’t replicate in Rust. They tend to struggle a lot, whereas our students generally pick up and work with Rust like it’s any other language.
But Rust + Bevy is probably more confusing. I actually started my journey into Rust with a (much less mature) game engine, too, which also used an ECS. And well, the ECS kind of bypasses Rust’s memory management, which I didn’t understand until much later. I didn’t really learn Rust’s memory management model until 5 months in, even though I was partially using it…