• BB_C@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    20 minutes ago

    Reads okay for the most part. But I like how we see the same point about AI as a feature in some more serious real-life projects. There, we frame it as “Rust makes it harder for a ‘contributor’ to sneak in LLM-generated crap”.

  • pipe@lemmy.world
    link
    fedilink
    arrow-up
    2
    ·
    1 hour ago

    I agree about the rust gui situation highlighted in a few of the comments here. It’s tough to make it work in a truly native-feeling, rust-idiomatic way with the frameworks out there.

    • FizzyOrange@programming.dev
      link
      fedilink
      arrow-up
      1
      ·
      3 hours ago

      Games might be an area where it isn’t too bad since you can disable the GC while doing all your physics and graphics, and then just after you’ve dispatched a frame trigger a GC with a hard time limit.

      I don’t know if Unity works like that but it should.

      • FizzyOrange@programming.dev
        link
        fedilink
        arrow-up
        14
        arrow-down
        1
        ·
        5 hours ago

        Nah AI can be extremely useful for learning technologies. You just need to be careful to verify they aren’t bullshitting you.

        For example find an explanation of PPM compression that is concrete and simple. As far as I can tell it doesn’t exist.

        But I could ask ChatGPT and it told me how it works (probably) in just a few seconds. I haven’t verified yet (at a BBQ) whether it is the correct algorithm but it’s certainly a plausible one that would work.

        It told me that you use a trie (typically) of symbol prefixes to record the probability of the following symbols, so for example you know that for the prefix “Th” the probability of “e” is 90%. Then you encode the symbol with arithmetic coding using the modelled probabilities. Apparently the typical max context length is 4-6.

        That would have taken me hours to find by reading code and ancient papers but I can verify it a lot quicker.

      • Rogue@feddit.uk
        link
        fedilink
        arrow-up
        17
        arrow-down
        8
        ·
        7 hours ago

        Using the term “discuss” is just creepy. It’s a piece of software. Do people actually think they’re conversing when they use an LLM?

  • livingcoder@programming.dev
    link
    fedilink
    arrow-up
    14
    ·
    6 hours ago

    This was a great blog post. I love Rust and Bevy, but I can definitely see why you made the switch.

    The primary issue with your decision to use Rust/Bevy, for me, was that you were taking on the task of getting others to work in a difficult language for novice developers. I would never suggest Rust as someone’s first language, coupling that with a regularly-changing library like Bevy.

    I would love to know what the pros and cons were between Unity and Godot. If you were going to switch to C# anyway, Godot seems like the next logic choice to me, so I’m curious about what your team’s evaluation was for that engine.

  • Justin@lemmy.jlh.name
    link
    fedilink
    arrow-up
    10
    ·
    7 hours ago

    Not here to doubt their decision, they had good reasons to switch.

    For the sake of discussion though, would it have been easier though if they had focused more on abstractions with their code architecture? I haven’t done any serious projects in Rust, but those issues with low-level coding and API thrash seem like more of a code architecture problem. Like, that example of a function signature seems like they should have bundled up their paperdoll logic more into a single “PaperdollLoadout” struct and moved that into a separate game logic function separate from the view related code. It’s more code to write, but that’s the up-front cost of strict type checking.

    Modding and learning definitely seem like a big barrier for Bevy overall though.

    One decision i will question is picking Unity over Godot, though maybe they were still reeling from the learning issues on Bevy.

    • Justin@lemmy.jlh.name
      link
      fedilink
      arrow-up
      7
      ·
      7 hours ago

      Quick google search points out this blog post for tips and tricks for prototyping stuff like game features in Rust: https://corrode.dev/blog/prototyping/

      Definitely something that I’m going to try when I have to time to get back into Rust. Probably good advice for most people who are unhappy with Rust. Being attracted by Rust’s unique optimization tools too early on seems like a big beginner trap.

  • coacoamelky@lemm.ee
    link
    fedilink
    English
    arrow-up
    8
    arrow-down
    1
    ·
    6 hours ago

    I’m really impressed with the management of this project. Using rust isn’t more important than the game itself.