Hi everyone!
I’m new to Godot. I have some experience using it. I’m also learning some math a long side it to help strengthen my knowledge of what pieces of code do behind the scenes.
Currently I have been watching tutorials just to help me understand how to do some basic things and taking notes were I can. I struggle currently to understand how to read and utilize the docs properly without tutorials or help.
**
I wanted to ask:**
Is it really just about making constant small projects until things start clicking? Like, just keep building until you get comfortable?
How do you remember all the code? I’m struggling with remembering specific pieces, especially when I need to call something back later or for different projects. Do experienced devs keep notes or a document with code snippets they use often? Or do you eventually just memorize it? Or do they just read the docs and find what they are looking for?
Sorry if this may sound really dumb but I’d appreciate some help/insight.
Maybe I’m just missing repetition to the point were certain pieces of code become the same just a matter of tweaking numbers?
You learn the most by doing, not just reading about doing. This is true for everything in life, including game dev.
Even to this day I look up a lot of things from the docs. You gotta accept that looking up information doesn’t mean you aren’t a “real” programmer. Being able to find the info you need is very much a required, and very important skill, embrace it!
To each their own, but this is a generally accepted good approach. Your first couple of projects will be far from perfect, so iterating on smaller projects gives you more chances to learn by rewriting sections of code and making them slightly better each time. It’s also important to make goals small and achievable at the beginning, so that you can stay motivated.
If you were to do the opposite - try to build a bigger project right from the start, you would quickly make it a complete spaghetti code and lose track of what does what and potentially get discouraged because of that and never touch gamedev again.
We don’t. We learn to efficiently use the documentation. And Godot has amazing documentation, take advantage of it.
Can’t say for all devs, but I myself just look up the documentation whenever I need it.
It’s a good practice also to make your code reusable and modular so that you can take it with you when starting a new project. Then you don’t need to reinvent the wheel on specific systems. Godot makes it very easy with its Plugin system, but it’s also possible to just copy over one specific script, or even just a function.
It all comes with experience and practice, like everything in life. Learning a guitar is also frustrating at the start and hard to make sense, but after some time it’s just a second nature and muscle memory. It’s the same with gamedev.
Code is all about practice. After a while you have done something so often you know it off by heart. You don’t have to make rela projects but you do have to write code. A lot of people get caught up on how to learn code. It doesn’t matter. Either fine some tutorials, or some code available online or literally anything and then just try and code. Make sure to Google anything you don’t understand or know yet. And just keep coding.
It’s a combination of things. I’ve been programming professionally for 31+ years now, and almost 40 years total. I do not remember everything. What I do remember is the shape of things. How they should fit. How you fit objects together, how to make loops, how to break things into digestable pieces… the list goes on… and on… and on…
When it comes to syntax, there are many things that I know quite well in GDScript because I keep doing them over and over. One of the things that helps me remember is answering people’s questions on here. I have gotten used to just writing GDScript code, and I can remember quite a lot. But not everything. If you want to cement things in your head, help others to learn it.
The drawback to knowing dozens of languages and doing this so long is sometimes I confuse my syntax. Practicing helps get things straight in my head. I also went down a lot of dead ends when I started because Godot has certain ways of doing things that are efficient, but not intuitively so if you’re an experienced programmer. So, you won’t have to deal with that.
I have a LOT of tutorials, small games, etc that I have made over the past few years. When I need code for something, I often remember “of I made an inventory like that in this project…” and I open it up and look at the code. Often, I then know better ways of doing things, so I don’t copy the code, but it reminds me of where I was going. I also use those projects to pull example code for people on here all the time.
That’s a beginner’s way of looking at programming TBH. Ultimately, you get good at taking concepts and putting them into code. It’s the concepts and patterns that ingrained in your head, and can be taken from language to language.
No. It’s about building systems and solving problems. A small project is a small system that has a small number of easy problems. A large project is a combination of many large systems each having a large number of hard problems. It’s a no brainer that you should start with the former and gradually build up towards the latter.
You don’t, ever. Code is created, not transcribed. It should be the result of your ideas, thinking processes, and creative solutions to problems.
Rote memorization of code is not only an utter waste of brain power but it can also lead to burnout.
When looking at some existing code (like tutorials) you’re supposed to understand it, not memorize it. The only things that you should eventually memorize are concepts and algorithms that a code example is trying to illustrate.
Everyone answered the questions, and I have to say that Godot has a great community and doc, so it’s easy to learn. (Unlike C++, where you have to dig up some ancient Winsock doc written by some ancient nerd, and even ChatGPT can’t help)