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…
Leaving Rust gamedev after 3 years
751–760 of 996 posts
Re: Leaving Rust gamedev after 3 years
#752Earlier 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.
They're mostly useless and a visual annoyance.
Re: Leaving Rust gamedev after 3 years
#753Earlier 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…
Re: Leaving Rust gamedev after 3 years
#754Earlier 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.
Re: Leaving Rust gamedev after 3 years
#755Earlier 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.
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
#756Earlier 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
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
#757Earlier 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.
Re: Leaving Rust gamedev after 3 years
#758I 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.
Re: Leaving Rust gamedev after 3 years
#759Earlier 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.
Re: Leaving Rust gamedev after 3 years
#760Earlier 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?