Live data from Hacker News

Leaving Rust gamedev after 3 years

loglog.games

111–120 of 996 posts

Re: Leaving Rust gamedev after 3 years

#111
post #14

> I'd argue as far as maintainability being the wrong value for indie games, as what we should strive for is iteration speed. That seems to be the crucial point. Rust is optimized for writing complex systems software in large teams. That’s not a great fit for a small team hacking on something that is at least in part an art project. You wouldn’t choose something like Ada for that either.

I copied this exact same snippet and was going to comment the exact same thing.

Why choose Rust if you don’t care about maintainability and long term stability? Those are core values of the language!

The language choice was wrong from the start. C++ is king for games so if you care more about delivering features and fast prototyping why not go with that?

Maybe Rust is not a good language for rapid iteration in the game industry. And that’s ok I think.

Re: Leaving Rust gamedev after 3 years

#112
post #57

> Orphan rule should be optional That has got to be the most "I didn't think this through" take ever. While it's a known pain in the ass. Not having it is a bigger pain. The moment you allow this, you have to find a way to pick between several implementation - and they don't always have sane names. Orphan rules prevent this from happening.

Someone who has experienced real problems as a result of a specific mechanism is not required to solve every single problem with alternatives to that mechanism before saying "this mechanism has caused me real problems and it'd be nice if there were a better alternative that didn't cause those problems".

> The moment you allow this, you have to find a way to pick between several implementation - and they don't always have sane names.

There are other possible solutions that don't involve that.

For instance, many applications would be quite happy with "There can be only one implementation", giving a compiler error if there's more than one.

A slightly more sophisticated rule would be "Identical implementations are allowed and treated as a single implementation". This would be really convenient in combination with some kind of "standalone deriving" mechanism, which would generate identical implementations wherever it was used.

Re: Leaving Rust gamedev after 3 years

#113
post #53

Earlier quoted context omitted.

The problem with languages is they don't compose. Iow, one missing feature needed automatically invalidates the language entirely. Swift is targeted at Apple platforms and cross platform is an after thought. Kotlin targets JVM and while it is cool in concept, I hate it as a user (and Kotlin native isn't near as mature). If were considering something else at this stage I'd probably put my time into F#, but even it has…

And if we're still talking about gamedev, F# would probably make the GC too sad. (When are we getting a low latency collector in the CLR? But I digress...)

Yeah I'm not a game dev and don't write anything with low latency requirements. Almost all my code is in the "thoughput" camp.

Re: Leaving Rust gamedev after 3 years

#114
Absolutely agree with the comments on ECS and Bevy in particular. I tried getting to grips with it for some time, doing things the Bevy way, and it just felt like a big step backwards because it’s not suitable for most things. The renderer was really slow at the time too, although I imagine that has improved. Switched to plain rust + vulkan (via ash) + dear imgui and haven’t looked back.

Re: Leaving Rust gamedev after 3 years

#115

Earlier quoted context omitted.

Parts of the Rust community are toxic indeed, but I've been around long enough to recognize the same pattern in communities of other hot programming languages or frameworks in their up-and-coming phase. There's something about the new hot language/framework/paradigm that always attracts the type of people who wrap their identity up in the hot new thing. They take any criticisms of their new favorite thing as criticis…

> What I see now in certain Rust communities feels a lot like what I saw in Golang communities in the early days. I had similar experiences when React was the new kid on the block, too. Go was released in 2012, Rust in 2015. Are you saying we are still in the early days of Rust?

Yes.

C was invented in the '70s and only got standardized 20 years later.

And Rust's ~20 years is young in systems lang terms (the alternatives, C and C++, are 50 and 40 years old).

And nobody had TikTok back then.

Re: Leaving Rust gamedev after 3 years

#116
post #27

This is a very brave post to write given how incendiary responses to rust criticism can be, but this matches my experience entirely.

I think I just read about 10 versions of this comment on this page, and definitely not a single response to the criticism that could be described as incendiary. I don't think I even saw a single comment just now that fundamentally pushed back on the premise of this article, let alone in an incendiary way. It's early yet, and maybe this thread will look very different in a few hours though?

Perhaps because the article is about how Rust isn't the magic bullet to everything, and a few people have commented agreeing with the article, others feel more willing to comment their own Rust isn't perfect opinion as well.

If you go into the comment section of a pro-Rust article, where the first few top-level comments are also pro-Rust, the responses to people expressing a negative attitude about Rust tend to (in my experience) be different.

This phenomenon certainly isn't exclusive to Rust (or HN). It happens all the time, especially when a prolific commenter is among the first few comments. It can set the tone for the entire comment section.

Re: Leaving Rust gamedev after 3 years

#117
post #14

> I'd argue as far as maintainability being the wrong value for indie games, as what we should strive for is iteration speed. That seems to be the crucial point. Rust is optimized for writing complex systems software in large teams. That’s not a great fit for a small team hacking on something that is at least in part an art project. You wouldn’t choose something like Ada for that either.

Rust is not antithetical to iteration-based programming, it just makes you write a lot of heavy boilerplate to explicitly support that kind of style. The flip side of that is once the 'iteration'/'prototyping' phase is over, you can actually refactor the prototype into high-quality production code, instead of either throwing it away altogether and rewriting it from scratch (spoiler alert: this doesn't really happen most of the time, because it's viewed as pointless waste) or just putting it in production as-is (which is what people actually do, even though it's obviously a disaster in the longer run).

Re: Leaving Rust gamedev after 3 years

#118

Interesting to me to have [iteration speed] [maintainability] spelled out as opposite ends of a spectrum... and that sometimes [iteration speed] is the right thing to optimize for.

It's not news though? Favoring iteration speed at the cost of future maintainability is a common argument for dynamically typed languages.

Re: Leaving Rust gamedev after 3 years

#119
post #94
post #19

As much as I love Rust I sometimes wonder if I'd be more productive in a simpler language. If I wrote it every day I'm not sure that would be true, but as a hobbyist coming back to Rust sometimes takes me a bit to get back in the zone. Also, still not a fan of async, as it is woefully incomplete and fairly complicated in some use cases. That said, I just can't go back to Go with nil pointers and lack of decent enums/…

I mean.. Java is there. Java 23 is really interesting.

When is Java getting value types? It has been talked about forever now.

Re: Leaving Rust gamedev after 3 years

#120
post #14

> I'd argue as far as maintainability being the wrong value for indie games, as what we should strive for is iteration speed. That seems to be the crucial point. Rust is optimized for writing complex systems software in large teams. That’s not a great fit for a small team hacking on something that is at least in part an art project. You wouldn’t choose something like Ada for that either.

[deleted]
Post reply on HN