Live data from Hacker News

Leaving Rust gamedev after 3 years

loglog.games

751–760 of 996 posts

Re: Leaving Rust gamedev after 3 years

#751
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…

Maybe you are both right but your scales are orders of magnitude apart.

Re: Leaving Rust gamedev after 3 years

#752

Earlier quoted context omitted.

> I'd think that an ideal game dev language would be programmer time efficient, reasonably performant and designed for skilled programmers who can handle a language filled with footguns. Basically a better version of C such as a selective subset of C++ or a Golang without garbage collection. I agree so much that I've been working on this for a whole year. There is a sweet spot : non-GC, with pointers (but bounded), i…

Seeing presence/absence of semicolons in the list of primary features makes me wary. And it takes a lot of people to make good tooling.

I'm 100% fed up typing those damned semis all the time.. That's the very initial reason I embarked on a dialect of C. (That and strings)

They're mostly useless and a visual annoyance.

Re: Leaving Rust gamedev after 3 years

#753

Earlier quoted context omitted.

> Rust game development feels like a solution looking for a problem to fix. The same can be said for ordinary CRUD backends. Java, C#, Go and Typescript (Node, Deno or Bun) are all memory safe with good type systems and more than good enough performance. Evangelism around Rust is unfortunately still a thing. A good example is the latest hype in the community because some Google Manager said at a Rust conference that…

This is not necessarily a bad thing. Especially given that Rust is an immediate upgrade with no downsides when moving away from C or C++. It is easy to see with people never wanting to go back, which also involves getting companies and products to adopt it as you would otherwise be forced by the market to work with inferior tools. As a counterexample, .NET suffers a lot from the lack of evangelism - big chunk of comm…

[flagged]

Re: Leaving Rust gamedev after 3 years

#754

Earlier quoted context omitted.

I also remember by videogame magazines I was reading back in early 90s that another C++ compiler that was a favourite among devs was Watcom C++ that was released in 88.

That doesn't mean that it was used primarily with C++ though. IIRC Watcom C/C++ mainly became popular because of Doom, and that was written in C (as all id games until Doom 3 in 2004 - again IIRC though). The actual killer feature of Watcom C/C++ was not the C or C++ compiler, but its integration with DOS4GW.

Btw, dont’t remember Turbo C or Borland C++ to be able to compile to 32-bit x86 on DOS

Re: Leaving Rust gamedev after 3 years

#755
post #51
post #41

Earlier quoted context omitted.

Did you read the part where they said that they're a two-person indie game studio with a development cycle of 3-12 months max?

That's not an argument against parallelism in game design in general.

Thinking parallel is heavy mental load to carry even if rust gives you the tools to make the load lighter.

If one or two threads(game loop & rendering threads) is enough why increase the difficulty by going even more concurrent, for little to no extra payout.

Re: Leaving Rust gamedev after 3 years

#756

Earlier quoted context omitted.

It's a weird concept to "care about programming". Same as "inadequate code". I find this statement really condescending and completely confirms some of the cliché quotes that the author write in this article

By "care about programming" I basically mean writing maintainable code. By "inadequate code" I mean code that does what the author wants at this point in time, but is completely unmaintainable and just bad. Sloppy practices, etc

Well sorry, but it wasn't obvious

I still think it's a bit condescending because at the end of the day, especially in indie games, there are less constraints of maintainability, you just want to ship something that works fast. On top of that, the performance constraints force you to do things perceived as heresy in other areas (global singletons, functions you can call from anywhere, not catching any exception...)

And finally, since when you're doing a game you're often trying to do something innovative and very specific, you can't really just pick a book about design and implement it.

So, I think it's not about "caring" or not, it's just that it's an useless overhead

Re: Leaving Rust gamedev after 3 years

#757

Earlier quoted context omitted.

Here's a trace of a Bevy demo: https://i.imgur.com/oXUxC2h.png You can see that all the CPUs are being maxed out. This actually does result in significant FPS increases. Does it matter for every game? No. But it does result in better performance!

That makes no difference if the game is boring.

You could say that about any game engine. Are you suggesting Bevy should try and not optimise performance because perf and fun are not correlated?

Re: Leaving Rust gamedev after 3 years

#758
post #48

I find that Jonathan Blow ranting about Rust game development here https://www.youtube.com/watch?v=4t1K66dMhWk . He adds interesting perspectives to the discussio, how the language makes the Rust game developer resort to arrays and their so called Rust point of views.

The blog post reminded me of a quote from Jonathan Blow as well. I forgot the exact wording, but basically he said that Rust makes you treat every state of the project to be production ready (e.g. free of memory safety bugs), but in game development, most of the time the project needs not to be production ready, and for a good reason (rapid prototyping). You just have to fix the really bad things (crushing bugs) before shipping.

Re: Leaving Rust gamedev after 3 years

#759
post #566

Earlier quoted context omitted.

Sorry I got lost in that sentence. What is Rust's model?

Rust has traits on structs instead of using inheritance. Aka composition.

Even PHP as traits by now. Languages tend to incorporate others Languages successful features. There is of course feature inflation risk of course. There are Languages that take as a goal to avoid that inflation, such as Zig, or that arrives there as a byproduct of being very focused in a specific use case like AWK.

Re: Leaving Rust gamedev after 3 years

#760

Earlier quoted context omitted.

That makes no difference if the game is boring.

You could say that about any game engine. Are you suggesting Bevy should try and not optimise performance because perf and fun are not correlated?

I'm saying that making it easy to experiment with different gameplay mechanics is far more important than making it the most efficient. Even more so in case of small studios.
Post reply on HN