This was a really good summary of what Rust feels like in my opinion. I’m still a beginner myself but I recognize what this article is saying very much.

The hacker news comments are as usual very good too:

https://news.ycombinator.com/item?id=40172033

  • farcaster@lemmy.world
    link
    fedilink
    arrow-up
    0
    arrow-down
    1
    ·
    edit-2
    5 months ago

    TLDR: “I picked a systems programming language to write and iterate on a bunch of gameplay scripting. Why does Rust not meet the needs of a gameplay scripting language like <every link in the article which either refers to dedicated game-programming scripting languages, or Unity which is whole goddamn commercial game engine>. Hmm yes, the problem must lie with Rust, not with the choices I made in my project.”

    Just try to write a complete game with nothing but open source libraries in C++, or C#, or Java. Good luck with that. The author is switching to Unity for a very good reason. It turns out a commercial product made by 6000 people delivers value…

    You use a systems programming language to write your engine. And then a scripting language to write your game. Everybody in gamedev knows this, I thought.

    • Phoenix3875@lemmy.world
      link
      fedilink
      arrow-up
      0
      ·
      5 months ago

      It’s not that the author picked Rust for scripting. All Rust game engines (e.g. Bevy) use Rust as the scripting language.

      Compare this with Godot, which is implemented in C++, but supports GDScript and many other languages for scripting.

      Also, only supporting Rust is not considered a limitation, but a feature here. Bevy’s ECS is tied up with Rust’s trait system, therefore it’s impossible to use a different language.

      So if Rust as a system programming language should not be used for game scripting, then projects like Bevy are fundamentally flawed. The author is willing to go there, but I don’t know if many people would go that far.

      There could be a Godot-like engine written in Rust that supports easier scripting languages, but I think that space is not explored due to the fact that Godot already exists.

      • anlumo@feddit.de
        link
        fedilink
        arrow-up
        0
        ·
        5 months ago

        Bevy’s ECS is tied up with Rust’s trait system, therefore it’s impossible to use a different language.

        Bevy has added runtime-defined systems and components to enable scripting integration in recent updates.