• Smorty [she/her]@lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    1
    ·
    1 year 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
      ·
      1 year 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
        link
        fedilink
        arrow-up
        1
        ·
        1 year 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
      ·
      1 year 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
      ·
      1 year 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
              ·
              1 year 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.