Comment by api
9 months ago
> Making a fun & interesting games is about rapid prototyping and iteration, Rust's values are everything but that
I feel like this is the core of the author's frustration.
Rust is a systems language. It's for writing tight fast C-like code but safely and with a much more powerful type system.
The facilities you need to do this are somewhat at odds with what you want for rapid iteration.
Seems like Rust was the wrong tool for the job.
> Seems like Rust was the wrong tool for the job.
Sure, but the problem is when you have a community around that tool that insists otherwise.
Can you please give an example of that? Rust is very much advertised as a systems programming language. Can't really blame people for using it and going "oh it's harder than go and python"...
https://bevyengine.org/
From the website:
> From startups to large corporations, from embedded devices to scalable web services, Rust is a great fit.
Are these "systems"? FWIW "systems" does not appear on the Rust home page.
From wikipedia:
> Rust is a multi-paradigm, general-purpose programming language that emphasizes performance, type safety, and concurrency.
2 replies →
I would think a modern systems language such as Rust wouldn't require a systems development methodology from the 1970's. There's no inherent reason you shouldn't be able to rapidly prototype a system and then refactor the prototype into your actual implementation.
Exactly!
C/C++ -> move fast and break things
Rust -> move slowly and don't break anything
If they tried to use C++ it would have ended absolutely the same way.
As someone who works in gamedev I can assure you C++ is same bad choice for 2 man indie project. In search of fast iteration times games have moved away from writing code in low level languages. Hardware for casual games is much bigger and faster than anything small team is able to make.
Yes, and if you want move fast and don't break things you need a higher level language like Go, Java, C#, etc.
I'm pretty fast in Rust but not as fast as Go, mostly because Rust's type system and borrow semantics come with a higher cognitive load.
I find both to be faster than C++. Rust is faster because I have to worry less about blowing my feet off with memory errors. I can't think of anything to recommend C++ now that Rust exists.
In my experience, Rust -> move faster than C/C++ because you don't have to keep fixing things.
Yeah, I rather like the pattern of embedding a more rapid iteration scripting language on top for game stuff like Lua or stripped down Python variants, using Rust as the core and hot loop code. That said, there is a lot of folks wanting to do it all in Rust, and the article touches pretty well on that not being the pleasant case for a lot of valid gamedev approaches.
Lua is often used for this in gaming.
Yup! I found Lua pretty lovely to use with Rust in my case.