Hi, I'm new to the Rust language and this community. There's an article that concerns me. Has it been resolved yet, or will it be? Thanks. Here's the link to the article:
[Rust seemed like the ideal language for video game programming. This studio ended up abandoning it after three years of focusing on it] Rust seemed like the ideal language for video game programming. This studio ended up abandoning it after three years of focusing on it Rust parecía el lenguaje ideal para programar videojuegos. Este estudio acabó abandonándolo tras tres años centrados en él
The Hidden Cost of Robust Languages
The main technical obstacle was the 'borrow checker,' a tool that ensures data isn't unsafely modified at runtime. While this feature is a cornerstone of Rust's design, in the context of video games—where rapid iteration and flexibility are essential—it proved to be a constant stumbling block.
As the developers explain,
"The 'borrow checker' forces refactorings at the least convenient times. [...] By the time a Rust developer finishes refactoring their code to comply with the 'borrow checker,' a C# developer has already tried several ideas and iterated on them."
This made rapid prototyping difficult, and made even the simplest modifications tedious and time-consuming—a luxury that indie studios with limited resources can't afford...
...but creating a working prototype quickly allows developers to experiment and evaluate ideas before investing significant resources into their full development.
The developers of LogLog Games found that making small changes to the design often required extensive refactoring, imposed by the compiler itself.
In other languages, such as C# or C++, it's common to implement quick, "messy" solutions during the prototyping phase and then refine them later. In Rust, this practice is nearly impossible due to language restrictions:
"The code in Rust is often cleaner, but that doesn't guarantee a better game. What matters isn't a perfect system, but how quickly you can implement and test mechanics to discover what works and what doesn't."
An ecosystem with little focus on video games
Despite criticism, LogLog Games acknowledges that Rust has undeniable strengths. The language is exceptionally good in areas such as command-line tools, data processing, and algorithms. Furthermore, its out-of-the-box performance is impressive, outperforming languages like C# even without extensive optimizations:
"Rust is a language that works well for projects where security and long-term stability are a priority. But for us, game development is about speed and creativity. And in those aspects, Rust simply didn't help us."
After making the decision to abandon Rust, LogLog Games plans to return to Unity, taking advantage of its advanced ecosystem and tools that support rapid iteration.
In contrast, the Rust ecosystem lacks mature tools comparable to those offered by Unity or Unreal Engine: no visual editors, no advanced UI systems, and so on.
A recurring point of frustration has been the widespread use of component systems (ECS) in Rust, such as the one implemented by Bevy. While these systems offer benefits in memory and modularity, they result in
"what might be one line of code in Unity or Godot becoming a 30-line task split across multiple locations."
Via | LogLog Games