I would like to use python on mac to make games using godot. Is there a beta version where I can do this with? I heard there is a windows version already for this. Please let me know if there is a version for mac as well. Thanks.
Development with python
You are probably better off with GDScript unless there is some specific reason to use another language. I say this because GDScript is well integrated into the editor, and also all the tutorials and help you find online is usually in GDScript. So you will be making your life a lot harder needlessly.
What about C#, I was thinking in the line that if I can use C#, I will learn a language which is quite popular and can be useful for my career as well. Not sure if GDScript learning will be of a lot of help. I thought the same line of python as well, I build a game and also be come expert in either python or c#
I haven't used C# is Godot yet, but you are correct that C# skills are more marketable. In that case, you might be better off with C# since that is at least officially supported (though not as extensively, for example most of the documentation is in GDScript as are most tutorials).
I do not know if you have seen it, but there is a Python GDNative library for Godot that adds Python support. It looks like it only supports desktop platforms on export, and the process is a little strange, but might be something to look at if you are interested in using Python with Godot.
As far language popularity and applicability, learning C# would be the way to go, as it is not a niche language (not like GDScript at any rate) and C# can easily be used outside of game development. The only thing I would note is that C# in Godot isn't used as often as GDScript, so you may need to convert GDScript code to C# when going through some Godot tutorials and learning resources.
Having used Python and GDScript extensively, I would say that GDScript is very similar to Python. A lot of what you learn programming in GDScript would be usable with Python, though there are small adjustments and differences. Going with C# cannot hurt because there is a lot of options for C# developers, both in game development and outside of game development, but it different than Python and GDScript. I'd say is isn't quite as beginner friendly, but it certainly isn't a hard language to learn (in my opinion).
What you will learn programming, especially in the beginning, will be applicable to any programing language. I've programmed in all three languages (and more) and I'd say every programming language has its ups and downs, so I'd go with whatever works best for you. :smile:
I should add a correction, the official docs do have listings for C# (you just have to click a tab) so I spoke incorrectly there. However, many unofficial tutorials and videos use only GDScript. GDScript is similar to Python, and the basic constructs are the same as any C-like language, so what you learn there would not necessarily be a waste.
Once you learn multiple languages, you'll see they are not that different (I mean the keywords and syntax can change, but the logic of algorithms can apply almost anywhere). I don't know how experienced you are with coding in general, but GDScript may be easier to start with if you are not very experienced. And, even if you are, GDScript can be easier/faster in terms of prototyping. But C# is not all that much harder, and would be better to learn / put on a resume.
GDScipt is so similar to python though. I just wish there was a time.sleep() other then using timers. Also some sort of try: except: block. Other then those two gripes good show Godot crew.
Thanks a million guys for giving your input here. To summarise : GD script may be easier to learn GD script is similar to python C# can have a steep learning curve as a beginner, but not difficult as it sounds C# is more marketable language than GDScript
My aim is to learn a language which I can also use other than game development also, I will give C# a shot and see whether the learning process is interesting to me. I am a software tester by profession so I do some basic scripting at work. Mainly I have used python do do scripting, I have never used C#.
Can you guys tell me if performance wise there will be an issue if I use C# instead of GDScript. By performance I mean, as C# is not native to Godot, will the testing and running of the game be a bit slower? Any idea?
- Edited
@princensu said: Thanks a million guys for giving your input here. To summarise : GD script may be easier to learn GD script is similar to python C# can have a steep learning curve as a beginner, but not difficult as it sounds C# is more marketable language than GDScript
Yup, I’d say the summary is accurate.
Can you guys tell me if performance wise there will be an issue if I use C# instead of GDScript. By performance I mean, as C# is not native to Godot, will the testing and running of the game be a bit slower? Any idea?
Right now, C# is faster than GDScript in Godot. The bunnymark test shows C# is a little under twice as fast. This voxel benchmark by RoyalDonut shows C# to be over 10x faster in voxel data generation when compared to GDScript.
So raw performance wise, C# should provide better performance.
Workflow wise, I believe the only major difference between GDScript and C# is that C# has to be compiled. I think you can trigger compiling from the Godot editor in the mono version in a tab called “build”. I have only used a little C# with Godot, so there may be other quirks and stuff, but from what I know from dabbling, the workflow is more or less the same with the exception of compiling.