GDScript integrates so nicely with the Node/Resource refcount model. It fills the same niche that Unreal's Blueprints do, which is great! When you've found something performance-critical, it's not difficult to convert a GDScript node into a GDNative one.
I feel like a lot of the "GDScript, ick!" comments tend to assume that the scripting language is trying to be Lua/C#/Python tacked onto a C++ codebase. It's a lot more tightly-integrated with the runtime, and it makes organizing things a lot better in the long run.
It shows that the developers making it are also the ones using it for themselves.
While Godot's profiling has a lot of room for improvement, I appreciate how intuitive memory usage is from both a design and technical standpoint.
[1] https://doc.rust-lang.org/rust-by-example/scope/raii.html
[2] https://docs.godotengine.org/en/stable/classes/class_refcoun...
“Weird how Unity uses Microsoft’s enterprise Java clone. Why can’t they use C++ like real game engines? Nobody will develop a proper game on this language.”
Once upon a time the same was told about Basic, C and Pascal, all serious game development was Assembly.
Then the same was told about C++, all serious game development was in C.
Then the same was told about Java, and a couple of folks not paying attention got millionaires.
Then ...
So many devs get caught up on which language is used. I have my pet languages that I prefer too, but at the end of the day a game engine is about creating games. So long as the language offered is reasonably usable and one can deliver a fun and engaging experience with it, the language bindings don't matter much. Everything I've read about GDScript indicates that it fills the need, is fun to use, and generally gets out of the way so devs can focus on creating fun and engaging experiences.
The only reason I see having C# support is critical is if a Dev is porting from another engine (i.e Unity) midway through development or if the dev/studio has lots of boilerplate code or libraries already written for prior titles. If starting from scratch, I don't see a good reason to stick with it.
I know every time I personally go to take a peek I see that C# support is still a good bit behind and decide to let it keep baking. I'm still very excited for it, though.
Those are what the vast majority of indies buy beyond 3d assets where they can get elsewhere.
It's an easy language to pick up for beginners and powerful enough for experienced devs. Kind of the sweet spot for game dev, IMO.
https://docs.godotengine.org/en/stable/about/faq.html#what-w...