Skip to content

GDQuest/learn-gdscript

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Learn GDScript From Zero

Learn GDScript From Zero is a free and open-source app for absolute beginners to learn to program with Godot's GDScript language.

This app is a free module from our curriculum to become a game developer: Learn 2D Gamedev From Zero with Godot 4.

It's a beginner-friendly course available in multiple languages designed to quickly give you some programming notions and introduce you to basic programming concepts. It's not a complete programming course meant to go in-depth into programming. It's a stepping stone to learn the "alphabet" of programming with Godot's GDScript programming language to later approach other tutorials and courses more comfortably.

How to run the app

You can run the app online here: https://gdquest.github.io/learn-gdscript/

Also, you can download the app for Windows, macOS, and Linux on Itch.io: https://gdquest.itch.io/learn-godot-gdscript

The desktop version can offer better performance and crisper text than the web version.

Feedback, requests, and discussions

We value feedback and bug reports. We will also consider feature requests, especially if they fit our vision and we feel they benefit programming beginners.

When participating in discussions, please respect our Kind Communication Guidelines.

In the Discussions tab, you can suggest and upvote ideas for new features, or ask other community members for help.

To report bugs, typos, and discuss existing tasks, please head to the Issues tab instead.

How to contribute

Contributions are welcome if you feel like giving a hand.

To contribute, you need to follow a couple of guidelines.

First, we ultimately decide on the app's design and features or changes. Before you make a change, please ensure there's an existing Issues for it, and please let us know you're working on it.

Here's our GDScript code style guide: GDQuest GDScript style guide.

Please always start pull request titles and commit messages with one of the following prefixes:

  • feat: for new features.
  • improvement: for an improvement to an existing feature.
  • fix: for a bug fix.
  • docs: for changes to the project's documentation.
  • build: for anything related to GitHub actions.
  • content: for changes to lesson and helper text, be it correcting typos, adding new paragraphs, and more.

How we work

We may directly edit your code to merge it faster when reviewing your changes. This is something we do in our team, too, for efficiency. We may also request changes.

Finally, if some contribution doesn't work for us, we may close the pull request.

This happens primarily in two cases:

  • The changes don't answer an issue we created or vetted.
  • The pull request's author didn't make the requested changes for over a month.

Importing the app in Godot to contribute

Warning: this is not the recommended way to run the app for learning. Use this only to study the code and contribute.

You can also run the project straight in Godot by cloning the repository and importing the folder into the engine.

We only recommend importing the app in Godot to study its source code or contribute. You will need Godot 3.5 LTS or a more recent stable version of Godot 3. Otherwise, it won't run.

Please note that practice errors will trigger the debugger and pause execution in Godot, unlike when using the release build. That's normal, and you'll need to continue execution by pressing F7 when that happens.

Educational approach

We designed this app working with many school students and Godot newcomers. Our goal was to fast-track their learning and give them just enough programming knowledge to start following project-based tutorials and courses.

Here's what we've learned about teaching programming to beginners: many want to feel like they're moving forward quickly. Teaching concepts in depth works great for some people, but for our target audience with this app, it's often overwhelming or frustrating.

A lot goes over students' heads when they first learn programming. They don't remember all the details of what they learned. They need to revisit the same concepts over time to solidify them and make them stick.

That's why the lessons in Learn GDScript From Zero isolate and sandbox programming concepts. Our main goal is for students to leave with basic notions: what is a function, a variable, an array, a dictionary, the game's processing loop, and so on.

Students naturally solidify these concepts as they revisit them in the context of game projects and tutorials. They can also always refer back to the app to review what they learned.

Since then we've built our own web platform with more lesson options. This lets students who want the gist of things get just that, while those who want to learn more can opt into detailed explanations.

When we built Learn GDScript From Zero, we didn't have the resources to make this platform or basically build two or three courses into one to cater to different kinds of people. So we chose to keep the app simple and focused on the essentials.