Leaving Rust gamedev after 3 years
Rust and game development fit
- Many agree Rust’s strengths (safety, maintainability, systems‑level control) don’t align well with typical indie game needs (rapid prototyping, experimentation, “feel” tuning).
- Common view: Rust is better suited for engines, backends, and infrastructure than for high‑level game logic or UIs.
- Several argue that for most indie games, performance is “good enough” with GC’d or higher‑level languages, and iteration speed matters far more than Rust’s guarantees.
Borrow checker, iteration speed, and refactoring
- Repeated theme: the borrow checker forces large refactors when experimenting, making it hard to “just try something” and come back later to clean it up.
- Some enjoy this, saying early compiler feedback leads to more robust designs and fewer heisenbugs.
- Others say this front‑loads effort in the least certain phase (design/prototyping), where throwing code away is normal and correctness is less critical.
ECS, Bevy, and architecture debates
- Heavy debate over ECS and Bevy: some see ECS as overused and painful for gameplay/UI, pushing awkward “fat systems” and boilerplate.
- Others counter that Bevy’s ECS plus Rust’s mutability rules enables powerful automatic parallelism and cache‑friendly data layouts, but concede it’s immature and missing editor‑grade tools.
- There’s skepticism toward Bevy’s “do everything in ECS/Rust” approach; many advocate a Rust core plus scripting layer (Lua, JS, C#, etc.).
Async, tooling, and ecosystem concerns
- Async/Tokio is criticized as “viral” and over‑centralizing: bringing it in for one crate often forces it across the codebase, which feels wrong for systems or games.
- Tooling and ecosystem are seen as strong for CLIs and servers, weaker for GUIs and gamedev (few polished, long‑lived libraries; web/wasm constraints; console support issues).
Language comparisons and alternatives
- Multiple comments suggest C#, Godot, Unity, Unreal Blueprints, Lua, Python, Elixir, F#, OCaml, Nim, Zig, Odin, Haskell, and others as better fits for fast iteration.
- Pattern many suggest: low‑level engine in C++/Rust, high‑level game logic in a dynamic or more forgiving language.
Rust community and culture
- Several posts criticize parts of the Rust community as defensive or “cult‑like,” especially toward fundamental complaints about the language.
- Others say this pattern appears with many “hot” technologies and is fading as hype cools; they report positive, technical discussions in more focused Rust spaces.