I was playing Ark: Survival Ascended [1] the other day and it crashed [2] three times on me in a single play session. It also tops out at about 45 FPS at 1440p on an RTX 3090 + Ryzen 9 5900X. Clearly playing loose with memory safety is a cause for concern for game developers and players alike, and eschewing memory safety isn't a magic bullet for performance.
Personally, I would prefer a 10% perf hit (40 FPS) for a memory safe implementation that doesn't crash. And if I had to generalize, I think it would also be an acceptable tradeoff for everyone else who just wants to play games instead of deal with constant unnecessary interruptions.
The problem also isn't with shipping quickly. Games take a lot of time to build. The real problem being highlighted in this hot Internet take is that a certain subset of game devs are struggling with complacency.
And these development timelines are not outliers. This is just the nature of big projects regardless of the industry or product. That is to say it's a matter of scale. Nothing specific to games. The rest of this thread goes into some interesting details which serve as examples of why big projects take a long time. The bigger the project, the more of these details there are to work out. Sometimes you can leverage someone else's time (UnrealEngine) because they've already worked out many of the same details.
On the other hand, I can empathize with these frustrations. As an early adopter of bevy, I found it far too immature for making a large-scale game. To the point where I abandoned the entire game 2 years ago, after 3 months in development. This was a good "fail fast" experience for me, and I didn't trap myself into any kind of sunk cost bias.
I picked Godot/gdnative for my next project. And while it fixed some of the issues I had with bevy, I quickly discovered that Godot 3 is also not suitable for a large-scale game. More mature toolchain, different set of problems blocking the same goal. Godot 4 looks better still, but also needs work with e.g. reversed depth to support large sprawling scenes. I have not yet tried to port my old game to it.
I would argue that game dev in Rust is not any messier than game dev in C++ (it's actually much cleaner!) or even compared to other available game engines. You just trade one set of problems for another set of problems when migrating between any of these.
I'm picking on Ark here because it's a recent example that is fresh in my mind, but these instability problems plague gaming. If even half of them are caused by memory safety problems, that's a statistically significant proportion which could be avoided with a memory safe language. (The data suggests the number of security vulnerabilities caused by memory safety violations is between 40%-70%. But that's a different metric from stability bugs, and I don't know what the stats are for that.) ↩︎
This reddit thread is not mine, but it has a screenshot of the crash reporter. ↩︎