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: aristoriasListen, 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
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.
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 ...
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
See more from me