As another promising free and open source game engine written in Rust, Bevy continues maturing and there's a brand new release up for you to try out with lots of advancements.
What actually is it? The developer says quite clearly that it's a "refreshingly simple data-driven game engine built in Rust" with a data-driven custom Entity Component System, a 2D and 3D rendering system, support for all major systems (Windows, MacOS, Linux plus mobile), hot reloading to get instant feedback, a custom built-in UI system and more. It's looking really smart.
Going over the vast changelog of everything that's new and improved in Bevy 0.4, here's some highlights:
- A WebGL2 rendering backend, meaning games built with Bevy can now run in the browser. They also now have a showcase of their examples running in the web.
- Live shader reloading so you can update changes to shaders at runtime.
- GLTF loader improvements that now supports the Camera.
- Dynamic Linking for improved compile times.
- Huge rendering optimizations.
- 3D textures support.
- A new built-in Logging and Profiling system.
- HiDPI support
See more on the Bevy website.
Want to see a game being built with Bevy? The version 0.4 update post mentioned a game called colonize, it's an in-development Dwarf Fortress / Rimworld-like game in the early stages - and it's also free and open source. Worth keeping an eye on or joining in perhaps if you're looking for a new Rust game dev project
Quoting: M@GOidI wonder if Rust led to some performance advantages or disadvantages, in comparison to C. I saw some people hell bent in making everything in Rust, regardless if it is the best tool for the job or not.
If the ecosystem is big enough rust is (nearly) always (in my opinion) the better choice over c if the programmers are fluent in rust.
The performance is with the right abstraction on par with c/c++ and the abstractions are more readable and maintainable once you learn rust. But this is ofcourse a chicken egg problem. Someone has to start expanding the ecosystem, so yes if you want to say they "hell bent" but with the rising popularity, i think this are logical steps people make.
Quoting: M@GOidI wonder if Rust led to some performance advantages or disadvantages, in comparison to C. I saw some people hell bent in making everything in Rust, regardless if it is the best tool for the job or not.
I've seen some saying that Rust can provide performance benefits that are hard to reach in C due to easier way of parallelizing things and avoiding race conditions bugs. Rust compiler can do some optimizations due to safety guarantees that C/C++ compilers can't.
Quoting: ShmerlLooks cool. Is it using Vulkan underneath?I think it uses wgpu-rs as the backend, which itself has a number of rendering API backends. As I recall, it was defaulting to Vulkan but also had some kind of a GL backend, but I remember that being experimental/in-dev.
Quoting: ShmerlQuoting: M@GOidI wonder if Rust led to some performance advantages or disadvantages, in comparison to C. I saw some people hell bent in making everything in Rust, regardless if it is the best tool for the job or not.
I've seen some saying that Rust can provide performance benefits that are hard to reach in C due to easier way of parallelizing things and avoiding race conditions bugs. Rust compiler can do some optimizations due to safety guarantees that C/C++ compilers can't.
Yes all these myths are being repeated on the internet over and over.
The only thing rust can avoid is one special case during multi-threading, the data race. Race conditions are still very well possible for rather obvious reasons. Parallelization still remains a non-trivial task that needs appropriate skills of a programmer.
Also, C is for sure not the "competitor" when we are talking about game engines. There is no speed or other advantage to be expected from Rust. The point of this language is rather to avoid common bugs that are memory management related.
If you want advanced memory control, Rust does not even allow you to do that in a reasonable fashion, so this convenience comes with a price..
Last edited by Shmerl on 28 December 2020 at 5:14 pm UTC
Quoting: Shmerl@aristorias: all of that is pretty wrong, but if you want proper sources and not myths, go find what actual developers say. I wouldn't touch C for big projects if Rust is an option.
Listen, I've been doing professional software engineering for the past 20 years and I therefore know very well what I am talking about ;-). Do you? Or maybe you got a language barrier there, I can't tell.
See more from me