Live data from Hacker News

Leaving Rust gamedev after 3 years

loglog.games

811–820 of 996 posts

Re: Leaving Rust gamedev after 3 years

#811
post #46

> Rust gamedev ecosystem lives on hype I've been saying this for years. I've tried to get into Rust multiple times the past few years and one of the things I've tried was gamedev with Rust (specifically the library ggez when it was still being worked on, and a little bit of Bevy). I admittedly never got far, but I gave it a solid shot. My experience was instantly terrible. Slow compile times and iterations, huge pack…

We're doing more and more of our back-end work with Rust. The main reason is the performance it provides. It's not just great for our end-users it's also so much cheaper in the modern world where we pay per mileage in the cloud. Part of what we really like about Rust, however, is actually exactly the variable ownership because it makes it very straight forward to enforce and control data-integrity and avoid race cond…

> C/C++

is not something that exists in the real world.

Re: Leaving Rust gamedev after 3 years

#812
post #800
post #792

Earlier quoted context omitted.

As a java dev, please break backwards compatibility. Almost all of us are willing to spend time fixing a few lines and recompiling.

As polyglot dev that also does Java, I hope not, last January I deployed yet another Java 8 workload into production.

Yeah but if the older releases still got security updates, it'd be more acceptable I feel.

Re: Leaving Rust gamedev after 3 years

#813

Earlier quoted context omitted.

Had to look up ECS to be honest, and it's pretty much what I already do in general dev. I don't care to classify things, I care what I can do with something. Which is Rust's model.

Interfaces or traits are not ECS though. ECS is mostly concerned about how data is layed out in memory for efficient processing. The composability is (more or less) just a nice side effect.

This is correct. I wonder how Rust models SoA wirh borrowing. Is it doable or becomes very messy?

I usually have some kind of object that apparently looks like OOP but points all its features to the SoA. All that would be borrowing and pointing somewhere else in slices or similar in Rust I assume?

Re: Leaving Rust gamedev after 3 years

#814
post #109

This is a sobering read. Thank you for sharing. This sums it up for me: > Rust as both language and community is so preoccupied with avoiding problems at all cost that it completely loses sight of what matters, delivering an experience that is so good that whatever problems are there aren't really important. This doesn't mean "ship crap games", it means focusing on the game being a good game, not on the code being go…

To be fair, many (non-game dev) Rust projects I have seen/used do provide great user experience precisely because they are laser-focused on performance and have blown existing alternatives out of the water. (Think ripgrep, fzf, etc.)

Prototyping is certainly necessary but it shouldn't be at the cost of runtime performance – at least not too much –, because it will typically be very difficult to improve performance after the fact, which web development frameworks, and in particular shitty "web" applications like MS Teams are a testament to.

As always, it's about balance.

Re: Leaving Rust gamedev after 3 years

#815
post #560

Earlier quoted context omitted.

If you were to write the same code without using async you'd be trudging through a mess of callbacks and combinators. This is what writing futures code before 2018 was like. It was doable if you needed the perf but it sucked. Async is a huge improvement to readability and reasoning that we didn't have before.

No, actually that was just javascript. Programming environments with threading models don't have to live that way. Separate threads can communicate through channels and do quite well for themselves. See how it works is, you do something like let data = file.read(); and the it just sits there on that line until the read is done and then your data has the actual bytes in it and you just use them and go on with your lif…

Until you need cancellation

Re: Leaving Rust gamedev after 3 years

#816

The Rust community is one of the top arguments against rust. I've never before been so condescended to as when attempting to ask questions there. Their lack of care for perf also drives me up a wall. Anytime they propose adding an extra layer of indirection to get around the borrow checker, I have to explain yet again that with the way modern CPUs work, extra layers of indirection have serious cache-related perf cost…

> when attempting to ask questions there Could you please give an indication of which venues you've encountered this kind of condescension in? I don't tend to see this in the spaces I frequent, but I know it is happening, and I wish it weren't. We try, sometimes, to provide some official messaging discouraging this kind of condescension, but perhaps there's something more we can do.

