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
Updated | 2 days ago |
Status | Released |
Platforms | HTML5, Windows, macOS, Linux |
Rating | Rated 4.9 out of 5 stars (288 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 23 MB
Version 23
learn-godot-gdscript-windows-release.zip 20 MB
Version 26
learn_to_code.zip 41 MB
Version 21
Comments
Log in with itch.io to leave a comment.
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.
Enjoying the app, very accessible. However, the time delta lesson is messing me up a little. We have been doing the rotate function in the previous lesson without it and now I'm being told that you have to multiply it by delta otherwise the code isn't consistent. I am able to continue and apply what is taught, but I don't fully understand yet why that is.
The delta lessons explains it pretty decently in my opinion, but I'll try to sum it up more:
They first teach you how to rotate stuff in the most basic way possible, just so you know what rotate() does and so on.
And afterwards, they explain you how to *properly* rotate things. it's how you should do it 99.9% of the time, they just didn't do it straight off to teach you the basics first.
As the lesson mentions, not multiplying something by delta will make it rotate (or move, etc) as fast as your computer can handle. And you usually do not want a video game character's movement speed to be attached to computer specs - it just makes no sense except for advanced scenarios like trying to perform a simulation as quickly as possible and skip to the end.
And then they explain you that multiplying things by delta (or you could also run the function at a fixed time interval without multiplying by delta, which also works but is visually less smooth) is how you'll almost always want to do things like mentioned.
If you want real life examples of this, Evoland 1 breaks on high refresh rate monitors because of this (the game can't be beaten! the final boss becomes too fast to be killed), Forager runs faster on higher refresh rates/FPS (you can kinda speedrun the game as if the forager guy was on crack, to me it was funnier but a little chaotic), and Fallout games are known to break at uncapped FPS, IIRC even in multiplayer where some players would run faster than others because they had uncapped their FPS, working almost like a cheat. Unless you want your game to end up like these games (it isn't pretty), you'll want to be smart and remember to multiply every single relevant thing by delta time difference so things are time-based not beef-based :P
(Eck, even in Terraria, when holding your mouse button, it grabs/crafts one item per frame instead of something like 10 per second fixed, so it's very easy to accidentally craft too many things on good computers.)
I wouldn't use this to learn how to code. I'm following the instructions but it keeps saying that I am wrong and the hints are not helping.
Hello, can you tell me where you got stuck? I was going through the course to evaluate how good it is for beginners and havent seen many problems with it; that said I'm not a beginner myself so I could easily miss something that seemed obvious enough to me but was actually poorly explained
Well, I think that it would be better if it broke the instructions down into a more understandable way. I got stuck on like the 2nd lesson.
Hey, I am not exactly a beginner. But I am pretty new to coding. If you do not understand the actual coding aspect (how to structure your code) I highly recommend Scratch. It may feel like you are being a baby by using something designed for kids, but IT WAS DESIGNED FOR KIDS, and if little kids can learn on it, then SO CAN YOU!!!!(insert kids cheering sound effect)
So go, my friend. Go to scratch and learn. (and also gain a great appreciation to Griffpatch) btw I really would use Griffpatch's videos to learn, they are step by step and teach you how scratch works without you even noticing it.
I kind of get stuck on most of them, as I was saying I prefer a step-by-step process but for people who tried coding before might understand it.
the problem with step-by-step learning is that in coding every single code is composed of little "bricks", and just like with lego, you being able to build something cool with instructions doesn't mean you'd be able to build without them
If the function is being run (which it is, otherwise nothing would happen when you press play), it means it is being called somewhere, even if you don't see it. You can see on the visible part of the code that the (cell) parameter is mandatory when calling convert_to_world_coordinates(), meaning every time it is (invisibly) called (and you just learned it *is* called if you didn't know already), it will of course include the mandatory cell "specific grid coordinates". If they passed no coordinates on the example, it would return an error, so they can't do that. So they *had* to pass something and why not make it a bunch of pre-selected cells, because if they passed a single one it would be more confusing tbh.
It's not just with this exercise, there are implicit calls and functions everywhere through the exercises. If you think about it, you'll just know it's there and part of the example
This has been very useful to me as someone with a very limited understanding of code/computer science principles. So foremost, thank you very much for creating this!
One thing I've noticed, and maybe this is a chrome/mac interface issue, but when doing the coding practice segments, I was unable to copy code snippets and paste them in a separate text document. It just gives me the URL for this itch.io page. Yeah of course I could(should?) type them out. But for quick note taking etc. not being able to extract stuff quickly is a pain.
As a beginner who knows just enough to see that there is more going on behind the curtain than is shown in the exercises, I somewhat agree with your opinion. I just finished lesson 19 (looping over arrays) and the second practice had me pretty baffled as to what I should be able to glean from the text leading up to it that would help me achieve the solution.
So yeah, there are times when I've had to take it with a grain of salt and just reverse engineer the solution to learn what is going on. But I appreciate the opportunity to practice specific concepts instead of just grasping at the theory behind it. Gradually connecting some of the dots in the Godot scripting universe.
Can you give an example of a bad exercise that you've found?
I solved several of them at random, and those that I've seen so far didn't expect the solver to use some hidden functions or have any other problem
so glad i found this , thankkkk youuuu
did you make this with Godot?
Yes !
have you considered /created a course on application development in Godot? I understand the general flow of godot but the logic behind building the complete tool qnd where to start is a bit confusing
Hi there! I recently downloaded the latest version - the one from earlier this month, I believe - and when I ran it, there was a little command line window that popped up with the exe. When I went to select a lesson, the command line window showed me an error in yellow text:
WARNING: This control can't grab focus. Use set_focus_mode() to allow a control to get focus.
Does that mean something is wrong with the app I downloaded? Is there something I need to do to work around this error?
You should be good to go ! Some warnings are there usually to tell the developers themselves that there are some things they could fix, but they are not errors, you should be able to use the program without any issues.
i tink i found a bug if not wat was the problim her i dount see noting rog?
You wrote trun_right(90) instead of turn_right(90) in the function identifier, as well as that you missed a d in "move_forward(length)" right underneath it. Hopefully that fixes the problem! :)
I think its a joke! :) Look at the spelling in the comment.
i knoe rhigt? i aslo had smoe smillar porbmles.