Welcome to Learn 2D Gamedev From Zero!

Thank you for the support you're showing by choosing to start this course in Early Access. With your trust, we're able to make the course we wished existed when we decided to become game developers.
While Learn 2D Gamedev From Zero is a remake of its proven predecessor (Learn To Code From Zero With Godot 3), it is not just a port of it. We went back to the drawing board and created a new learning platform, new educational technology, and an improved curriculum. You can check out the Early Access Syllabus here.
Throughout early access, you can expect many improvements and frequent releases. This is not only in the form of new content; we also have updates planned for the website and educational technology. You will see the user interface gradually improve.
As you can imagine, polishing all of this is a lot of work for our small team.
We will keep refining everything until the course is complete. For that, your feedback is essential to us. By sharing your thoughts, experiments, questions, and more, you help make this course and the next ones better for everyone. So please get in touch as often as you need: Use the contact form, write an email, join our Discord server, post lesson-related questions... whichever works best for you.
Enjoy Learn 2D Gamedev with Godot 4. I'm looking forward to seeing what you create after completing the course.
Nathan
Founder and teacher at GDQuest
There's a common issue with most gamedev courses: Just like tutorials, they don't teach you what you need to know to become an independent game developer.
Independence, in this case, means actually being able to take your ideas and translate them into computer code without constantly needing tutorials.
To advance efficiently, there is a specific mindset all game developers must acquire sooner or later. It's what allows them to rely on techniques beyond step-by-step guides to reach their goals.
If you've crossed paths with experienced devs, you may have noticed they solve problems by talking with peers, using a code reference, reading code, and, most of all, experimenting.
The point of this course is to cut down on the amount of time and obstacles it normally takes to build those habits and get into the mindset of Thinking like a programmer

Thinking like a programmer

Thinking like a programmer is not exclusive to computer scientists or programmers by profession. It's a form of creative problem-solving that allows you to translate your ideas into things the computer can do.
.

We tell the computer what to do using a precise code

The essence of programming is making the computer do what you want it to do. Game ideas become real when we translate them into code.
It's not simple because computers are dumb rocks struck by lightning. You have to give them exact instructions using a programming language, which is very different from using a natural language.
When it comes to coding, precision is key. You can't just tell a computer to 'draw a circle.' You must provide it with exact details: What size should the circle be? In what unit is this size? Where should the center of the circle be? What color is the circle? Should I draw only the circle's outline or fill the shape? To achieve this level of precision, we write code.
Here's the code you could use in the Godot engine to draw a filled circle at position (0, 0) (the top-left of the game window), with a radius of 60 pixels and a cyan color:
draw_circle(Vector2(0, 0), 60, Color.CYAN)
Don't worry if you don't understand what each piece of the code does now. It's normal: You're here to learn this. For now, notice how the code is structured and precise.
Nathan
Founder and teacher at GDQuest

Computer code has a precise structure

The instruction to draw a circle is exactly draw_circle, in lowercase, with an underscore character (_) in the middle, followed by opening and closing parentheses (()). The numbers we provide for this instruction, in parentheses, come in a predefined order.
None of it is magical or hidden: This order is specified by the developers of the tool you're using (in this case, the developers of the Godot engine). It's all defined in a technical manual called the code reference or reference for short.
The reference is a sort of dictionary you can browse to look up how to use a specific code expression. Before you could make good use of the dictionary, you had to know how to read and understand a few basic words. The same goes for code documentation.
So we will start by teaching you the most commonly used instructions in the Godot engine. They're the instructions that will be most useful for creating 2D games: drawing images, moving objects, playing sounds, and more.

You will learn to read and write code, and more

By the end of the course, you will also have learned how to access and use the reference to look up and learn any other piece of code on your own.
To get there, this course will teach you:
  • Over 100 general and game-specific programming concepts to read and understand how code works and why it is written in a specific way.
  • The skills to think like a programmer by creatively solving problems and translating your ideas into instructions for the computer.
  • The divide and conquer method to solve any programming challenge.
And more. Our goal is to make you an independent game developer.
We don't pretend to turn you into a professional in a single course. Like any form of expertise, it takes time and practice to get there.
Instead, we soften the learning curve and give you a push uphill on your first climb. Module after module, you grow the ability and the confidence to continue on your learning journey.
The objective of this course is to give you the mindset and tools to:
  • Create simple games without relying solely on step-by-step tutorials.
  • Learn how to advance on your own, and make the most of the massive amount of learning resources out there.
  • Understand the code you read and write.
  • Enjoy experimenting with code and getting rewarding results.
Throughout the rest of the introduction, we will explain:
  • How this course is organized.
  • What learning to code is like.
  • Our approach to teaching you how to code.
Next, we will talk about how you can make the most of the course.
Remember to refer to the User Guide for helpful tips and instructions.
The Glossary is also there if you need quick reminders for some technical words or concepts.
Nathan
Founder and teacher at GDQuest
Previous
Next

Lesson Q&A

