this post was submitted on 27 Apr 2024
107 points (96.5% liked)
Rust
6030 readers
1 users here now
Welcome to the Rust community! This is a place to discuss about the Rust programming language.
Wormhole
Credits
- The icon is a modified version of the official rust logo (changing the colors to a gradient and black background)
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Well, the alternative to "Rust" here is not another programming language, but rather another game engine.
Because ultimately, most game engines will be implemented in either C++ or Rust, for performance reasons, and C++ itself isn't terribly better at iteration speed than Rust.
The C++ engines have simply already invested decades into abstractions, like an ECS architecture, higher-level APIs and scripting languages. There's nothing inherent to Rust which prevents these abstractions from being built into game engines, it just hasn't been around for that long.
Well, generously I think this guys point is that you shouldn't use rust for developing actual game logic (you'd use those higher level scripts). For game logic, it's bad bc it's not very iterative - and the rest of the stack sucks too but everyone knew that getting into it. But yes, I'm sure you could make a game engine with it
Exactly. I make games for a hobby in Godot, and my workflow is to iterate in GDScript and optimize in something faster (I wrote a world gen in Rust).
Most of a game's performance is going to be in the engine in shaders, physics, etc, so most of your logic could very well be in a scripting language.
How well does Godot integrate with modules written in other languages? I assume you have to compile a library for each target platform on your Rust component and then link it dynamically in Godot somehow?
Pretty much. If you're using Godot 4, you use gdext, and for Godot 3, use gdnative.