4 ms·
I'm not that familiar with Godot but the built in language always felt like a misstep. Maybe someone more familiar with it can make a defense. I view 3 users 1
by NotAnOtter 2y ago
I'm not that familiar with Godot but the built in language always felt like a misstep. Maybe someone more familiar with it can make a defense.
I view 3 users
1. Complete Novice
2. Engineer dabbling in games
3. Professional game designer.
For #2, they are more likely to prefer C# as they probably already have experience with it, or otherwise will be familiar with the similar Java language. Also it's a nice resume boost to say you've used C#
For #3, I can't imagine the godot language is better for large scale games than any custom language. C# just has way more resources put behind it
For #1, I kinda see it. But they would probably be better learning a language with more tutorials available. Or if they're struggling, pygame is probably a better place to start.
- r-w 2y agoGodot lets you use whatever language you want. C# included.
- Supermancho 2y agohttps://github.com/Godot-Languages-Support/godot-lang-support https://github.com/Godot-Languages-Support/godot-lang-suppor...
- the_gorilla 2y agoI don't use godot and know more about its limitations than its advocates in this thread. Are they being disingenuous? Do they just not know basic information about their own tools?
- steeleduncan 2y agoGodot has supported C# for a while now. There is no need to use GDScript
- vyrotek 2y agoUnfortunately Web Export is not supported with C# in Godot 4.X. And probably won't be for a while*. It's the ONLY reason I even bother with GDScript. https://github.com/godotengine/godot/issues/70796#issuecomment-1618006609 https://github.com/godotengine/godot/issues/70796#issuecomme... And despite my best efforts to statically type everything in GDScript, the language is full of holes that lose all the safety.
- kasztelan_ 2y agoI wish that was true. I just started rewriting my project from C# to GDScript today so it can run on 32 bit ARM android devices. Let's say I'm not a big fan of the language. Why the hell they decided to not implement normal for loops, was just googling how to iterate an array backwards and most people were like "just invert the array and iterate over it, bro" They should have just used Typescript, it's a sweet spot between safety and productivity.
- nkrisc 2y agoThe docs have an example of iterating an array backwards: https://docs.godotengine.org/en/stable/classes/class_@gdscript.html#class-gdscript-method-range https://docs.godotengine.org/en/stable/classes/class_@gdscri... var array = [3, 6, 9] for i in range(array.size() - 1, -1, -1): print(array[i]) Admittedly not very pretty but it certainly works.
- zen928 2y agoAfter reading several posts above yours describing the level of effort and pain trying to use this scripting language and how multiple people in this thread avoid trying to use it as much as they can, then reading your small code sample, it's hard to not describe as a level of perception whiplash. "why god why can't they just have for loops!?!?" and the problem was just ... knowing how to foreach over a range correctly? the idiom and language syntactical preference that python, a language older than java, has done for decades...? Really trivializes every complaint and the assumed skill level of every person that I see in this thread complaining about gdscript to the absolute lowest level. Thanks for the post!
- galkk 2y agoI disagree. The doc states that range function returns an Array, so it looks like to iterate backwards you basically allocate array of indices and use those indices to get values from an original array. Not much better than reverting original array, if you will ask me. Maybe there is some optimization for trivial scenarios, but the referred doc doesn’t mention it. It really looks like python 2 case when you needed to remember that dict.items() returns copy and most of the time you needed iteritems().
- moomin 2y agoNow I’ve never used it, but there’s always a case with an engine with its own objects to have a language that understands those objects natively. Unreal Engine started out that way.
- myrryr 2y agoUE is going to be amazing (It mean it already is, but WAY more so) once verse is integrated into it. The "so, you have a choice of c++ or drawing lines between boxes" is missing a lot of middle ground :)
- SteveSmith16384 2y agoGDScript is closely tied to the engine, making it incredibly easy to affect any part of your project. It's also very terse and simple to use, and anyone with a passing knowledge of Python should be able to pick it up in minutes. I've used C# for my day job for years, but never felt the need to stop using GDScript for any of my projects.