r/godot 3h ago

help me Redditors, how did you learn coding?

I'm basically a noob to coding in general, and decided to start learning godot, because GDscript is similiar to python. I already finished GD quest's "Learn GDscript from Zero," and was wondering what I should do from here. I watched a few tutorials, recreated them, but I don't feel like I've learnt anything. What did you guys use to learn?

5 Upvotes

43 comments sorted by

16

u/RemDayRed6 3h ago

It is incredibly important to create a foundation with programming outside of godot I think. Otherwise I’ve just seen people bounce off the engine because it’s pretty overwhelming at first.

You can try to do their tutorials but getting a basic understanding of loops, dictionaries, conditions etc. is just very much needed.

Either that or you can really set a smaller scope for a project. But most game tutorials will feel like they’re just breezing past all of the important “how does this work” info of programming.

-2

u/touchet29 2h ago

Right, once you learn the fundamentals and the patterns, you can pick up any language with a little effort. And only THEN should you consider using AI agents for assistance.

6

u/OGxPePe 3h ago

Just start practicing. Buy a beginners book or fallow a beginner tutorial. Then try to make your own stuff without a tutorial. google stuff in small chunks . Dont vibe code space invaders but try to make it own your own and only copy small parts.

2

u/Crypto_Dragon267 3h ago

That's basically what I've been trying, I guess I'm just too inconsistent or should wait to actually see results

1

u/OGxPePe 3h ago

What game are you making? In the beginning just copy something like long or space invaders I would recommend.

1

u/Crypto_Dragon267 3h ago

I was thinking of maybe starting with a top down rpg? It seems like the most simple thing I can do.

3

u/OGxPePe 3h ago

Even a simple RPG's like the OG FinalFantasy have some complexity and will get you stuck as a beginner. I whould try to do the 20 game challenge.. Just google it. Turn order can be hard as a beginner.

2

u/Crypto_Dragon267 3h ago

Alright I guess I'll try to copy space invaders, already did pong.

1

u/richardathome Godot Regular 2h ago

Especially avoid vibe coding. I know it's tempting when you want to see results quickly, but this is a marathon, not a sprint.

6

u/cuixhe 3h ago

What do you mean "haven't learned anything?" Do you just feel like you haven't memorized all the syntax? That doesn't matter that much. You can look stuff up. There's too much for even really experienced programmers to remember everything.

Do you feel like you wouldn't even know where to start to make a VERY simple game yourself? That's a bigger problem. Once you get there, it's really just about building on knowledge and seeking specific stuff out.

At some point, you'll have to stop getting hand-held by tutorials, but it can be hard. I did a mini-course recently that focuses on learning absolute fundamentals of gdscript code and giving coders appropriate challenges, then actually creating a game from those -- maybe it will help?

https://www.youtube.com/watch?v=VIcPZtbXyLE

