Learn Godot's GDScript From Zero
Learn GDScript From Zero is a free and open source app created by GDQuest to help you learn Godot's GDScript programming language from zero.
It is compatible with Godot 4.
We designed it for programming beginners. It should also help self-taught people coming from other programming languages and domains.
This app is a free module from a extensive course to learn programming and game development: Learn 2D Gamedev From Zero with Godot 4
Status | Released |
Platforms | HTML5, Windows, macOS, Linux |
Rating | Rated 4.9 out of 5 stars (308 total ratings) |
Author | GDQuest |
Genre | Educational |
Made with | Godot |
Tags | code, course, gdscript, Godot, learn, sourcecode |
Code license | MIT License |
Asset license | Creative Commons Attribution v4.0 International |
Average session | About a half-hour |
Languages | English |
Inputs | Keyboard, Mouse |
Links | Source code |
Download
Download NowName your own price
Click download now to get access to the following files:
learn-godot-gdscript-linux-release.zip 36 MB
Version 24
learn-godot-gdscript-windows-release.zip 34 MB
Version 27
learn-godot-gdscript-osx-release.zip 106 MB
Version 22
Comments
Log in with itch.io to leave a comment.
on lesson 19, the example is missing a key variable, the "cells" array, which holds all the coordinates of the graph, thus making the example even harder to understand.
additionally, it's extremely silly to not explain how for loops work in the "for loops" lesson, but instead explain them 2 lessons later in the "arrays" section. as a result, the for loops practice-work was a brick wall i was unable to clear without seeking outside help from the godot cafe discord server.
I didn't find it useful for me, app just explains all the same stuff that I've heard dozens of times on YouTube and I think it's just the wrong approach. Basically the app explains "what it means", but the problem for people like me is not understanding "when and why to use it" in some real-world problems, not super simplified a+b examples. It's like ok, I learned it, what's next?
Since I'm in the process of learning English, I'll make an analogy like this. So this app is just like a dictionary with translations, it has all the words and terms, it says what they mean, there are even 1 or 2 sentences with examples of use, and technically you can just memorize all words, but that won't give you the ability to speak English, at most now you can just understand the text and some parts of what people are saying, and even that will have limitations, because you don't know the context, and you can't create sentences yourself, aka like in programming when you can read someone else's code (some times), but you can't write it yourself. In order to actually learn English, you need to not just have a memorized vocabulary, you need to see and hear how people actually use words, and only then try to use them yourself, so process goes like this: learned a word -> listened to how it is used -> try to use it yourself. The problem with programming is that you simply have no way of seeing how people using those words, even if you try to read someone else's code, you still won't have the context with which it was written, so you skip this middle part, because you have no way of getting it, so you go straight to the third part, and the problem here is that there is no feedback, you are simply forced to put this puzzle together blindly, basically brute forcing your way
Regarding to the app itself, I also think that it oversimplifies everything too much, so that starting from lesson 15, the code in the examples and practicals simply ceases to make any sense at all
I understand, you seem to have already learned programming notions covered by the app before, so as the app is an alternative to learning these notions, and you're now actually looking for the next step, so it's not what you need at all.
Languages are a good analogy and I'd say the app and many of the videos you watched follow exactly the process you describe: learn a concept, see how it's used, and use it yourself. Your problem is that at this stage what we're doing is more analogous to learning the alphabet and combining letters to write words words, and you've already done that and you're looking to put sentences together. You now need resources that take you through creating many different prototypes of increasing complexity.
This app and probably many videos you watched are a steppingstone for that phase. It's necessary if you want to help many people because without that, lots of people quit. The ideal formula would be something with a lot of optional notes that'd give people who get frustrated by the lack of context a lot of extra information without burdening students who can't take that extra cognitive load. I hope to have the time and resources to do something like this someday.
But to give you an idea, in our curriculum, it takes about 1 semester to get where you're looking to get, through 10 course modules. This app is 1 out of those 10 modules. You need this amount of learning and practice, layering concepts gradually, to get to the point where you have enough skills to really understand code.
There's really a lot to learn, but if you're looking for free resources to learn programming for games, I can recommend Godotneers' lessons. They don't form a structured learning path and some might be above your current skill level but they're each quite detailed and worth bookmarking. In the Godot community, people made free resource lists that have overlap but also allow you to cobble things together and unlocks pieces of the puzzle with each new series or project you follow. I'd recommend taking a look at that, and at your stage probably skipping the resources that explain basic coding concepts, it sounds like that's not what you need now.
This is by far the best programming fundamental course to start learning.
I wish I knew this sooner. I changed my career path as I couldn't pursue my game development career in India, but now that I stumbled upon this... I have nothing but greater versions of "Thanks" to say to this community. I hope I can switch back to the career of game development in India.
Thanks for the kind words!
Sat down and went through this in a couple hours or so. I've had experience with other programming languages both in and out of a classroom. I don't know what bugs and wording issues that the other reviews described, but I didn't experience them. In fact, this actually explained the basics a lot better than even classroom instructors in my opinion. There were several aspects that I knew about but didn't fully understand the mechanics behind, but the creator explained it in a perfectly understandable way which made for many "Aha!" moments. Great introductory to GDScript, and this little app makes me excited to delve into Godot without suffering from confusion from cross-concepts. It was well-written and a very good prep game.
Thank you!
Some people get frustrated by the sandboxing done by the app. Others would like a much longer course that has a lot more detail. Overall it's done well and it's used in many schools, but it's actually quite difficult to make a really inclusive programming basics course that works for everyone. You'd need something that adapts to different people. Also, often, different individuals need someone there to clear specific doubts that block them. I think that's in part why our stuff's used quite a bit in schools and we didn't really get issues reported by teachers - they are there with students in the classroom to clear doubts as they come up.
I hate this app. I suffer more than I learn.
1. Incomprehensibility
The assignments don't make any sense, because they don't set you any tasks to consolidate the material. You're just blindly, without thinking, rewriting what was in the documentation.
And the most disgusting thing is that there are a lot of things in the assignments that were written before you. You're writing code for some things, and something else is happening on the screen. As a result, it is impossible to understand what you did and how you did it. They don't explain to you what's going on behind the scenes. It's just a blind seal of what they say.
2. Overloading
In the beginning, they teach you some things, only to say later that they are useless and there are analogues. Let's say. But sometimes it happens that USEFUL analogs are given much less time in the text and tasks than those that we don't need right now.
3. Terms
Sometimes every first article mentions the same basic term. And sometimes they give you a term that you should use in the code, but they don't indicate what it does (or they do it very imperceptibly and once 10 lessons ago).
If I had gone back to the past when I was looking for a place to learn GDscripts, I would have passed by this application.
I do not speak English, so I used a translator. I'm sorry for the stupid mistakes.
I have a learning disability that makes it hard to memorize stuff. Can you add a way to consult the lesson during practices without having to exit them?
ADD MUSIC TO THIS GAME
it would make it waayyy more awesome
there is no need, just put some YTMusic on background
I don't get it. For the first function parameter, the turtle makes another square inside a square. Does that mean a jump() is used? Where is the function to change its position?
Best
i was playing this and i found this bug
when using the jump command in later levels w/ the turtle, every thing would just break, the turtle would jump in the wrong direction and the lines would be connected even though they weren't supposed to
i dont think im gonna retain a single thing of this but ima still try this (again) lol
is this just for 2d or is it the same for 2d and 3d?
Godot is also for 3D, check out this demos:
My brother in Christ I am aware that Gogot is also for 3D, my question is. Is the program in question "Learn Godoto's GDScript from zero" also good for 3D or is it just for 2D games💀
I got no idea if it is 3D, just starting it myself. Hopefully I can get through it quick though then I plan on moving on to something called "Blender and Godot 4: Make a Low poly Ps1 Style Horror game" on Udemy. Noticed that you commented on some low poly horror stuff on Itch and figured the course might interest you as well
EDIT: Also if you have some coding experience but are new to game development like myself, the official Godot docs page does a pretty solid job of explaining the "design pattern" / structure of the code you'll be writing in the engine. I've tried some other courses in past and found them to be extremely frustrating. It always ended up feeling like I was just doing a walkthrough / following a recipe without fully understanding what I was doing or being able to then take what I learned to go do something different and figure stuff out on my own
https://docs.godotengine.org/en/stable/getting_started/introduction/index.html
The basics are the same. You will need GDScript if you want to create any 2D or 3D game. This guide covers some 2D concepts, but not extensively; most of it is dimension-agnostic, applying equally to 2D and 3D. What you learn in 2D can also be applied to 3D, with the addition of another dimension.
the mispronunciation hurts
so goated
Hi, when it says "scale" scales to ___ times its starting size, does it mean its original size, or the size it was immediately before it scales? Just something you could make clearer. (awesome course btw)
Thanks For This Wonderful Course :)
Thank you! Excited to learn GDScript!
Five days in a watery cave. Another song for the day that I take to the grave. I gotta be the first to see the specter. Everybody want to be friends with the nectar protector. Seventeen skulls in a hole in the woods Already know of the low down, but not of the goods. We cant see but lo and behold her, Its funny how we think with our heads when the shoulder is colder. This is the truth about it. Youll learn to never doubt it. The whole affair is shrouded in living mystery. So what goes on in your tree, when all you know is Your evil shadow has a cup of tea? Back in elementary school, There was a kid we knew, we considered him cool. And when his eyes turned red, the principal said He was gonna go mad from the things in his head. Seventeen days later somebody told us there was no more school, And the principal sold us to the ice cream shop down the street, Where it seemed there was nothing theyd let us eat, so we screamed. This is the truth about it. Youll learn to never doubt it. The whole affair is shrouded in living mystery. So what goes on in your tree, when all you know is Your evil shadow has a cup of tea? Its never too late To take the chance of a lifetime under the weight Of life, and chance, and death. And its never too far out. We dont know how the sun became a star. They say its always been that way, But Ill be damned if thats the case. Wed love to have you as our guest this afternoon. Well get the kettle ready, hope you show up soon. We can talk about life, we can talk about death, We can talk about film, we can talk about chess, We can talk about the faceless evil shadow creatures Underneath our clothes. We can talk about the government conspiracies And circumvent the challenges that represent our foes. Its never my fault. Take what I say with a big fat grain of salt, And take my fears away. We never will break out, And well leave not one thing in our wake. They say its always been that way. This is the truth about it. Youll learn to never doubt it. The whole affair is shrouded in living mystery. So what goes on in your tree, when all you know is Your evil shadow has a cup of tea? This is the truth about it. Youll learn to never doubt it. The whole affair is shrouded in living mystery. So what goes on in your tree, when all you know is Your evil shadow has a cup of tea? Your evil shadow has a cup of tea. Your evil shadow has a cup of tea. Your evil shadow has a cup of tea.
Is there like a placement test or something it would be pretty useful for people like me who know a little about gdscript but still need to learn more
I have something that could improve the learning process a tiny little bit:
Whenever there is a "variable" "function" or any other nomenclature or thing that it is important could be clicked to open a pop-up window.
Inside of the new pop-up window, you have a brief description for the clicked object.
It is an optional feature that would help a lot to memorize the subjects!! :D

