Rebuilding an old, complex C++ game in Rust

57 points MoveInteresting4334

Up front, this isn't a "How do I do this" post, just wanting to collect some opinions and maybe spark some discussion. I'm a big fan of Paradox and their grand strategy games (Crusader Kings, Europa Universalis, Victoria, Stellaris, etc.). Victoria 2 was an old game of theirs that essentially had a full actor-based model of the world economy, down to factories and individual people.

Anymoo, not everyone is in love with the sequel, Victoria 3, and there are a couple open source projects that are remaking Victoria 2 from the ground up. They all are using C++. That really surprised me, since they aren't using any assets or code from the original (for obvious reasons), so why not reach for Rust? I feel like if I have to model the data and interaction of many thousands of different kinds of actors in a complex global economy, Rust's type system and memory safety would be a godsend.

If you were undertaking a project on this, what would you go for? Maybe C++ for the available game dev libraries? Or would you reach for Rust's type system and guarantees? Or something else together?