Don't want to see articles from a certain category? When logged in, go to your User Settings and adjust your feed in the Content Preferences section where you can block tags!
We do often include affiliate links to earn us some pennies. See more here.

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

Article taken from GamingOnLinux.com.
12 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly checked on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. You can also follow my personal adventures on Bluesky.
See more from me
The comments on this article are closed.
All posts need to follow our rules. For users logged in: please hit the Report Flag icon on any post that breaks the rules or contains illegal / harmful content. Guest readers can email us for any issues.
13 comments

M@GOid Dec 22, 2020
I 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.
Mordrag Dec 22, 2020
I 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.
Purple Library Guy Dec 22, 2020
At this rate we're going to have a Bevy of open source game engines.
Shmerl Dec 22, 2020
Looks cool. Is it using Vulkan underneath?
Shmerl Dec 22, 2020
I 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.
Samsai Dec 22, 2020
Looks 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.
Philadelphus Dec 25, 2020
I've been thinking about learning Rust since hearing about it near the start of this year, and making a simple game would probably be a great way to throw myself into the deep end. Bevy definitely sounds interesting for the purpose!
aristorias Dec 28, 2020
I 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..
Shmerl Dec 28, 2020
@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.


Last edited by Shmerl on 28 December 2020 at 5:14 pm UTC
aristorias Dec 29, 2020
@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.
Shmerl Dec 29, 2020
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.

I don't know for how long you have been doing it, but you sounded pretty clueless about Rust above.


Last edited by Shmerl on 29 December 2020 at 5:22 pm UTC
bisher Dec 29, 2020
@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.

Oh. I see a lot of half truths and misconceptions are being mixed together and form some alternate kind of parallel universe n this forum.
The mentioning of C here is totally out of place. The strength of C is low level systems programming and absolutely irrelevant for game engine programming. (C++ is a different language!) - As the poster above already said.
Also, using Rust does not automatically make a software product faster than the same software written in language X. There are countless little artificial benchmarks that claim to show some advantage over some other random language. In reality however, Rust like any other language is bound to the constraints of information technology and if there is an advantage over something else, then this is bought be some other "disadvantage". In quotes - because in the end it's only about personal taste (or almost religious belief for some) for which language you settle down. A proof that in special case Y language X is faster than Z, is utterly irrelevant in complex software products were mostly architectural design decisions are responsible for the performance.
Rust also cannot avoid race conditions, for that the compiler must execute the program and be aware of its edge cases and then judge smartly - that's simply impossible. Data races however, can be avoided at compile time and is a rather trivial case and got much more glory than it's worth it on the internet .... The potentially security relevant bugs that can be avoided with this language are not necessarily relevant for games and come with the consequence that Rust made memory allocation more abstract.
Long story short, Rust does not revolutionize the game development at all and will co-exist with countless other languages which are already established ...
Shmerl Dec 29, 2020
bisher: Anything can be relevant, it's the question of what's better. As I said, I don't see C as being better for making games or anything that Rust can do as well.

Those who claim C is better never dealt with the horrors of oversized projects that try to stretch C limitations in bizarre ways because the language is so antiquated and limited by today's standards.

And the second point - I'm totally not interested in proving this. It's not about personal taste, it's about progress of languages design. If you don't get it - good, you'll get it eventually. If not - keep using C if it suits you. That won't stop others from criticizing it.


Last edited by Shmerl on 29 December 2020 at 11:20 pm UTC
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.