Rust: maybe not for rapid iteration
I have ported small utilities to Rust and enjoyed the language something of a C-ML hybrid. However, I have noticed there is a type of user that is unsatisfied with the language. They used Rust for a new, larger project that required them to build prototypes and iterate quickly. In the end, they found Rust poorly suited for it compared to other languages.
The point of this page is not to assert that every user of this type ends up unsatisfied; rather, it is to highlight a category of users that should be extra cautious if they are considering Rust.
Matt Welsh. Link.
Rust has made the decision that safety is more important than developer productivity. This is the right tradeoff to make in many situations — like building code in an OS kernel, or for memory-constrained embedded systems — but I don’t think it’s the right tradeoff in all cases, especially not in startups where velocity is crucial. I am a pragmatist. I would much rather have my team sink time into debugging the occasional memory leak or type error for code written in, say, Python or Go, than have everyone on the team suffer a 4x productivity hit for using a language designed to avoid these problems entirely.
Andrew Israel. Link.
Slower iterations. When you first start with Rust, you’ll end up fighting the compiler a bit. This is natural and gets easier over time. However, at a new startup, one of the core problems is to figure out if you are building something useful.
A quick MVP can be invaluable in determining if you are on the right path or lost in the woods. All that time spent making readable, performant code might be wasted.
LogLog Games. Link.
[…]
I’d even say that it is correct and desirable that players do not care about the developer and just look at the game for a few seconds, but at least that keeps us honest. It keeps the games be about the game itself and nothing else, because ultimately, it is the game and the experience of playing it that matters.
It also reveals the values one as a game developer should appeal to. If you’re showcasing your game and the response is anything but “can I please play this?”, the game was not interesting to the person who you showed it to. At least not in the sense that truly matters for the purposes of making commercially successful games.
People would often argue that Rust appeals to values like “maintainability” and how this leads to better games that don’t crash, but I think the problem here is completely different scales. Surely we can all agree that a game crashing when someone presses play is bad, and it is definitely bad when you corrupt a save file and the player loses progress.
But I think all of this completely misses the point of what matters to players. There are many cases where people would get their progress wiped and they’d still come back to the game and play it again, because the game was that good. I’ve done this more than once as a player.