5 ms·
Gaming is C++ first and foremost. All other languages suck, except when used to script game engines (C# in Unity, etc.). There's no practical reason to choose R
by tormeh 2y ago
Gaming is C++ first and foremost. All other languages suck, except when used to script game engines (C# in Unity, etc.). There's no practical reason to choose Rust or anything else. I don't think Rust is particularly bad or good here. There's decades of work to catch up on. I don't see Rust becoming a truly great language for games unless it's blessed by Epic or Unity.
- qiine 2y ago> * I don't see Rust becoming a truly great language for games unless it's blessed by Epic or Unity. Which will never happen
- mrkeen 2y ago> There's decades of work to catch up on First you gotta get OpenGL going, with its horrible stateful API, give up on it and go to DirectX9. Do a complete rewrite when DirectX10 comes out. Get your real-time lighting happening with shadow volumes, run into patent issues and get strong-armed into putting Creative sound into your game. Cycle between GLSL, HLSL, and Cg. End up switching to shadow mapping anyway. Drop Linux and Mac support. Start over with Vulkan/Metal. I don't think Rust needs to relive most of that.
- pcwalton 2y agoExactly. Bevy has the advantage of being built using the "right way" from the start. This makes an enormous difference in the ease of hacking on rendering code. Ironically, the main thing holding Bevy back is the bickering at the W3C. WebGPU is still not widely supported, so we have to support WebGL 2 (with reduced functionality in some cases), and that adds a lot of complexity.
- TheRoque 2y ago> Bevy has the advantage of being built using the "right way" from the start I think the article is precisely criticizing this type of comment... You make people believe that Bevy is some kind of safe bet for the future, that it took inspiration from the greatest to build even better foundations for a game engine... And it seems common in the Rust community: make audacious unverifiable claims to enroll other "believers". But it's easy to claim when the tool itself has a fraction of the functionalities of Unreal, Unity or Even Godot. Heck, last time I used it (about 2 years ago) there wasn't even any built-in physics stuff. You have to install plugins from every corner, some require old Bevy versions, some other require newer versions... It's seriously unusable to just "get things done"
- Ygg2 2y agoWell, there are two types of game engines from what I've seen: - One where most things are done out of the box, and you can mostly GUI visual code to success - these are your Unreals, your Unitys and Godots. - Second, where most things need to be built piecemeal, and many things are missing, and need to be built - Bevy falls into this category, along with stuff like PyGame and what not. I mean, Bevy is a fine engine for small things, but I can't admit I've seen any indie game of more renown succeed with it. OTOH, doesn't mean you can't make it, but it's definitely more effort.
- TheRoque 2y agoWell, I don't call the second ones "game engines", I call them game libraries, or game frameworks. RayLib also is a nice one. But they don't claim to be "engines" (or at least, they are mostly described with the aforementioned terms)
- pcwalton 2y agoI don't think anyone ever claimed that Bevy is finished. As for audacious unverifiable claims: it's quite verifiable that Bevy never used DirectX 9, DirectX 10, shadow volumes, HLSL, Cg, Vulkan, or Metal (I'm not sure about OpenGL or GLSL; those were before I got involved with the project). It chose the better path (wgpu) early on. That's all I was saying.
- DangitBobby 2y agoIt can't be "built the right way" if it isn't finished. We actually don't know if it can be built the right way until it is finished.
- pcwalton 2y agoI have about a half dozen PRs open, plus more on the way, that will get Bevy's renderer up to rough feature parity with Godot (Godot will have some things Bevy doesn't, like SDFGI, and Bevy will have some things Godot doesn't, like deferred and GPU occlusion culling). I have no doubt in my mind that Bevy's design is solid, but if you're skeptical, we will find out very soon :)
- troupo 2y ago> and that adds a lot of complexity. Well, the example code for a simple button referenced in the article has insane complexity that has nothing to do with WebGL though. It's precisely "the right way" that adds a lot of complexity.