Just like there is with lesson 15 when you talk about variable... so why not use it for the words that have color to it? :D
Something like this:
this app is offline?
Yes
w beginner tutorial app, helped me a lot in learning gdscript
This is a very good beginner tutorial! Everything is clear and it's very fun to complete the practice exercises. I recommend it for everyone! :)
I agree, I am very glad to have had this be recommended to me :)
I've noticed, that your game launches in the same window on Firefox. For some reason It always opens a new window for my game. Did you make any special configurations in godot or itch.io?
I think that's how this site handles godot 4 games now, this could've been made with an older version.
Can you add Chinese version
I'm sorry, Tesla used GDScript for car dashboards.
Nevermind!
wait are you fr?
Is there a way to help you guys to translate to german? I saw in the repository that you already have german loca but it's not in the build. Would love to show this to my students!
I hope that Chinese can be added, as Chinese enthusiasts really need such a tutorial.
we need Chinese
Ching Chang Chong, Lice is nice!
I think the second lesson in chapter 14 should remind the user about the order of operations in one of the errors or hints. That lesson really confused the past me specifically because I didn't understand that my code wasn't written in the correct order, and there were no reminders of its importance.
Wow, i love this app :D
What about an Android Version?
corrupted files for Mac?
I am having the same problem. Is there a solution? The web version also seems to be broken.
You can build a working .dmg from source by importing the source code (can be found here: https://github.com/GDQuest/learn-gdscript) into Godot (you need to use Godot 3.x for this), and then exporting for OSX. Make sure you have the right export templates installed (you can do this automatically from Editor > Manage Export Templates...). Feel free to let me know if you get stuck! Or I can send you the .dmg
I just saw the comments mentioning issues, I pushed a new build for web, macOS, and Windows. Please let me know if you keep having issues - you can reach me directly at support [at] gdquest.com if needed.
If the notice is"cannot be open because the developer cannot be verified",here is the solution
Open system setting - >privace & security -> security ->click "open 'learn to code with Godot' any way".
@GDQuest maybe you should verify your app again for the new macOS
AMAZING!¡¡!
It doesn't load in my school computer (that somehow runs godot)
Ssuper cool game !
Hey there, enjoying the app so far. However, I noticed that smooth scrolling is the default - this is troublesome as I am sensitive to movement. I noticed it doesn't apply when using scrollwheel while mousing over the scrollbar to the right, but it's not convenient.
Could it be a toggleable option in the future?
(opened it as an issue on Github if it helps)
The Mac download for Learn to code from Zero is giving me problems. When I click the dmg file it give the message "Disk image could not be opened - The disk image is corrupted.
"
I don't know if it is the case here, but sometimes I run into software that claims it is corrupted on MacOS and actually is just not recognized by MacOS, in which case you can use "xattr -cr (insert path to the application)" to give it the permission to run
Maybe that works here as well?
Its well be better if it was in phones you can learn in any time
And how do we do that?
Really man
I meant to ask if we can compile on Android
The windows release doesn't work on my laptop. I double-clicked the exe file and nothing happens.