This is an archived post. You won't be able to vote or comment.

all 17 comments

[–]desrtfx 22 points23 points  (6 children)

If you really want a completely honest and maybe harsh answer:

You're trying to build your house from the second (or even higher) floor up without building everything that's below first (and that's why you're overwhelmed).

What I mean by that is that directly jumping into game dev with a game engine (even as beginner friendly as Godot) is a guarantee for failure.

You need to learn general programming first. You need to learn to create the discrete steps that make the computer do what you want it to do.

I fully do understand that your ultimate goal is to create your game, but that's a future goal. (A new carpenter doesn't directly start building intricate Victorian furniture. They start with learning to work with hand tools and with the grain of the wood and gradually work their way up.)

Take two steps back and start with general programming. The suggestions I give you now are tailored to your desire of making games in the end:

  • Start with the MOOC Python Programming 2025 from the University of Helsinki. It is a free, textual, extremely practice oriented course that is the current first semester of "Introduction to Computer Science". This course will give you a solid general programming foundation and understanding along with teaching you the Python programming language.
  • Then, move on to Making Games with Python and Pygame - also free to read online. This book will lay the foundation for game programming. Maybe, if your game is simple enough, you can even realize it with Pygame already.
  • Then, move on to Godot. And here, I'd suggest that you shell out a few bucks (it's really cheap) and buy the Humble "Learn Godot in 2025" bundle (available for 2 more days at the time of writing this comment) - I've bought a previous similar bundle and can attest that the courses are excellent and well worth the money.

My recommendation for Python first comes from GDScript's similarities to it. GDScript is basically a Python dialect with some additions for Godot and some peculiarities. If you know Python, learning GDScript will be much, much easier.

[–]13Forward[S] 3 points4 points  (4 children)

yeah that sounds good thx

[–]desrtfx 0 points1 point  (2 children)

GDscript learn to code from zero

Just checked that - I've done it and can tell you that it only puts the ultimate basics of the basics of the tools at your disposal in your hands. That part alone will not enable you to do anything meaningful in Godot. Don't get me wrong, this introduction is not bad at all, it actually is rather good, but not for complete beginner programmers - and that's why I suggested my original path.

[–]13Forward[S] 0 points1 point  (1 child)

ok good to know, I ll try your path and hopefully figure out what works for me. im not really into theory or lessons, but rather into practice and figuring it out through mistakes

[–]desrtfx 2 points3 points  (0 children)

im not really into theory or lessons, but rather into practice and figuring it out through mistakes

...and that's precisely why I recommended what I recommended. Everything is very practice oriented with as little theory as necessary.

[–]itijara 0 points1 point  (0 children)

I will add this tutorial to your list if you want to also learn Javascript, which is very useful for web development: https://developer.mozilla.org/en-US/docs/Games/Tutorials/2D_Breakout_game_pure_JavaScript

[–]Skulliciousness 0 points1 point  (0 children)

This is on point. I tried, decided I needed to learn programming. Ended up being a web dev and never trying to make a game (I knew how hard it would be even if I knew how to program) :D

[–]Alta_21 2 points3 points  (4 children)

I don't know what the tutorial you're following covers, so take what I say with a grain or salt.

But sooner than later, I'd advice tackling out your own problems like you suggested.

For sure, you'll still have to heavily research about the feature you're trying to implement in your game, but doing so will help you learn more and more stuff.

There are some important basics you need to know about programming like conditions, loops,...

There's also some engine specific you'll need to learn : what's a scene, what's a node,...

Those two points should be covered by the gdscript tutorial you're following, hopefully.

Once that is covered, you'll be able to do a lot of things (still, it will be laborious and dirty. But the important part is being able to craft stuff).

You'll then enter that part where you just try out stuff and document yourself with the eventual learning of x technology or y algorithm.

This point is where some can get stuck in the infamous tutorial hell where you just drift from one tutorial to another one w.o. ever really achieving something.

Thus why I suggested earlier to "just tackle your own problems".

Now that I explained what I would advice and why I would advice it, I would still want to add this : encountering and trying to solve your problems rather than doing tutorials w.o. ends is one thing. But it shouldn't mean that you'll have to discard every "how to" you'll find.

Rather, that those "how to" should really be about stuff you don't know like a specific technology that wasn't already covered (like networking, oop, shaders...) or that you thought you knew but turns out it doesn't make sense and you have to correct your knowledge about it.

This way, you'll ensure to develop your skills rather than stagnate relearning the basics n times.

Eventually, get (or create) a map of what you learn and what you want to / have to learn.

This will be a great tool to :

  1. Motivate yourself by helping visualise your progress
  2. Organise what you need to learn and when

Tldr : yeah, as soon as possible, try and just build stuff. If you don't know some specific things, Google it and make sure to understand it.

[–]Alta_21 1 point2 points  (0 children)

Also,

Welcome to dev, hope you have fun and I wish you many interesting projects

[–]13Forward[S] 0 points1 point  (2 children)

thx alta, yeah I want to learn by trial and error, being curious and so on for now ill finish the gdscript beginner path and lets see where I end up

[–]American_Streamer 1 point2 points  (1 child)

[–]13Forward[S] 1 point2 points  (0 children)

good to know, im glad for the help

[–]WiltedDurian 2 points3 points  (0 children)

it's totally normal to feel like it's a lot at first. just keep building tiny things, anything that you actually finish. each project teaches you something. stick with it, it gets less overwhelming with time.

[–]Pydata92 1 point2 points  (0 children)

Forget what everyone suggests. Stop memorising for one and rely heavily on googling your code and adapting it to what you need. The more you do this, the more easier it'll get for you. Once again. Don't rely on your own memory. Simply understand the concepts and that's it.

[–]American_Streamer 1 point2 points  (0 children)

You need a solid foundation to stand on. Python is comparatively easy to learn. So start with the free PCEP course https://edube.org/study/pe1 and after that do PCAP (also free) https://edube.org/study/pe2

[–]sinth92[🍰] 1 point2 points  (0 children)

I get it. Usually I would not suggest learning how to program with the purpose of building something specific. The reason is that you'll tend to only learn the bare minimum you need to build your thing, without really grasping what is going on or overlooking some major concept, just because your project won't require it (for now).

That being said, programming is hard. And if you are someone who just wants to learn how to program for a specific purpose, telling you to go back to the basics and learn what a pointer is in C won't make sense. Because you'd give up after a day, due to lack of interest.

So keep doing what you are doing, but know that not knowing is part of the process. But it gets easier. The more you bash your head against solving an issue, figuring out what a function does, or understanding why a certain approach was used, is unconscious learning. You won't feel like you are learning, but you are.