I don't do this usually because it's not constructive and incites flamewars, but since it was asked, this is whats 5 minutes of browsing comments got me.

1) https://news.ycombinator.com/item?id=40175427

Implies OP doesn't care about programming:

> The vibe that I'm getting is that it's filled with people that don't particularly care about programming, they just want to get stuff done(TM), this is also highlighted by the fact that they are willing to write completely inadequate code just to see things working. Rust is not that, and that's a good thing.

2) https://news.ycombinator.com/item?id=40173609

Handwaves Rust's complicated and onging async history and pinpoints the problem to "this guy":

> Why is async such a dealbreaker for this guy? Especially for web dev.

3) https://news.ycombinator.com/item?id=40172636

Another "you're holding it wrong":

> That has got to be the most "I didn't think this through" take ever.

4) https://news.ycombinator.com/item?id=40172605

As a newcomer, not thinking the Rust way is a sin and if you ask dumb questions you deserve retaliation, apparenlty:

> "On the other hand, Rust communities are inundated with people trying to write Rust as if it was their old favorite language..."

> "..In my experience, Rust community members who arrive with well thought out complaints or suggestions are welcomed by the people who like working on programming language fundamentals."

5) https://news.ycombinator.com/item?id=40172883

More handwaving of Rusts shortcomings. Plus contradiction on the same sentence:

> "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."

Re: Leaving Rust gamedev after 3 years

#817

Earlier quoted context omitted.

As a non-game dev who uses Rust and Elixir, Rust wouldn't be my first pick for a large gamedev studio for multiple reasons. As for alternatives worth evaluating: Crystal, Cython (compiled Python), or Nim could result in increased gamedev productivity over C++ or C#. Maybe even Go because the iteration and compile times are very fast, and the learning curve is very low.

Go is infamous for its gc latency spikes, which is the thing that games cannot tolerate. Though 1.18 helped a lot, you'd have to do some major persuasion to game devs that Go's gc is the kind of thing they'd want in their game. --- EDIT: Not sure the downvote, Go is know for its (historically at least) unsuitability for RTC or game dev.

It is probably true for game engine dev, but not generally true for game dev, which is a vast field and not as computationally demanding as many imagine. I believe Go's unwillingness to be less strict about some (non-type) semantics would be a bigger problem for game devs than GC.

Re: Leaving Rust gamedev after 3 years

#818

Earlier quoted context omitted.

The hardest part of a project is finishing it. I think the main issue is the fun problems to solve happen very early in the project and once those are done it becomes incredibly tedius and boring and I usually lose focus until the project dies. Its difficult to maintain motivation.

Right. If someone could come up with a pill or something to maintain motivation and make all the bugs and hairy annoying details feel fresh again, just like the feeling of starting over, I would certainly part with my money. But there's no such thing unfortunately.

Adderall?

I'm only half-joking :)

Re: Leaving Rust gamedev after 3 years

#819

Seems like a few contradictory ideas here. Rust is supposed to be a better safer C/C++. Then lot of comments here that games are best done in C++. So why can't Rust be used for games? What is really missing beyond an improved ecosystem of tools. All also built on Rust.

This is not a matter of tools though, did you read the article? The main pain point is that Rust semantically makes fast iteration impossible

Re: Leaving Rust gamedev after 3 years

#820

I've experienced a lot of these concerns while building https://github.com/MeoMix/symbiants I have a simple question that maybe someone smarter than me can answer confidently: If I want to build something akin to Dwarf Fortress (in terms of simulation complexity) as a browser-first experience - what stack should I choose? Originally, I prototyped something out using React, PixiJS, and ReactPixi ( https://github.com/M…

>If I want to build something akin to Dwarf Fortress (in terms of simulation complexity) as a browser-first experience - what stack should I choose?

I'd suggest Haxe with OpenFL or HaxeFlixel.

Post reply on HN