IceBergyn Its easier to find and convert code from internet, on C# itself, java, c++, c, rust, etc.

No, it's not. Not really. C, Java, C++, C# and Rust may all look very similar, but they are profoundly different languages when it comes to some of their core concepts. "Converting" code from one to the other is not easier or harder than converting it to GDScript, unless you just copy the source code , which may syntactically work fine, but can get you into massive troubles like memory leaks or performance bottlenecks later, which are notoriously hard to find and fix.

I'm a professional C++ developer and have used C++ (native and in the managed C++/CLI variety) for almost 20 years. And for Godot I still prefer doing scripts in GDScript (strictly typed) over C#, because I find it easier to switch to something completely different than to the syntactically similar but internally still very different C# (and I did not want to bother with installing .NET on my Linux machine) . If I need maximum performance, I'll use C++ via GDExtensions, but to be honest, so far I haven't written a game where that was even necessary. Performance issues tend to come from badly written code more than from the language used.

I'm currently converting an old game which I wrote completely in C++ without any engine support (just using the SDL for sound and graphics) to a Godot project, "translating" most of the C++ code into GDScript for the game logic and it works like a charm. Even things like bitshifts, bitwise & etc.

2 months later

Stop being C# andy. I hate python because of the indented formatting, and gdscript explicitly inherited this garbage. But still its better than python.

Im no codeChad, but back in the day the gold standard of game dev was C, assembly -> RCT. You could run that baby smoothly on your lame old ass fathers bootlegged binbows95 machines.

I like gdscript because it doesnt require them curly brackets or any other fluff that just wastes keystrokes. And it dont complain if you mess up types, it will still compile and wont throw errors, even tho something is not working as it should

    a month later

    kuligs2

    kuligs2 gdscript explicitly inherited this garbage. But still its better than python.

    In the latest version of Godot, you can use spaces or indents. However, it must be consistent throughout the script so you cannot just switch to a indent or vise-versa in the middle of the script.

    duane

    duane Personally, I prefer lua, but a lot of people hate it.

    Lua is awesome and idk why people hate it

    IceBergyn 1) Its easier to find and convert code from internet, on C# itself, java, c++, c, rust, etc.

    i feel like this has to do with the fact that GDscript is still a very new coding language, not to mention that it's not a general purpose coding language, so yeah there's gonna be less learning resources

    IceBergyn 4) Performance: You may not beleave, but gdscript is very very slow, the reason your game even works is because godot is fast, not your scripts, C# itself is slow and its 4x times faster then gdscript, the fast way would be c++ that can get more then 10x times faster then gdscript, that itself made me giveup on it.

    i personally never felt like it was being slow for my projects, but i understand if you felt like it was slow, especially if you've been coding in a faster language, I myself am a GDscript fanboy simply because the syntax is so easy to grasp hehe

    IceBergyn 5) That changes in functions names, class names every new version make code hard to mantain and update.

    Okay this i kinda agree with actually, porting your projects from Godot 3 to Godot 4 is it's own challenge, there was a function named yield() in Godot 3 but they changed it to await() in Godot 4, and for some reason the kinematicbody2D is now Characterbody2D, these changes may seem simple but they're more confusing for people less experienced in the GDscript

    IceBergyn I am sure there are more reasons, but I already giveup on this so for me it dosent matters, if you find more reasons just add a comment.

    It's completely if you dislike GDscript, it's all subjective after all, you should code in the language that YOU yourself vibe with better

    IceBergyn To be honest, there is only one reason to keep using gdscript: laziness to setup an c# and convert your scripts.

    I'm still using GDscript because Godot has been easy to learn and has everything i need for my own projects, I really have no reason to switch to C#, but It's cool if you wanna do that

      buzzbuzz20xx the more i work with godot and gdscript, the more im starting to think - i could make a desktop app with this. You got all the UI components, you got all the input events.. I havent played with godot accessing files on pc directly but i think its all you need to create desktop apps with it.

      Last desktop app i wrote was in .NET using no t the winforms but the next thing i forgot whats its called, its not UWP, something xml.. it was a pain.. In godot its easy peasy

      • Toxe replied to this.
        2 months later

        kuligs2 the more i work with godot and gdscript, the more im starting to think - i could make a desktop app with this

        Yes, you totally can. https://godotengine.org/showcase/pixelorama/

        In fact Godot has a really nice UI system and I have at least three or four different GUI desktop programs in mind that I'd like to do with Godot.

          Toxe not against godot but about the product you linked

          kuligs2 That is a huge and heavy tablet. But I don't understand what you dislike about Pixelorama. I think it looks pretty cool. Kinda looks like libresprite in dark mode.

          IceBergyn 4) Performance: You may not beleave, but gdscript is very very slow, the reason your game even works is because godot is fast, not your scripts, C# itself is slow and its 4x times faster then gdscript, the fast way would be c++ that can get more then 10x times faster then gdscript, that itself made me giveup on it.

          Just if you're still around, where are the numbers ? What is/was the code you used ?

          For the record, dynamic data structure are a catastrophe and should be avoid as much as possible, especially for huge number of items and in loop. It's convenient for a few dozens but not very much more.

          While I was playing with OpenGL tutorial by Nehe, porting C code to Perl (pretty similar to GDScript and also interpreted), the stars samples was terribly slow using such data structure (100 times slower), switching to pre-allocated array like in C, approx. same FPS value (1-5 difference top) ! It was in 2004-205 using integrated Intel GPU card of an Acer 5310. Many code samples ran at a similar speed, noting it was not for benchmarking purpose.

          a month later

          cybereality Most times its mentioned that GDscript is slow, but how do you compare them to see that? And what kind of speed are we talking about just a few ms? Are there examples wich are showing a difference ?

          • xyz replied to this.

            Gaming911 Being an interpreted language, it is fairly slow compared to compiled code. That's fine though because it's meant to handle high level scripting tasks (game logic etc.) while the heavy lifting is done by the fast native code inside the nodes and the engine core. You just need to take care that you don't unwittingly use it for those heavy lifting tasks such as vertex data iteration on every frame or custom physics solvers...