Hacker News new | ask | show | jobs
by bsder 1018 days ago
> On the game engine side, there's the comment that Rust has 50 game engines and 5 games.

Bingo.

The problem in the Rust ecosystem is that people are writing libraries instead of applications.

This is backwards. Until you have a couple of applications written, you have zero idea what to abstract.

I'll go further. The Rust GUI ecosystem is fundamentally doomed because they are absolutely insisting that any GUI thing must run on desktop, mobile, and web simultaneously. The abstractions required between those domains are fundamentally incompatible.

Desktop apps want "Give me all your cores. Now." Mobile is all about "Please, sir, can I have some battery?" Web is all about "Back in my day all we had was one damn thread so that's all you get and you'll like it."

I would personally cheer if we had one good Rust GUI framework for each of those cases.

6 comments

My understanding is that most of the new generation of GUI frameworks/application runtime are targeting all platforms. And there's clearly a demand for such feature set if the popularity of Electron says anything. Software businesses no longer want to specialize on specific platforms. What's more, it's provably[0] doable[1] to[2] do[3] so[4]. So, why shouldn't they?

    [0]: https://avaloniaui.net/
    [1]: https:/flutter.dev
    [2]: https://platform.uno/
    [3]: https://unity.com/
    [4]: https://www.jetbrains.com/lp/compose-desktop/
> most of the new generation of GUI frameworks/application runtime are targeting all platforms

And they all fail miserably in innumerable ways that make you reach for OS-specific solutions if those frameworks allow that.

Just the simple fact that mist mobile is touch-oriented small screens with imprecise controls, and desktop is mouse-and-keybord-oriented with big screens and precise controls make the two largely incompatible.

> Desktop apps want "Give me all your cores. Now." Mobile is all about "Please, sir, can I have some battery?" Web is all about "Back in my day all we had was one damn thread so that's all you get and you'll like it."

As a Rend3/Wgpu user, I'm very aware of that.

Web is very "you only have one thread and you will use async."

> The problem in the Rust ecosystem is that people are writing libraries instead of applications.

I totally second this.

Got the same feeling after developing https://glicol.org/

Rust community seems altruistic, so perhaps they're just making the mistake of trying to fix everybody's problems instead of just focusing on the simple immediate one: making money.

I could suggest that this is why capitalism works as a tool to improve society, but perhaps that extrapolates a bit too wildly.

The most popular game engine ever is developed by a company that doesn't make games.
The company's root are of a gamedev (Over the Edge Entertainment) and recycled their in-house engine as a product. Godot Engine has similar roots (look up OKAM Studio)
> The most popular game engine ever is developed by a company that doesn't make games.

So? They have the feedback from thousands of games and game developers so they focus on alleviating the pain points.

If you don't have feedback, you may as well not bother.

Ship your Rust game, then you know what the pain points are. Until you ship, you're guessing.

Mostly because it is the only available option if one wants C# instead of C++ with great tooling, asset store and official backing from platform owners.

None of Rust libraries is even close of getting there, even the studios that apparently support Rust, are shipping on Unreal.

So basically, the same problem any cross-platform framework has.