A good tutorial will teach you to understand the basic concepts on which the game is built, so you can later apply them to your own game. A bad tutorial is based on phrases like "write this code and trust me, it's correct". Find good tutorials and discard the rest.
Yes tutorials, or no tutorials.
We're at a point were it's very easy to find a tutorial for anything, but it's really hard to find GOOD tutorials. Most tutorials just focus on explaining WHAT you need to do and use no time in explaining WHY you have to do it that way. My advice is to only use tutorials for very specific stuff and always support them with documentation: Don't just copy and paste the code provided in the tutorial, make sure you understand what it's doing and check the relevant documentation on the functions or systems being used. Experiment and change stuff: If you're following an Asteroids tutorial, add a health system to the asteroids, powerups for the player, different movement patterns for the asteroids...Your focus when using a tutorial should be to LEARN, not to just get something done.
Fencer Hey I love your shader tutorials! Thanks a lot for creating them!
DaveTheCoder Quite right. These type of tutorials are absolutely terrible.
Fencer Find good tutorials and discard the rest.
The only problem is, when you're a beginner you can't really distinguish good tutorials from bad ones. The main criteria an average person may typically apply is "easy to follow". And bad tutorials in "click this, select that" style are mostly... well... easy to follow.
In my opinion, a beginner has no choice other than to watch tutorials. Do we expect him to guess everything? He should start from somewhere. But it's important to expand what you learn by applying them to different scenarios. I think what you are doing is perfectly fine. Keep watching tutorials until you have a solid understanding of Godot workflow and game development.
Just keep recreating what you learn in tutorials in your own unique projects, trying to do it on your own. This is the way I learned everything, and it's the fastest.
- Edited
while-free- This is the way I learned everything, and it's the fastest.
Including whether to multiply by delta?
The thing is, in order to do game development in any serious capacity, you don't really need to "learn game dev", let alone "learn the engine". You'll need "boring stuff" like math, general purpose programming and hardware architecture. That's the reality most people don't like to face. Once you're proficient with those and attain decent problem solving skills, you can do any type of "dev", including games, for any type of platform, including "engines".
It's always about fundamentals. People who are disinterested in "boring" fundamentals in favor of more "exciting" stuff, typically don't go very far in any skill based field.
And tutorials, being a form of sophistry, by their very nature rarely deal with fundamentals.
- Edited
xyz You'll need "boring stuff" like math, general purpose programming and hardware architecture.
…
It's always about fundamentals.
Well finally! I've been waiting for some basic stuff to be mentioned.
But, just for creating games, I'd add art basics, which is forgotten even more often than math.
Creatorsbet What i had in mind was making my first game through a tutorial.
Have you looked at the official documentation yet? It's the easiest and most convenient place to start.
xyz True, and also the other ugly truth that no one wants to hear is: You need a lot of time to get decent.
I started learning programming in the 80s and early 90s with C64 BASIC, Amiga BASIC and then QBASIC on MS DOS. As you can imagine that was over the span of years. And only then on MS DOS was I old enough to actually wonder and ask myself why my programs run so slow in comparison to real games. Which let me to realize that BASIC is terribly slow and I started learning Pascal, Assembly and later on C. And this was all still on MS DOS but it took years.
Now of course the resources we had back then were limited and going into a big shop and looking at the books was pretty much the only option we had.
But this did teach us three very important things: a) how to find information on our own, b) how to make use of what we had and c) fundamentals. If you were stuck you had to figure it out with what you had. After all there was no internet to ask.
As I said, this took years but that didn't really matter because I was a kid/teen.
My point is: Learning how to program and write decent code takes a long time and the only way to get good at it is to invest a lot of time, start small and learn the fundamentals, get your hands dirty and make a bloody lot of mistakes and learn from them. But no beginner wants to hear that. (And to be honest I cannot blame them.)
xyz The problem Godot suffers from, is the lack of good comprehensive tutorials. What I said applies when there are enough good resources. It's about half an hour I'm searching for something, and I'm not sure whether or not what is taught here and there is a good practice for Godot. I bet I'll have to come here and ask about it in the end, and you are probably the one who is gonna answer me... xD
while-free- The problem Godot suffers from, is the lack of good comprehensive tutorials.
It's hard to find something better and more detailed than the official documentation. For further in-depth study, there are courses from GDQuest and KidsCanCode.
Toxe I started learning programming in the 80s and early 90s with C64 BASIC, Amiga BASIC and then QBASIC on MS DOS. As you can imagine that was over the span of years.
The threshold of entry is getting lower. This is objective.
Toxe Of course, and that is a good thing.
I don't know how good it is yet. I'm expecting to see complex games with branching stories from people who aren't very good at programming but are strong at creating narrative. So far, my expectations are not being met. Mostly "time-killers" are being created.
while-free- That's the same for Unity, really (I'm using Unity as an example as it is the most popular engine). You have 1000 tutorials to do anything, but how many of those actually teach you the right way? And how many teach you WHY that is the right way? Very few if any.
IMHO the Godot documentation is a great place to start, there even are tutorials in the documentation itself to create some basic games and it teaches you the proper Godot-ian way.
- Edited
correojon I'm a Unity user migrating to Godot, and I love Godot 100% over Unity. It's just way better structured from a design pattern point of view. However, Although those tutorials teaching the right way are few, but they will be found in a few seconds in case of Unity. It's pretty obvious which YouTube channel teaches Unity at what level.
However for Godot, there is a HUGE lack of good tutorials. The documentation is a good starting point, yes. But one should not be forced to read 20 pages for 3 hours to find the answer to a trivial question.
Fortunately the documentation is very well written, but this doesn't cover the lack of good tutorials. Hopefully after Unity's stupid decision, there will be more YouTube videos in near future.
I'm all in to make Godot easier to learn for new comers! But the problem is I myself am a new comer for the moment... xD
(Writes this reply after 2 hours of reading the "Best Practices" section of the documentation - is still confused on many aspects)
Toxe I see, i get it. Thank you
JSchrepp Nice idea, thanks. I will try it
Toxe What if I, lets say, watch a tutorial that is not related to the game i am building, and change the things as I am following the tutorial?
JSchrepp Do you think it is a good idea to watch a tutorial completely first, and then build my game without looking at the tutorial while building the game?
Creatorsbet you can use the tutorial as a reference if you forgot how to do something.
This is most effective learning process for me - Learn to code in a simple project.
- I follow tutorials on things I want to put in my game eg. menu, inventory, statemachine..etc. (one at a time) to see if I could make it work (because if not then probably too complicate for my level, so I'll find another tutorial)
- If , for example, I got a Menu working from tutorial, I then go back and learn all the functions involved by re-making each function in a separate, simpler project.
- Try to understand how each function works and how they can interact with each other.
- Learn to understand what the error is saying.
Working in a simple project will help you learn each functions / errors more clearly without distraction of other non-related codes. After that you should be able to put together a simple game by yourself in no time.
Good luck