djlink,
@djlink@mastodon.gamedev.place avatar

Was thinking in giving Godot a try, I see that there are 2 versions, c#(mono) and gdscript. What should I go for, I know c# but unsure if I might be walking into a minefield if support is not on par with the built in scripting, or some things are not as ideal. Performance is not an issue for me at this point.

tacitus,
@tacitus@mastodon.gamedev.place avatar

@djlink

Get the C# build, you can always just not use C# but it's nice knowing it's there for you. Give GDScript a try though, you can also write your game in C++ or any combination of supported languages.

risingtail,
@risingtail@mastodon.gamedev.place avatar

@djlink I started with C#, wasn't happy with it. Jumped to GDs and it is so much fun and quick to work with. Definitely recommend it.

elFlashor,
@elFlashor@mastodon.gamedev.place avatar

@djlink I've been giving godot C# a try for a few days, trying to figure out the same as you. So far everything is pretty simple, barred 2 things:

  • when you have a problem/question, there's more hoops to jump through before being able to find a solution, due to less discussions and docs for C#
  • communication between C# and gdscript works, but when you're trying to go for more advanced stuff (like static variables, c#<>gdscript type casting...) it can get pretty rough.
Andre_LA,
@Andre_LA@mastodon.gamedev.place avatar

@djlink I never used Godot's C#, but since it's for learning and not making a finished thing I think you should start with GDScript for sure.

Godot has a specific way of working (nodes, inheritance [through nodes], signals, etc), by learning with gdscript you will be learning and using these concepts directly while in C# I think there will be this intermediate layer on translating how godot works and how C# works.

hellpie,
@hellpie@raru.re avatar

@djlink i'd say for now just use GDScript, instant builds, docs are guaranteed to exist for it, good support in VSCode with the extension so you can still use an external IDE, no need to learn how to setup GDExtensions, register methods, etc. When you actually need high performance or features that are just not available for GDScript (or are more easily available as a library in other languages), I'd say skip C# and the GC issues, go straight for Swift, the bindings were easier to use, faster and overall better to work with when I tried it than C#.

djlink,
@djlink@mastodon.gamedev.place avatar

@hellpie I'm not familiar with Swift so to learn a new one I'd probably go with GDScript for this particular case, but I'll keep that in mind if I ran into issues

Haijo7,
@Haijo7@snac.haijo.eu avatar

I don't recommend C#. C# can be somewhat messy when it comes to porting, often requiring a transpiler. And Microsoft basically has full control over the language in terms of what features are going to be added or removed, or what platforms are supported, etc.

Devilbox,
@Devilbox@mastodon.gamedev.place avatar

@djlink C# support is brilliant in it. There's some things gdscript does at a language level which C# can't, but for the most part it's good. C# also has better performance than gdscript. The C# version also fully supports gdscript so you're not losing anything by going for the C# version, it's just extra on top of normal godot. Future versions of godot will be moving C# to gdextensions so it won't need a separate version of godot to support it.

Devilbox,
@Devilbox@mastodon.gamedev.place avatar

@djlink I hear Chicken soft has a lot of helpful packages for developing with C# in godot too: https://chickensoft.games/

djlink,
@djlink@mastodon.gamedev.place avatar

@Devilbox ah nice, thanks for sharing

Devilbox,
@Devilbox@mastodon.gamedev.place avatar

@djlink no problem. For what it's worth, GDScript is a really nice language. Being gamedev first it's got some nice features like fetching nodes from the scene using $path/to/TheNode; an onready variables attribute for assigning object default values; signals as an event paradigm, etc.

The main downside I've run into is function calls are expensive, so splitting up methods for better code structure can hit performance.

I love using C# but would be fine if GDScript was the only option.

zinnschlag,
@zinnschlag@mastodon.gamedev.place avatar

@djlink When in doubt go for the version without C#. GDScript is a really nice language, easy to learn and has tighter integration into the editor.

devmcclu,
@devmcclu@mastodon.gamedev.place avatar

@djlink The latest stable branch (the 4.X series) does not have Web support for the .NET builds, but other than that both are feature parity. If you download the .NET builds, you can still use GDScript in the project. Most of the tutorials and content out there is for GDScript, but it isn't super hard to find the equivalent C# code from what I have seen.

  • All
  • Subscribed
  • Moderated
  • Favorites
  • random
  • GTA5RPClips
  • DreamBathrooms
  • InstantRegret
  • magazineikmin
  • thenastyranch
  • ngwrru68w68
  • Youngstown
  • everett
  • slotface
  • rosin
  • ethstaker
  • Durango
  • kavyap
  • cubers
  • provamag3
  • modclub
  • mdbf
  • khanakhh
  • vwfavf
  • osvaldo12
  • cisconetworking
  • tester
  • Leos
  • tacticalgear
  • anitta
  • normalnudes
  • megavids
  • JUstTest
  • All magazines