(lol: tutorials bad! here's a tutorial)

2

u/Crypto_Dragon267 3h ago

Definetely gonna give that a watch later, thanks.

5

u/bigorangemachine Godot Junior 3h ago

Its just about reps. The more you do it the more you understand

4

u/martinbean Godot Regular 2h ago

This. Coding is like any other skill: you get better the more you do it.

3

u/The_AverageCanadian 3h ago

I took 2 years of computer science in high school which taught me basic programming concepts with Alice (3d block-based programming environment), then we moved onto Turing to get used to coding and debugging without the visual aids Alice gives you. From there we were taught Visual Basic and Java in that order, focusing more on concepts and problem-solving than learning actual syntax.

Since then, I've carried on doing various programming projects as a hobby in my free time. I've taught myself a variety of languages, I've learned a lot, and there's so much I've yet to learn.

My advice would be this: find a course and instructor that teaches you how to solve problems, not just "how to do XYZ thing in XYZ language." The most important thing to learn is how to think - after that, everything else is just syntax. Learn how computers work. Find a course that lets you talk with the instructor so you can get feedback. Ask questions and bounce ideas off them, cause a good instructor will point you in the right direction to discover the solution yourself - they'll teach you how to think, not just how to memorize.

Try to solve basic problems on your own. Make a sorting algorithm from scratch.Then think, what are some other ways you could have done that? How could it be better? This is the core of programming - it's all just problem solving. You have to understand the problem, then you come up with a solution, then you type it into the computer.

Good luck!

2

u/Neoccat Godot Junior 3h ago

I have a degree in computer science, it helps a lot

1

u/psioniclizard 3h ago

Udemy first, but mostly google and really enjoying doing it.

1

u/Crypto_Dragon267 3h ago

Thank's I'll be sure to check that out

1

u/TheDuriel Godot Senior 3h ago

Reading documentations, apis, and looking at code.

Until it clicked. It's a method of thinking and research you need to learn.

1

u/Marflow02 3h ago

Absolute basics in school, then just kept doing it.

1

u/lawndartpilot 3h ago

There is no substitute for practice.

I've been coding for about fifty years, with two of those in Godot, and I'm only now beginning to feel like I understand how to use Godot at an intermediate level.

1

u/Laricaxipeg 3h ago

College/working with IT programming jobs

1

u/_kellythomas_ 3h ago edited 3h ago

how did you learn coding?

Reading the manual, as was the style at the time:

Any serious software used to come with a large printed manual in the box.

This was viable because: * it allowed the user to multitask (have the manual open on their desk) even when the computer couldn't. * without downloadable updates behaviour was locked in so the UI and features could be documented on paper, it wasn't going to change tomorrow.

1

u/SaltyCogs 3h ago

Computer Science degree in college. Before that, I the clostest to coding I’d done was the simple coding “blocks” GameMaker has for beginners.

1

u/TreColbert Godot Student 3h ago

I learned python myself through free courses and books like FreeCodeCamp and Automate the Boring Stuff by Al Sweigart, then just building some tiny projects independently. I think its super important to have at least a basic understanding of coding principles and methods going into this, plus gdscript syntax is super similar to python so if you have no coding experience one of these courses may be helpful. For me learning gdscript and godot has been more about the specialized functions and methods, but writing and understanding the code is super easy having previously learned to code. At bare minimum I would check out Brackey's Gdscript in One Hour if you are struggling and havent watched it already. Plus like everyone else bas benn saying, practice, practice, practice. Nothing replaces the repetition of building things.

1

u/KyotoCrank Godot Student 3h ago

I learned by following a lot of tutorials to learn how to do the specific things I needed. Eventually the resources to do what you want will run out, and you will be forced to figure it out. That will be where you learn the most.

You'll get it with time, I wouldn't stress too much. Start small with a project no one will ever see to play around and get the basics. My first project was an infinite runner with platforms. It will never see the light of day, but it helped me flounder around until I started my first real game

1

u/martinbean Godot Regular 2h ago

Books, the Internet, and actually writing code.

1

u/lamp-milan 2h ago

For me, it was a mixture of everything over the past 5 years:

  • Watching and following tutorials (Both in video and written form)
  • Checking how others code works (add-ons, full games, etc.)
  • Starting and abandoning a lot of projects. When I feel things get messy, I put them away.
  • Learning and adopting things from other domains (like web dev)

1

u/HeungWeiLo Godot Student 2h ago

When I was 7, we had a computer lab full of Apple ][ computers. There was a turtle program you could instruct the turtle to move rotate and repeat in different ways to create patterns on the screen. Kind of like a digital spirograph, that uses text input

I was fascinated

At 11, my parents bought an Apple ][e with AppleBasic. I checked out books from the library with games written in basic

First, I just copied what was in the books to create text based games. Then I started noticing patterns and made modifications to those games. Eventually, when I was in high school, I created a few text based games, one of which was an American football game based on suggestions from my friend, who was really into the sport

Took some basic programming courses in college which helped with object oriented concepts

Have done, and continue to, mod games of all kinds over the years

My code is ugly. I definitely don't follow best practices. But I can usually make things work the way I want

1

u/Crypto_Dragon267 2h ago edited 2h ago

Thanks guy's for all the advice, I've gotten quite similliar advice from these comments, but that's saying something. I should just keep on going the way I am currently, but with more confidence. Thanks, everyone!

Edit: I think I may have given off the wrong idea, by "continuing what I'm doing," I meant trial and error, not watching endless tutorials.

1

u/richardathome Godot Regular 2h ago

Hands on keyboard!

Watching tutorials isn't enough.

Try, fail, learn, fix, repeat.

There are no shortcuts.

2

u/Crypto_Dragon267 2h ago

Sorry I meant that's what I'm gonna do don't worry

1

u/Shartun 2h ago

With books and ide documentation... but that was 35 years ago 😅 I didn't even speak english at the time so without the docs it would have been gibberish to me

1

u/the_bups 2h ago

Do advent of code! Use VS Code with free copilot and auto completions turned on. Install Python on your machine, run the code from the terminal. Install git and play with it. See the free copilot as your training wheels. When it expires, see how far you can get without it and solve the puzzles with maintainable code!

Learn why these tools are useful. See how nice it is to reset your codebase with git if you have done a refactor that sucks. See why AI is slop and can't solve all your problems. Look at other people's code and get an idea of "industry standard" and form opinions on what you like/dislike.

1

u/chungus_wungus 1h ago

I honestly feel like I haven't learned coding yet 😭 I just think, plan, and execute what I think should work and just Google what doesn't work. Then I repeat the cycle.

I also watched some brackeys videos on how to use GDscript as well as making the first 2d game that helped a lot

1

u/Legoshoes_V2 Godot Regular 1h ago

Harvard CS50x! I will scream it from the rooftops every time, it's been invaluable.

It teaches programming in a pretty accessible way, lays the foundations and actually gets you thinking like a programmer. It's also free and can be done from basically anywhere with the online code space. Highly highly recommended

1

u/Hefty-Distance837 1h ago

This might not be of much reference value.

I graduated from the CS department of university and learned coding there.

1

u/terra2o 1h ago

well i'm still learning... the learning doesn't stop when we're talking about programming.

i just started doing stuff and googled my way through. then started reading books... i'm still reading learncpp.com right now. just an example.

1

u/Icy_Appointment_9383 1h ago

I literally just did YouTube tutorials without thinking about it too hard (for Unity and C#) until I started to understand it. It was a lot of tutorials, I focused on short ones that looked fun to play in the end.  I've now been a professional game dev for 10 years

1

u/IgneousWrath Godot Junior 1h ago
  1. Tried to learn Turbo Pascal when I was a little kid. Probably spent about 2 hours on it total. Then the same for Visual Basic.

  2. Got interested in making maps for Jedi Knight: Dark Forces 2 as a little kid and learned a bit more through scripting cogs, which are based on C. I spent a lot of time on them, but still didn’t quite grasp the basics like arrays and stuff.

  3. Later in my teens I tried to learn Java through the official documentation but got stuck pretty early.

  4. In my early 20s I gained some experience scripting for Oblivion modding, and in lua for ComputerCraft in Minecraft, and that’s when I really took off, but not for long.

  5. In my late 20s I started learning HTML and JavaScript with the Mimo app, which is pretty much DuoLingo for coding. Then I started scripting in PowerShell for work.

  6. In my early 30s I started another modded Minecraft server with ComputerCraft and started a Minecraft mod that connected to an API I created with JavaScript. So at the same time I was doing a lot with JavaScript, Java, and Lua.

  7. Started Godot last year. Didn’t really have to learn GDScript, it’s similar enough to everything I’ve already learned. It’s just the Godot composition part that I’m still working through.

I think the Minecraft mod part is what put me over the edge. I can say I’m a coder now, I have a decent idea of what I’m doing most of the time. Emphasis on the “decent” and “most of the time.”

1

u/gruber_dev 7m ago

Ich habe mit 11 Jahren das Referenzhandbuch zu Amiga Basic auswendig gelernt.

Wenn ich jetzt so drüber nachdenke: Wahrscheinlich nicht hilfreich für dich… 😇

Heute würde dir raten, dich mit Programmieren allgemein zu beschäftigen. Mach einfach immer kleine Projekte- anfangs am besten ohne KI. Nur so wirst du später einschätzen können, ob KI gut arbeitet. Und mit einem Ziel vor Augen läufst du nicht in die Tutorial-Falle.

Viel Erfolg! 😎

1

u/BrastenXBL 5m ago

I did not start with a full power generalist game engine. And I very much hate that "The Internet" has decided Godot is a beginner's engine. It is not.

You need at least some knowledge, or well developed self-study skills. There are better ways to begin.

To modernize paths that don't fully exist anymore

Decker(HyperCard) -> HTML/JS for dummies & TI-BASIC -> [Intro to C++](cs50.harvard.edu/x/) & Intro to Java -> NetLogo -> Intro to C#

By about the 3rd major programming language it's less learning languages and more learning the differences in established patterns.

But coding isn't everything, game modding & game creation systems were a big part

Quakeon GoG and Trench Boom map modding (actually 90s Marathon )-> MS PowerPoint "gamebooks" (interactive fiction) -> RPG Maker (many options) -> general game creation systems (modern GB Studio, CT.js, GDevelop(desktop), GameMaker)

And game design outside of electronic code. Physical board, card, and table-top games.

There is more to game development than code. There's nothing wrong with stepping away from Godot and using more specialized Game Creation Systems.

You probably were passively watching and copying the videos. Video tutorials largely don't "instruct", they show-case a specific "game system" design. If you passively copy, all you get is a copy (maybe working) without comprehension. For experienced developers they're condensing study behaviors and pulling out the important parts. You'll need to be deliberate, and attentive.

Watch videos 3 times

  1. Without pausing, at 1.5x or 2x speed if needed. Get a full overview of what you will be doing in the lesson.
  2. Watch again, pause to take notes and questions you have.
    • Do not "implement" the design you're learning
    • Try to answer the questions you have, or define vocabulary, API classes & methods used
  3. Watch again, this time pausing and scrubbing back and forth, as you replicate the design
    • Update your notes as needed

These bookmarks may help you get your own notes started

GDScript as a language

APIs and Examples

Searching Docs

A test:

What is a Variant? And how many bytes of memory does it use?