gdscript is so intuitive and works really well with godot, i just need to get over my discomfort with lines of code not ending in semicolons and not having curly brackets for scope.
Choosing programming language seem like a big consideration for beginner, but in veteran perspective we knew it's not big of a deal, we found out that even 10-20y in, you still have to learning new thing to keep up with the industry anyway. What's more important than that is FUNDAMENTALS of programming. if you understand fundamental well, you could easily learning new lang in short time-frame, not big deal at all. GDQuest given a solid advice here, just pick 1 language to start coding with, focus learning the tools. GDScript is so easy to learn and don't need much time to be efficient, so after that done, you can go learn some other programming language later, it will not be too late guaranteed. edited: typos
I'd say, do (and actually finish) CS50 and learn C programming language. Your foundation would be amazingly solid that you could learn any languages you want.
"It's extremely unlikely to happen with Godot" literally 2 years later: """ And now the news broke that for the release of the beta version of Godot 4.0 there is a notable change, this change is that VisualScript, Godot's visual scripting language, which was introduced since version 3.0 nearly five years ago, it will not be part of the beta version, much less the final version of Godot 4.0. """
Started learning to program with GDscript about 6 months ago and it's been so easy to learn. Thanks to your team for coming up with such a simple language for game design!
As much as I love C#, GDScript is so much more hassle free to get up and running prototypes. Mostly because of its tight integration. If C# was fully in-Engine I wouldve probably stick to it.
I write scripts that require fast performance in C# (I can't write in C++ yet). The rest in GDScript. It's so much quicker (and for me nicer) to write code there.
@@kidmosey You can setup an external editor for use with GDScript too. Godot Editor even has an LSP server so Emacs or VSCode (anything with LSP support) should work with it at least as well as the integrated editor.
@@kidmosey Not at all, I'm just sharing my thoughts on the one reason you mentioned. Performance and code libraries are probably much bigger reasons to prefer C#. If your game is script-heavy (like e.g. Factorio) GDScript is just not an option.
I really love GDScript, but, in reality, gdnative needs more support both with guides/tutorials and "out of the box" engine features. Sometimes developing with gdscript feels like you driving sport car with hand brake up.
@@kidmosey kind of yes. I just hope there will be some basic examples how to use it. Like basic character movements or similar entry level topic that will help to understand how to interact with nodes from cpp script.
Yeah so right now, it's lacking some refinement, making it slow to code with if you don't code custom VisualScript nodes in the first place. Hopefully it'll get reworked moving forward.
I would like to see a similar video where you cover how well each language works when exporting for the web. Specifically, which of the available languages can be compiled to webassembly and which are automatically compiled to webassembly when exporting for the web.
I haven't used Godot but I do use Unity and I've been a SQL and Windows application developer for over 20 years. If there's one piece of advice I'd give to a new programmer is to go with C#. It's elegant, simple to learn, managed and is the best general language I've used.
If you haven't used Godot you're not really in the best position to offer advice on language choice for it. ;) A new programmer should forget about the 'language wars' and just learn programming concepts in whatever language clicks with them. Yes C# is a good choice career wise, but the problem with it is integration to the IDE and general polish in Godot is still poor. So I would strongly advise a new programmer to use GDScript to avoid unneeded frustration and confusion, at least until C# support improves. VS Code is an option but that's 2 IDE/editors a new dev needs to get familiar with, not ideal. If they really want to use/learn C# they're better off using Unity, or even 'proper' C# in Visual Studio, Rider etc but then they lose a lot of built in graphic/game features of course. If your goal is to make a game, GDScript, if your goal is language experience for career etc , C# elsewhere.
@@Ash_18037I wasn't referring to game programming in either Unity or Godot. My point was if you have no programming experience at all and were choosing an initial language to learn then C# is the most beneficial. I have used GDScript now and for programming in Godot then it has advantages but I still wouldn't recommend it to learn general programming techniques.
@@NesiAwesomeness Yes object pooling help when you have thousands of objects to spawn or destroy within a small timeframe. Other than that, it isn't that noticeable.
I think visual scripting is probably the best for me to start with. I have zero coding experience. Having parts moving around on a grip looks so much easier. I can get to the other kind later. Godot script seems good, since the video recommends it.
Visual scripting is currently no longer supported in Godot. If you'd like to learn GDScript, try the free app on GDQuest.com. It's interactive and you need no prior coding experience. It was funded by the user community.
There's a new plugin now that add support to Lua to the Godot 3.x. It's still on early development stages but already has a lot of features and works just fine.
Pretty much any time you have a heavy algorithm that slows down your game. For example, you implement behavior trees for all AI in your game, a noise generator, a heavy procedural generation algorithm... One we had to do was implementing a heat-map pathfinder, an algorithm that's computationally heavy initially but allows you to have, like 10,000 AI agents pathfinding on a grid efficiently after the initial calculation. There can be plenty of cases, you'll have to see when your performance starts to drop due to some specific bit of CPU code.
@@Gdquest Thanks for the response. What I don't understand is a rule of thumb for knowing what is a "heavy algorithm". Adding lots of numbers together is a heavy algorithm if you add enough numbers or do it enough times repeatedly.
Nice video! Your correct about there being 5 main coding languages you can use in godot but you can use almost every language just by getting plugins the only one that isn’t in godot that I know of is LuaU
A few questions if you don't mind, thank you! 1) Can you intermix scripts, ie can I write some of my game in GDScript and some in C#? 2) Why is it that you recommend seasoned developers write in C#? Just for code transportability, execution speed, language features or the fact that someone might already be familiar with it?
1) yes you can 2) mostly because someone who uses c# all the time might feel constrained in GDScript. The way GDScript works is it's mostly for gameplay programming. If you need more performance, you would traditionally write a c++ module.
But really, I do have to say that godot help me understand more about the coding(of course, that is several tutorial aided me to see through that) , while being so lightweight that it only to be just one executable file within 100MB size. Originally, I was seeking for alternative C# coding to unity engine, funny thing is, I am now coding with GDscript instead of coding C#. It is just GDscript too attractive to use, I will not change to other alternatives any time soon, but may try to use other scripting language of godot if I want to waste some spare time to do so.
i dont know what C# is or C++.... all I know is how to code and Godot understand me very well..godot has no limit not like scratch who is my foundation... and I can create game that has more movie like that no one game engine can be copy it..
Years ago i made some prototype (or asteroids clone) in unreals blueprints. Took me almost a year (yes i was learning blueprints). However now i scripted similar functionality in godot in about 2 weeks. Many seemingly trivial problems (like global variable) in unreal blueprints are so hidden and convoluted that took me months to discover working solution.
yeah if Unreal just let you use C# I'd be way more keen on it. I hate using blueprints but also hate how poorly documented their C++ APIs are. So I keep coming back to using Unity... but now considering GoDot instead
Thanks so much for the video!! I have a slightly altered question to something you already sorta answered: If I use C# with Godot, are the scripts very different from the C# scripts in Unity? If I have experience using C# scripts in unity, do you recommend sticking to C# in Godot? Thanks!
Whichever is fine, depends on how long you've been coding in C#. For professionals I'd say go with C#, if you do it has a hobby or generally have limited gamedev exp. I'd recommend GDScript.
It's because of the size. GDScript-only Godot is about 30-40mb, but with C# tools embedded it's larger and comes with features some people don't need. As more than half of Godot users don't ever use C#, there's a smaller download for them.
Here is what I thought when clicking on this video: C#: Use it if you know how. GDScript: Use it if you don't know C# VisualScript: Use for like one script for enemy patterns or something. C/C++: Use if you are a huge computer nerd or are changing Godot itself.
the thing I dislike most about using c# with an engine is that they all require the use of visual studio, I just want to do everything in engine. I get it's really good for coding but the extra compile steps when testing small changes os so tedeus
Question for anyone who knows Godot Engine enough, but is it possible to Script visually then switch it halfway Too see what the Visual script looks like in something like C# or GDScript?
Do they have the same API but with different naming conventions? Do they have access to the exact same Godot functions? For example, in C# it would be Input.GetActionStrength; is the equivalent of this always Input.get_action_strength? Or do they sometimes differ?
am an Unreal developer and am starting to get overwhelmed with the complexity of the program, I was planning on learning c++ for unreal to have more customizability and then some unity, issue is, I noticed unity is in a bit of a bad state so I was wondering what the best way to start with godot as someone coming from the unreal visual script area
I feel like MMOs get a bad rap in terms of difficulty. They're only hard because netcode is annoying, RPGs themselves aren't exactly the most complicated genre. I don't think it's any more time consuming than any other type of multiplayer game. People pump out battle royales all the time, and decent FPS netcode is *way* harder. That said, it'd be way more _expensive._ Server costs are no joke.
@@Dogman_35 I'd guess it might also have to with the first 'M' meaning 'massive'. At the bare minimum, the server code has to be able to handle all the (lots of) players interacting at once.
@@Alche_mist Yeah, but so do battle royales that involve literally 100 players loaded into the same map all at once. MMOs handle a lot of players, but it's across multiple servers that only hold a couple hundred players at any given time. There's a set limit to how many people can be interacting at once.
I wouldn't call it a language, but it's a declarative form of code. I think it's important to explain to people who are new to programming, because they tend to think that visual code and written scripts are completely different, or that using an interface isn't programming. While, well, it is!
@@Gdquest You still can edit the TSCN text scene forms directly. It's just strongly NOT recommended, because it often contains more than meets the eye.
@@Alche_mist yeah but that’s more of an encoding, than a language. A language is designed to be expressed by people and perform a wide array of tasks. A packed scene is designed to do very specific things and not with the intention of ever being edited by hand by a human
What version of visual studio and vs code should I use for godot mono? Do I just download vscode or do I need to do extra setup? Can I code with c# in the editor?
For VSCode you can use this plugin: github.com/godotengine/godot-csharp-vscode And for visual studio this one: github.com/godotengine/godot-csharp-visualstudio
Should learn python or gdscript as in I just want to a language that can be future proof and yes I know c# and c++ is everything of all just wanted to start with something that is not too complex
That's the majority of what we do, really. I just decided to do more advanced content in text format because, at least for code tutorials, it really doesn't work well in video. I'd be wasting people's time. You can find some intermediate-level free content on our website already: www.gdquest.com/tutorial/godot/
Hey, I have an important question. For about 7 months I've been making stuff in Lua. About a month ago I started learning C++. Now I want to program a game in Godot together with a friend. The only problem now is that he's been working in C# for a bit longer and I've recently started working in C++. Does it therefore make sense to make the game in C# and C++ or should I rather switch to C#?
I'm probably too late to help if I can but, there are two ways to use c++ in godot, c++ modules or gdnative which has now been replaced by gdextension. You can use C# and C++ together. They are similar since they are both in the C-family but they are still different, which means that you won't be writing in the same language, you won't be able to help each other write unless you know C# or he knows c++. So stick with whichever you choose, just fyi I'm learning C++ as well.
i have a question about ur product is there any upcoming day where it will be on discount especially for the learn VFX godot for me 40usd kind a bit expansive for 20usd i deffinetly will buy it
I rarely do discounts, like twice a year. Note however that depending on your country, there are year-round regional discounts. Especially in in parts of Asia, Latin America, Africa, and great middle east. Eastern Europe too. The website will automatically give you a coupon at checkout if applicable.
@@jaffnimanlangit5510 It is definitely worth it. I took a udemy course to understand gdscript more, but the refinement I really got from the gdscript courses. At first I also thought it was a bit pricey, but it is well worth every dollar
Maybe a dump question but I don't know if I would do the things right or not... I would like to start with Godot and try some 2d game dev, but don't have really experience in programming, art etc. Now my idea was to create a mini small simple block shooter with maybe a Life bar and some small other stuff. Now I found on RU-vid many videos about Godot and how to add collision shape etc. Would it be useful to start with have an idea and grab/and take inspirations from every side something to put it useful in 1 together ? I am really struggling with this cause I want to learn how to do this but at the same point i had the idea to learn this on RU-vid :/ But otherwise I think, when I "copy and paste" much I don't learn so much as I should, difficult to explain .. They are also so many videos from how to make your "first 2d Godot" game, but how useful is this ? I hope you can understand what I exactly mean, and sorry for my English :D Best regards and stay safe and happy :)
PLEASE Learn C# along side GDScript, it's a fantastic language which out the box has crazy functionality that GDSript just doesn't have (YET), even stuff like being able your house lights from GodotC#(using arduino) you can kinda do that with GDSript but it's muuuuch more difficult.
Last time I tried the visual script, it was really very poor. Far, far inferior to something like Unreal's Blueprints. GDScript, however, is very good.
Would be cool if they could add JavaScript as a language you could use for programming in Godots since after all JavaScript is one of the most widely used languages even more than C#. Just a thought on the subject is all. But I guess maybe I could use this gaming engine to learn C# and improve my skills in OOP, thank you for the wonderful video.
I have a question? If I already have 4 months of programming in JavaScript. I already know variables, loops, functions, classes and how to manipulate the DOM with JavaScript. For those who know about programming languages already can I learn GDScript fairly quick if I choose to learn it? I know it's a matter of opinion and it's up to the individual to learn so it's a personal opinion but from your personal opinion how long would be your guess for someone to pick up GDScript and learn to code with this language if you already know the fundamentals with JavaScript?
You said that GDScript does not do garbage collection and yet it is using reference counting which is from COM ATL or earlier( It does work). When you say this do you mean that GDScript does not have to stop all threads and scan the object graph for orphan objects?
Yes, it's that. It's that people think of garbage collection as how it's done in C# as it's a much more widespread approach (lots of game developers use C#).