Total beginner looking for learning resources

Godot Version

4

Question

'As the title suggests, I’m a complete novice to both game development and code in general, and struggling to discern which tutorials will be useful to me at this stage. I’m currently running through GDQuest (and finding even that to be extremely unintuitive) as well as some youtube follow-along style tutorials for basic games.

My primary question is: What would be your recommended tutorials or learning resources for a complete novice? Should I just start with Python/C?

I’d like to develop an understanding of the code so that I can begin to intuit solutions to issues rather than bother you guys endlessly, but I assume that takes plenty of experience. I have zero pride and will happily do children’s courses if recommended :slight_smile:

Heartbeasts courses are really beginner friendly and he teaches a lot of concepts during them (there are some in godot 3 though).
Getting good at programming is mainly experience, so just start coding and improve this way

When you say you’re a novice at coding, do you have any formal learning experience with coding? If not, Harvard’s Free CS50 course is the most highly recommended for new learners: CS50's Introduction to Programming with Python If you explore that link, you can find CS50 courses for other languages as well. This, or something like this, is really what you want to be spending a lot of time on. You’ll build crucial experience and understanding that make learning gamedev easier. Just be sure you’re constantly doing. Be building little projects; let them get more sophisticated as you learn new concepts. Take pauses to look back and laugh at how much you didn’t know in your earlier projects. Struggle. Start/Keep reading online documentation for how to accomplish things in the language you choose. It’s all part of the process of building that crucial experience toward independence and skills both with the language, with coding in general, and how to troubleshoot sophisticated tech problems.

Python is not GDScript of course, but they do have similarities that will make the switch easier. If you’re interested in game dev primarily, there’s no reason to start by learning C. If you have other motivations, though, then maybe.

My day job is writing software for embedded systems, and I strongly discourage choosing C as your first language. It’s very unfriendly to novices and - depending on your OS - even getting anything to compile might be a challenge in its own right.

That said, the most fundamental thing about programming is finding solutions to problems. Languages are tools you can use to solve your problem, but your tools cannot do the thinking for you. In that regard it’s immaterial what you start with; you will eventually gain problem-solving experience that translates well to any tool you use.

The Godot documentation contains two example projects (Dodge The Creeps and Squash The Creeps) that, personally, I find very accessible. They’re both light on code and do something very clever that they never tell the reader about: they teach about how to solve problems using composition. Godot uses something called ‘nodes’, which are little specialized tidbits of functionality that you can mix-and-match to form just about anything you want by adding just a little bit of ‘glue’ code. If you can reason about which nodes will be useful in solving a problem, you’re already well on your way to a solution.

Definitely don’t be afraid to ask a well-structured question. It doesn’t cost anything, and most people are willing to help. In fact, if you know somebody else who is developing in Godot, consider sending them code you already wrote and ask for feedback on how to make it better. This is called a ‘code review’, and it’s something software teams do. If you’re contributing code to a project, it’s usually standard procedure to make a ‘pull request’. People will look at what you wrote and provide suggested changes on how to make it better, and the best reviewers will even tell you why. This is by far the best method of learning the finer points of the trade.

I’m not big on video tutorials. Most of what’s on YouTube is made by people with great intentions, but I find that most videos focus on outcome over process. Most videos will tell you when to connect a signal and how to instance a scene, but never explain why you’d want to do any of those things. Anyone following along will end up with a perfect usable title screen or wall jump mechanic, but without actually learning anything.

If you’re looking for general books on programming, I can recommend The C# Yellow Book by Rob Miles. Although C# is a phenomenal language that isn’t too hard to pick up for a complete newcomer (it was my first real language) and is also supported as a scripting language in Godot, neither of those are the fundamental reason I recommend the book. It’s because the book teaches from first principles, is a fairly short read that doesn’t drone on about inane minutiae, and uses approachable and non-scholarly language. (Coincidentally, if you pick C as your first language and look for a book on it, there’s a very real chance you’ll end up buying K&R’s C-programming book, which is the inverse of all of those qualities. Another reason to not pick C. Please value your sanity and choose anything else. It’s already too late for me aaaargh~~~)

I’m new as well, apologies if you get this answer a thousand times but Brackeys is a popular YouTube game designer and makes rather clean videos. He usually does Untiy but recently switched over to Godot tutorials.

I think in terms of programming languages, Godot primarily supports GD script and C#. But if you want to easily navigate these forums, most people seem to converse around and be knowledgeable using GD script.

Also, be sure to act with extreme vigilance. Godot had a massive overhaul between versions 3 and 4 so tons of tutorials meant for Godot 3.x will only serve to confuse you as many of the nodes are very different.

I also watch DevWorm, so he can be a bit confusing to follow. However, he makes a lot of mistakes and then corrects them which ironically serves to be a great method of teaching you what to avoid. He does his stuff correctly, I’m not saying to use him as an inverse tutorial, but he usually messes up little stuff then fixes them which kind of gives you a template for how to fix common errors.

I also watch Game Endeavor. He teaches Godot 3.1 so I don’t use his tutorials but he has a devlog series that offers immaculate advice for general game design. His series has also been a big source of inspiration in terms of his process of making a beautiful game.

Challacade has the same setup where he does devlogs and gives more game design tutorials rather than specific programming tutorials.

Both of those last two might seem less important but they are a crucial resource in case you need ideas on what you want to add to your game next. Game design is more than just a puzzle, it’s an artform. So educating yourself on both aspects will help you keep your motivation.

Hope this helps!

Academia Godot
https://youtube.com/@academiagodot