• _NoName_@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    9 months ago

    Or, ya know, just learn another language. It’s not a big jump.

    Edit: Godot 4.x is already slated to support a plethora of languages- including C#.

    But even if the devs decided to not support C# for some reason: you’re really going to walk away from a game engine over not being able to use C#?

    • TheFogan@programming.dev
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      9 months ago

      Well I mean the biggest thing that would be the ultimate ideal would be anything that can maximize the ability to bring existing unity projects over to godot. IE minimal refactoring needed.

      Big thing is not just getting people to start their new projects, but what about those who have spent 3+ years mastering their game, only to have the rug pulled out from under them when it was 80% of the way to release worthy.

    • McWolke@lemm.ee
      link
      fedilink
      arrow-up
      0
      arrow-down
      1
      ·
      9 months ago

      It’s a single purpose language. Learning it will bring you no benefit other than using Godot.

      Learn c# and you can do basicly anything you want.

      Also gdscript is kinda ugly.

  • Smorty [she/her]@lemmy.blahaj.zone
    cake
    link
    fedilink
    arrow-up
    1
    ·
    9 months ago

    Why are we using C# I stead of C++ for the in editor language again? Inst C++ more compatible with everything? (I know that GDMatice exists, buts that’s a lot more work to use I feel)

    • kevin3kon@mastodon.social
      link
      fedilink
      arrow-up
      2
      ·
      9 months ago

      @Smorty @mac I have been wondering this non-stop since I found out #godot uses C#!

      I know the idea that C++ is the end-all-be-all is an oversimplification at best, but It’s still a decision I’d like to know more about.

      • Smorty [she/her]@lemmy.blahaj.zone
        cake
        link
        fedilink
        arrow-up
        1
        ·
        9 months ago

        Godot is mostly written in C++, so it’s such a weird decision to switch languages like that, and expose C# instead of C++ as a game logic programming language. I suppose it was done so that Unity devs would find it more attractive. Unreal uses C++, so yeah, why?

        Also brand bad, so no C# for me, only GDScript and C++ GDNative.

    • Sparking@lemm.ee
      link
      fedilink
      English
      arrow-up
      1
      ·
      9 months ago

      I get the idea of having flexible options for game devs. Support for systems language for engine internals (C++), hooks for a runtime machien based language (C#), and support for a dynamic scripting language (GDScript) makes sense architecturally. C# is also strategic because XNA to Unity has pretty much cemented its status for game devs. And then GDExtension to provide an api layer for whatever other language under the sun you want to use. It is a very sensible place for Godot to be in.

    • mac@programming.devOP
      link
      fedilink
      arrow-up
      1
      ·
      9 months ago

      The main language is GDScript rather than either of them (although the engine itself is coded in C++). C# support was added on since microsoft gave them money to do it

            • Sparking@lemm.ee
              link
              fedilink
              English
              arrow-up
              3
              ·
              9 months ago

              It is in a technicality But the reality is, it will always move at the pace and at the whims microsoft wants it to.

              Thats not necessarily a bad thing honestly. But you can really get i to trouble making it a core dependency for something like a game engine. Unity’s users didn’t care that Microsoft hadn’t posted the runtime to iOS, they expected their games to run on iOS. So Unity did a bunch of dev work that is now kind of a bad investment with .NET 8. This is the core of why they wanted to charge an install fee in the first place.

  • Sparking@lemm.ee
    link
    fedilink
    English
    arrow-up
    1
    arrow-down
    1
    ·
    9 months ago

    I’m going to say it (and eat the downvotes): Unity devs have become entitled, and kinda deserve the new Unity pricing structure.

    Supporting more and more devices and functionality of c# on weirder and weirder runtimes. It is a mountain of dev work that Unity is paying for and subsidizing for your game. If there was an open source effort to make a unified c# runtime across all platforms that would be one thing, but it will always be front run by new features releasing to .NET so it will never exist.

    Changing an existing agreement for pricing without any warning is gross. But something had to give eventually. I would have told you that 10 years ago.

    • Lmaydev@programming.dev
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      9 months ago

      .net 7+ is an open source unified runtime.

      Unity just needed to move to .net (previously .net core) to save a tonne of work.

      • Sparking@lemm.ee
        link
        fedilink
        English
        arrow-up
        2
        ·
        9 months ago

        From unity’s perspective it is a bunch of wasted work. Thats the issue - they threw a billion dollars at developing their proprietary c# runtime and not recouping the cost of investment. But they can’t wait around for Microsoft to make moves. And they probably don’t want to open source their runtime either out of fear that a free game engine using it will make the rounds.

        Godot ultimately has the right approach: offer support through universal bindings to it’s underlying archetype and let devs decide what they want in their game’s stack. Everyone wins.