Use this space for questions related to what you're learning. For any other type of support (website, learning platform, payments, etc...) please get in touch using the contact form.

  • Learning Gamedev, or Learning to Code?another-lemurAs someone who has years of professional experience as a software engineer, but little to no experience in game development, I have to say just from the start I feel as if this course is not designed for someone like me just on the language alone. The introduction seemingly makes the assumption the reader has never read or written a single line of code in their life, and is even intimidated by it. Personally -- and I know there will be others like me -- my expectation was that this course would be covering not just programming basics in GDScript, but how to best use assets to achieve what you want and the most idiomatic way to achieve that in Godot specifically. If the title was still "Learn to *Code*" I could understand the introduction, but this is "Learn 2D GameDev", which is both coding and making use of 2D art assets and techniques like nine-slicing, tiling, sprite manipulation; these are the things I am interested in. The features that are specific to writing and making games. Am I still going to get something out of this course? If so, I think it would go a long way for people like me to see maybe just a sentence or two that says so. "Hey, if you already know how to code, don't worry! You'll still learn a lot about how to make a game using Godot!". It might not seem like much, but again just on the opener for this course, I feel discouraged and unaccounted for. 1 10 Apr. 28, 2024
  • Awesome guide.NoroI'm about to start my second run through the 2D course, and I wanted to congratulate everyone on the team for their amazing work. I started with the "Learn to Code From Zero" course, and I was just shocked by how well it was made and how polished it felt. I've been trying to learn from scratch how to build games for four years now, and even though I've managed to tinker with things sometimes, I can't say I've been doing well. Long story short, I came to Godot recently for a fresh start (and because open source rulz), and what a start it has been. You say you want to help people think like developers, and this is the first time I feel a course has guided me towards that while I'm doing it. First, I really appreciate how you build each concept piece by piece, then take those pieces and improve them, adding just one little twist at a time. You end up with a piece of code that could be confusing or complicated for a beginner, but it becomes very clear over the course. Second, the fact that you encourage people to read the documentation is amazing. I love that Ctrl + click feature, and I surprised myself two or three times by completing some challenges before you even asked us to try them on my first run. For the first time in several years, coding is fun for me, and it makes sense. I'm sure this is due to many factors, including my readiness to put in the work and knowing what to expect from a learning guide, but I couldn't ask for a more polished course. The pace is excellent, the notes are clear and relevant, the website is easy to navigate, and the exercises are well-designed and comprehensive. I can't wait for the next modules, but I'm also glad they're not out yet because it gives me time to re-do the existing ones. I feel this set of courses will help me build a strong enough foundation that I'll keep re-doing them until they become second nature (which is what happened with the "Learn to Code From Zero" course, by the way, it helped me a lot already). Thank you again for your fantastic work! 2 4 May. 18, 2024
  • Will this and the other 3D series cover enough for us to make our own game level/map editors as part of game feature?frost0I always liked games that have this as a feature, and especially love it for builder games, RTS games, FPS games and so on, where things like maps are their own character. I dont know if its harder or easier then adding modding support to a game, but I assume its not too bad if you build it good enough to use yourself to make the game. Will the course cover enough to get the ball rolling on that? or is that a hard topic? If it wont be covered what are the missing pieces or difficulties with having that kind of feature that wont be covered? If I'm not mistaken godot editor is built with godot, or so I've heard; just dont know if enough is exposed to make it easy or hard to do it again for a game. 1 4 Feb. 10, 2024
  • Course offline versionFrost_GDVHello, in old course/website there was an option to download whole course to PC. As someone who would like to learn while traveling, where often connection is bad, it was a great feature. Any chance it will make a comeback? 1 3 Mar. 23, 2024
  • RecommendationsEddyI would like to know what recommendations can you give us beside the course to complete the journey? Do you have any books or videos (like CS50 from Harvard) or sites which are interesting for a beginner like me or others who discover game dev? I found that I have some lack of knowledge in some maths like vectors for instance. Thank you guys again for investment and the quality of the course. 3 3 Mar. 08, 2024
  • How to make a character move in godot 4alarmed-crocodileYou Should have This code. Set your physics. make a constant for speed. make a velocity for speed. make a move and slide function. 1 3 Feb. 22, 2024
  • From zero to game jam?lumpy-kuduHi everyone, I would like to start by saying I bought this course without knowing a lot about GDQuest and I am pleasantly surprised by the quality of the content. I was I'd lose money because I'd lose the motivation to pursue but so far I'm so eager to progress. Well done, GDQuest team! My plan after completing this tutorial is to participate in game jams and learn through those afterwards. I also want to try the [20 games challenge](https://20_games_challenge.gitlab.io/) And of course my "dream game" project: I would love to recreate a game from my childhood with some twists and I'm quite sure the content in the course will suffice to do it. What would be some good ways to continue to learn and go beyond what is presented in the current tutorial? 2 2 Aug. 17, 2024
  • How can I best create and manage sprite "attitudes" dictated by environment and player input in Godot?mushy-batFor my first game, I want to start simple. In stead of creating a full game, I want to build a fish tank with 1 fish who wanders the tank until food is dropped into the tank. When fish food is dropped, I want the fish to continue swimming randomly until it sees the fish food. When the fish sees the food I want it to go eat the food and then go back to wandering until more food is seen. I am thinking I build 2 separate "Attitudes" for the fish. 2. Wandering fish 3. Food chasing/eating fish Is this the right approach or should this desired fish behavior be created in a different way? 3 2 Feb. 05, 2024
  • I'm trying to do all the course ! (again)vactro-outlook-comHi again, I hope I will go through all the course and finally be able to code my game from scratch, trying to solve problem I've search (for doing game stuff). I'm really happy to see an updated version of the previous course. See you at the end :) 1 1 Oct. 27, 2024
  • Second go at it!error_koalaHey! I went almost the whole way through the Godot 3 version of the course last winter and I'm now starting this course to refresh my memory and get a bit more up-do-date with Godot 4. Although I know after it's release it has gotten a lot of great features and I'm not sure if you've had the time to implement those in the course yet. The first version I almost finished. Just the last part of creating the whole game project was unfinished before I got too busy with work. Now I have time again for coding and I'm hoping I can maintain the same sort of positive and inspired attitude towards this as I did last time. Your course really helped me stay at it and reward myself for even the slightest acheviements. That was important for me as I often set high standards for myself. In a nutshell, I really enjoyed the last time and looking forward to this one :) See you in the lessons! 1 1 Sep. 30, 2024
  • iPad SafaridannycanhamThis website doesn’t work that well on iPad Safari. The top bar is huge and unnecessary for learning. Each time I go to the next page Safari shoots down to the question text box and thinks I want to have a chat. The comments section should be closed by default with an option to open so that I can be left to my learning. 1 0 Aug. 07, 2024
  • Dear Nathanapt-mooseIs there a complete tutorial on OPEN RPG 0.3? I can't understand the source code. 1 0 Aug. 01, 2024
  • Raspberry Pi Support?sebLynelHi, just wondering what the experience is if we wanted to take this course in a Raspberry Pi 4. Just not possible? Or if an regular x86_64 is needed? (I use Linux btw). 3 0 Jul. 16, 2024
  • Where can I watch video tutorials?humble-pelicanI did not find any video tutorials for these courses. Are there only text tutorials? 1 0 May. 15, 2024
  • Is there a way to get the old UI back?FunniMonkeI got this course a while ago(before GDquest moved websites), and I was a big fan of the old UI, When GDquest moved websites the UI got changed and It makes it really hard for me to focus. all the buttons are big, and I can't find the mark as done option or see my progress. Is there a way to enable the old UI/get my progress back? 3 0 Apr. 14, 2024
  • I have a big dream...CelsI know that this not an advance topic in coding that's what I expecting.. Do you guarantee that I can make a big game with this stuff because I need to learn to have inventory in and out... I expected to learn conversation in my game do you have here? 3 0 Mar. 31, 2024
  • Do you have advance topic like using gdnative and adapting libraries that wrote in other languages?iadgybf8iawgFor example, there is a math library in c++, how do you connect it to godot? Also, if i want to make a game that interact with my custom devices, which only has c/c++ interfaces, how do I control it with godot? Lastly, for app or games on mobile, how do you call android/ios native function etc. 1 0 Mar. 08, 2024
  • First sentence in the outline on the top right has an issue AdrDear GDquest, I believe that I spotted a minor issue in this page's outline. On the top right we can currently read: > > In this lesson > [We tell the computer what to do using a precise](https://school.gdquest.com/courses/learn_2d_gamedev_godot_4/introduction/welcome_to_learn_2D_gamedev#we-tell-the-computer-what-to-do-using-a-precise-) > [Computer code has a precise structure](https://school.gdquest.com/courses/learn_2d_gamedev_godot_4/introduction/welcome_to_learn_2D_gamedev#computer-code-has-a-precise-structure) > [You will learn to read and write code, and more](https://school.gdquest.com/courses/learn_2d_gamedev_godot_4/introduction/welcome_to_learn_2D_gamedev#you-will-learn-to-read-and-write-code-and-more) The first header does not appear to make sense (*We tell the computer what to do using a precise*). I wish you a pleasant day.Cheers! 3 0 Feb. 26, 2024
  • my game i want to creatalarmed-crocodilei want to make a cthulu game but i need to learn first i have learned the basics already 1 0 Feb. 22, 2024
  • Professional benefits from GDQuest courses?ErinaHi! Basically, I'm a fan of what you guys do, and know that your courses are a great starting point for those looking to learn Godot/game dev/code. Given you're articulate and in-the-know, I'd like to ask a broad question. Are there professional benefits in doing these courses? I'm here for the party regardless but just thought the most informed opinion would be your own! :) 1 0 Feb. 13, 2024
Site is in BETA!found a bug?