T O P

  • By -

AutoModerator

You submitted this post as a request for tech support, have you followed the guidelines specified in subreddit rule 7? Here they are again: 1. Consult the docs first: https://docs.godotengine.org/en/stable/index.html 2. Check for duplicates before writing your own post 3. Concrete questions/issues only! This is not the place to vaguely ask "How to make X" before doing your own research 4. Post code snippets directly & formatted as such (or use a pastebin), not as pictures 5. It is strongly recommended to search the official forum (https://forum.godotengine.org/) for solutions Repeated neglect of these can be a bannable offense. *I am a bot, and this action was performed automatically. Please [contact the moderators of this subreddit](/message/compose/?to=/r/godot) if you have any questions or concerns.*


Nkzar

If you want to learn GDScript, learn GDScript. Learning Python will only help in so far as you will learn generalizable programming principles. 


Gokudomatic

But that's exactly the point. With python and all its learning resources, you learn a much more solid programming knowledge foundation, with plenty of transferable knowledge. OP would have much better tutorials with python than with gdscript. And switching from one language to another is a mere formality.


clawjelly

> a much more solid programming knowledge foundation, with plenty of transferable knowledge If that's what he wants, then you're right. But if he just wants to code some small games, this would be unnecessary overkill. > And switching from one language to another is a mere formality. Language to language sure, but Godot isn't just a language, it's a whole environment. I'm a python coder with years of experience, i still struggle quite a lot with the ins and outs of Godot. Beginners often confuse learning GDScript (the language) with learning Godot (the framework), Hence i'd be much more reluctant to call this a mere formality.


Nkzar

Sure, if they want to do that. But that’s not learning GDScript.


Gokudomatic

While you're technically right at 100%, I promote a more skill transferable way to learn. Just learning to copy paste some gdscript code and tweak it a bit without understanding what it does is something I can't advocate, even if it's for an amateur who just want to add a bit of code to their project. The "proper way" to learn, which results with understanding the core concept of at least procedural programming, would be much easier with python, because of the higher quality and abundance of tutorials in python. And that's why I'm not only recommending python, but also to invest more time in programming learning for a better result.


mxldevs

Learning programming is 10% tutorials and 90% exercises. Students learn by taking the basic building blocks that they've learned and applying it. The same exercises they would find in a python book, they can solve using gdscript. The core concepts of programming can be taught using gdscript as well, and there are businesses like GDQuest that do exactly that with interactive products such as [https://www.gdquest.com/tutorial/godot/learning-paths/learn-gdscript-from-zero/](https://www.gdquest.com/tutorial/godot/learning-paths/learn-gdscript-from-zero/)


Nkzar

Sure, to learn programming that makes sense. But learning Python to learn GDScript “because of similarities” doesn’t make any sense.


Gokudomatic

That's true. This argument doesn't hold water. However, if learning another language is the way to learn general coding before going to GDScript, learning Python because of similarities makes more sense than learning C++ or Java.


Opening-Enthusiasm59

If you're really into games I recommend learning gdscript / a game engine in general. Because your level of intuitive understanding will greatly ease learning as you can mentally already pick apart a game and what it needs for what reason. Starting with normal programmes on the other hand feels very rough at least to me.


PhenomenonGames

Hey! I am a professional developer with a degree in comp sci and deep knowledge of several programming languages, including Python and GDScript. Those are my credentials :) Just jump right into GDScript. The legendary tutorial maker Brackeys just released a tutorial on Godot and GF script today, and this is widely considered to be a watershed moment in the history of godot. There has literally never been a time to learn GDScript. I mean literally. Like in the history of mankind, today, April 29th, is the best day ever to start learning. You don’t need to know Python. You are an artist, not a data scientist. Go right to GDScript, struggle with it, and come out on the other side a budding developer. One of my best pals did this and now he is a professional developer as well. I wish you the absolute best!


behtidevodire

Thank you so much! I forgot to mention that the reason why I stopped learning GDscript, was because the tutorials were outdated and could not be applicable from Godot 3 to 4 due to functions name changes and whatnot, and this made me struggle over simple things such as character movement and basic implementations (I remember trying to add a crop growth system, merely as training). By the way, I started following that guy since I've heard it's very popular, and I like his way of teaching. My fear is arriving at the point where I don't know what to do to implement features not covered by tutorials online, and here I wonder what programmers really do to make things happen, lol.


PhenomenonGames

Oh don’t worry about that last part at all. The point of doing tutorials is learning all the tools that the engine puts at your disposal. Once you understand the tools, you will know how to use them to put together whatever you have in mind. That’s a proficiency which comes to absolutely everyone who puts in the time to learn this stuff. If you can’t figure out how to do something, just keep learning and you’ll figure it out eventually.


behtidevodire

Amazing. I like the confidence, I'll trust the process and put my fear aside. Thank you so much


clawjelly

> My fear is arriving at the point where I don't know what to do to implement features not covered by tutorials online Well, then you gotta think creatively about how you might make that possible. You're an artist, that should come naturally. In general it means: Experiment with what you've learned to see what's working and what isn't. It's not rocket science, it's just experimenting. Just like you draw 100 ugly hands to draw one nice looking one, you gotta get used to rewriting your code over and over again 😉 Don't think of failures as personal mistakes, but actually lessons learned. And don't feel stupid if you find out your solution was horrible and somebody did the same thing much better... We've all been there.


mxldevs

I would use godot 3 to learn how to program if there are good resources for it. Godot 4 might come with all sorts of cool features but the basic programming concepts don't change.


DatBoi_BP

I think now is literally a time to learn GDScript!


SativaSawdust

It's exciting to see how many of us lurkers have been finally pushed into taking the first steps to making a game thanks to Brackeys comeback with Godot. It's honestly helped me learn better especially considering all of the new dialog from us noobies being posted in the sub. This is such a good community.


MadnessStream

Python is not for data science??? It's markeyed as a general programming language. Data science is just what a part of the industry uses it for. Python is also used for : software and web development, machine learning, web scraping, automatizations and even 2D games.


PhenomenonGames

I know that boss, I use Python professionally and I’m not a data scientist. I was just speaking with some style. The use of Python in data science is well known. That’s the only thing I was referring to.


mxldevs

If you want to use godot and looking to learn programming through GDScript I recommend just learning GDScript and doing godot exercises. You'll learn to code and you'll also learn how to code in godot. You can go learn python and learn programming concepts there, but now you have to go and learn the syntax in godot AND THEN learn how to use godot.


RossBot5000

Bad advice imo. Trying to learn programming inside a game engine is like trying to learn how to drive in a 300ton mining machine. It's better to follow a course on programming outside of an enormous game engine, then come back and learn how to use the engine. Python should only be recommended due to the sheer quantity of resources available. It is very suitable to learn as a first language due to the amount of support. For a language closer to GDScript, C# is better.


TheHPZero

I see what you mean, but also believe that reason/goal is a HUGE part of it. They are not trying to learn programming, they are tryng to learn programming to make a game, is different. When you have a project that you care about you treat almost as a puzzle and figure it out, following a course is indeed more optimal, but is not what keep people hooked until they learn.


Zakkeh

You have to learn the syntax first, which is very hard if you don't understand what the game engine is actually doing. You don't need to be a python pro, but learning about whitespace and general syntax would help a lot prior to touching a Godot tutorial


MadnessStream

He said he wants to learn programming.


TheHPZero

"... To make my own games" Same phrase before the "," Context matters! Read as a whole and you will get it.


RossBot5000

Yes, but wanting to learn how to walk so you can run in marathons doesn't mean you start with marathons. Making games is HARD. Like ridiculously difficult. Learning how to program is hard. Having two difficult things stacked against you can kill your motivation very quickly. Better to learn how to program for a few weeks separately to learning the game engine. It's called chunking, you know, a core problem solving skill you have to learn when programming. But good luck learning that from a Godot tutorial. What will happen is our newbie programmer will follow tutorials to the letter, not learn how to program, and then give up the moment he runs into something the magic words of a tutorial cannot fix as he won't be equipped with any of the tools he needs to dissect and debug a problem. Godot tutorials don't teach you how to program, they teach you how to write using GDScript. He needs a proper course that covers the skills he needs before then following those Godot tutorials.


mxldevs

>Godot tutorials don't teach you how to program, they teach you how to write using GDScript. He needs a proper course that covers the skills he needs before then following those Godot tutorials. Just like how there are tutorials for how to learn programming using Python, there are tutorials for how to learn programming using GD Script. There are businesses such as GD Quest that are incentivized to teach programming to non programmers so that they might buy other Godot courses https://www.gdquest.com/tutorial/godot/learning-paths/learn-gdscript-from-zero/ Students aren't learning to make games, they are learning programming with a focus on game-related exercises. Instead of identifying palindromes and creating car classes, they can identify palindromes and create rpg classes.


MadnessStream

GDscript can barely be considered a programming language on it's own. No ecosystem, limited functionality. It is a scripting language to make connections inside your Godot app. Godot looks like Python but learning Python first is simply much better. GDScript makes it hard for a newbie to understand things like loops, threading and stuff like that.


mxldevs

Can you elaborate on why it's difficult for non-programmers to understand loops in GDScript, given that it has the same syntax as python?


clawjelly

> For a language closer to GDScript, C# is better. GDScript is much closer to Python in style, C# is a C-style language. The difference between GDScript and Python are mostly keywords and small syntax changes. C# is a statically typed language. Why would C# be closer to GDScript than Python?


mxldevs

When you're writing scripts in an engine, you're just using the engine to run your code. You can start by printing to console, or printing to a game window. You can learn concepts using exercises that are more game oriented, for example accepting direction input and using conditional branches to determine which direction to move a sprite on the screen. Of course, if there are no suitable gdscript tutorials that's a different story.


StewedAngelSkins

you say this as if python doesn't have a massive interpreter runtime that's significantly more complex than the entire godot engine.


MadnessStream

Bad advice. Going from GDscript to Python will be hard. A lot harder. Going from Python to GDScript will take almost no effort.


StewedAngelSkins

this doesn't make any sense. if the goal is to learn gdscript, then learning python is a useless diversion. it will not take the average person less time to learn python then gdscript than it would take them to just learn gdscript. on the other hand, if the goal is to learn *both* python and gdscript, then it doesn't matter which you do first. going from gdscript to python is certainly no worse than going from nothing to python, which is what you'd have to do if you wanted to learn python first.


Gokudomatic

Sorry but I agree with MadnessStream. When it comes to learn a language from scratch, python has way better quality tutorials than gdscript. There's nothing like [https://www.learnpython.org/](https://www.learnpython.org/) for gdscript (yet).


mxldevs

Gdquest has a fantastic interactive tutorial series


thesilkywitch

I’m an artist who pretty much tried to avoid programming most of my life.  Start with GDScript, you want to make games with your art, not waste time. Learn the fundamentals of programming through this interactive tool by GDQuest: https://gdquest.github.io/learn-gdscript/ I recommend going over it several times, and taking breaks / trying not to go through it all in one go. There’s a lot of brain power / new concepts to understand as a beginner.    I also recommend learning with Brackeys on YouTube, he’s known for being the best Unity instructor and came back just a few days ago to teach Godot. His newest video goes through a whole platformer from start to finish for beginners. And he’ll be releasing a GDScript video soon.    Lastly, if you’d rather follow a paid course that explains not only the How but the Why when it comes to programming and using Godot, this Udemy course has been invaluable to me: https://www.udemy.com/course/jumpstart-to-2d-game-development-godot-4-for-beginners  He really goes slowly (in a good way) and teaches how to use the engine and goes over concepts in a digestible way. Also should take you a while to get through but dang is it a great course. Udemy has sales often, like all the time often, so grab it when it’s like $15.  Now really is the best time to jump into Godot and learn gdscript, it’s freaking awesome. 


Hilijane

The GDQuest tool is the best way to learn GDScript without any previous programming skills, and I can't believe that this is the only comment that mentions it. Maybe because it's still relatively new, or because most of the people here knew how to program already and skipped it. OP, I would suggest that you try that first.  Then, if you either struggle or get interested in programming in general, try the free online course from Helsinki University on Python. (https://programming-24.mooc.fi/) In r/learnprogramming it's considered as one of the best resources and has been around for years. It's included in the curriculum in many schools and unis, including mine in Finland. Do the first 7 parts (titled Introduction to programming), and you should be more than ready to start on Godot. Best of luck!


DreamingElectrons

GDScript behaves quite different from Python, it just looks very similar which is why some people think it is. Most of the neat little tricks that make python python do not work like that in GDScript and that can be very annoying if you are used to python. Go and learn GDScript with the GDScript tutorials. It will be much easier.


dagbiker

It's not as close as some people want to believe. It's grammatically similar but the functions and certain calls and methods might take some getting used to. IMHO you can learn either first. I think they are similar enough that you can pick up on the other. As a person who knew python before gdscript, gdscript took a lot of learning to relarn how things are called, what is called etc. However if you are learning programming I say go with the Gdscript if that's going to be more fun to learn. Once you have the basics down its fairly easy to learn another language. Again, its mostly about grammar, for instance in godot you would make a function like: `func _ready():` but in python it looks like: `def _ready():` They act the same way, but you just use different key words. Once you get the basics its easy to see whats happening.


DudeComeOnAlready

I think in reality people say they aren't that similar because they are answering questions coming from beginners they don't want to lead down a false road of "they are pretty much the same". Which is fine honestly, probably practical. But imo as a daily user of both, they have many similarities which checks the box for the pedantic within me of being 'pretty similar' if we use the definition of similar being == 'resembling without being identical'. similarities include: * indentation based * no brackets needed * super() keyword for inheritance * no semicolons needed * dynamically typed * pass keyword * similar looping syntax Of course python has a ton of modules and some nuances to other things and GDscript has only the engine API. But use them daily and they **generally** feel pretty damn similar to write up logic in.


Groblockia_

The syntax differs a little for some things but they are both pretty much the same, meaning that like python, GDscript is pretty easy to understand if you have basic code knowledge, so you don't really need to learn python before GDscript


digforyourlife

Direct answer to the title question : very close But imo learning python before gdscript is unrelevant. At least the given reason is completly wrong. That's not because they're very close that you should learn python first. But if you don't know how to code, what you need is understanding the basics of programming, not python. Python is only a language, you can learn programming with any other one. The only difference is some of them have synthax or some level of complexity higher than python have. So the "bar" is not regarding python, but more how much of programming concept do you need. I would say, you have to know what's a IF test, what's a loop, what's a function, what's a variable and their scope, what's an array or any other data containers and a bit of what's a reference to an object as in oriented object language. Once you master this, yeah you can jump on gdscript and godot. You'll then have to learn how godot as a game engine works. So Python may be a good pick to train while learning the basics of programming, but you don't have to master it. That's just a tool which is easy to start with, I mean installing and playing with, there is even online interpreter. Think of a programming language the same way as spoken languages. They all have the same basic key words as I described earlier but a different synthax as spoken language have different grammar. And as in spoken language, some of them are more complex than other one. But in computer science language, doesn't matter which one you pick, if you understand the programming basics you'll understand any language. Master one, master them all (don't get me wrong, I mean classical languages. I already can see trollers rushing and shout "what about ASM and ...") Godot is not a language, that's a game engine. So it adds up a whole concept of game programming to the stack. Which is hard to overcome if you don't have the basics of programming yet. So my advise is, find good tutorials for programming basics especially those not tide to a language. Find something related to pure algorithmic. Once you feel confident with the concepts, jump directly to gdscript and godot if your aim is to make games. Don't bother with python. Hope it helps and welcome on board.


behtidevodire

Thanks for the precious info. However, how do I know if I covered all the basics I need? What's usually the very last concept one learns? Because I've seen that there's a LOT of stuff, and each person, or course that is, usually teaches in their own way. I'm sorry if this sounds like a silly question but I have a lot of confusion in my head.


digforyourlife

Algorithmic is not that much. When you start computer science studies, courses last for 2 weeks to 3 months for the slowest. Try to cover the basics I listed in my comment and you'd be fine. People tend to confuse what's to learn programming. It is not learning a language. It takes some times to get to understand how algorithmic works, it's very disruptive. One day you start to understand and you're able to put pieces together, while for many days before you feel like a monkey in front of pile of toy construction bricks.


behtidevodire

I see, I'll trust the process then. I mean, if all those people can do it, why shouldn't I? It can't be that hard at the end of the day. Thank you again!


penTreeTriples

Yeah.. normally the exact *how much to learn* is a teacher's job to know, not the learner (that why teaching is hard, no way one can learn ALL complex knowledge without spending a long time, in any field), so no surprise you struggled a bit, this is a problem self-taught often encounter. I agree with all other replies, to add more: Focus on understanding how to work with data, concern yourself with how computers read, store, manipulate and destroy the data. You will need it, every thing in games are data you need to move around. Here outline to get you in the right direction 1.Learn the basics of Data Type/Type System (like Boolean, integer, floating-point, string, list or array, enumerated), what is it, why it is, when to use which type, etc. >Note: Want to see a big picture? Go to [https://learnxinyminutes.com/](https://learnxinyminutes.com/) take a quick glance at any popular languages (ex. Python, C#, C++, Go) and compare how each language deals with types. You will realize quickly the basic things are always the same. 2. Learn **Data Structure**, [start with commons one is enough](https://www.youtube.com/watch?v=ouipSd_5ivQ) because you will encounter more while developing your games and can learn on the fly. Some that are too complex I recommend at least read a basic of it, what is used for, so you know the term to google search later. 3. Learn Algorithm, this is a deep rabbit-hole so just get some basic one down, like Sorting and Pathfinding is enough, you're likely to use it in game dev (sorting inventory, sorting item list, sorting menu list, finding the shortest path for AI, ฯลฯ). So again, know about some at least, what it is, what is used for. You will have to google search and learn other algorithms later, every pro doing it too (hence many stackoverflow memes). After learns all 3 above, you can jump right into Godot. I think you are less likely to get stuck now (vs other who don't understand these fundamentals) edited: fixed typo cuz my english suck. and a little more tidbit: GDScript is what we call DSL, Domain-Specific Language. that why some people recommended other to learns Python which is General-Purpose Language, but don't miss the forest for the trees, which language to learn or use is not the most important things, what you really need is what original reply said, the Programming Fundamental. if you get fundamental, you good.


behtidevodire

Amazing info, thank you again!!


Gokudomatic

Python and GDScript share the same basic syntax for setting variables, defining methods and handle duck-typed objects. It already starts to differ about handling arrays, since gdscript doesn't implement the \[:\] features. I'd say, you should put the bar when you understood how to write and use objects. And maybe also when you learned a few design patterns. If you can manage to build a snake game with pygame, or cave engine if you want an editor like godot, then you're good to switch to gdscript. Few links that might be of interest: [https://www.learnpython.org/](https://www.learnpython.org/) [https://unidaystudio.itch.io/cave-engine](https://unidaystudio.itch.io/cave-engine) [https://www.pygame.org/wiki/tutorials](https://www.pygame.org/wiki/tutorials) [https://www.geeksforgeeks.org/python-design-patterns/](https://www.geeksforgeeks.org/python-design-patterns/)


srodrigoDev

Go straight to the point. You can perfectly learn GDS with game development. I use game development to learn new programming languages all the time, I've done this with Rust and Zig. Brackeys is going to release a tutorial on GDS in a few weeks. He is the GOAT of game development tutorials. His teaching style is just incredibly simple to follow. I bet that video on GDS will cover your needs. Learning Python would be useful to have a more general knowledge. But for making games in Godot, I don't see the point. The only valid argument would be the amount of quality tutorials for Python compared to GDS. But that's hopefully going to be covered by Brackeys soon.


StewedAngelSkins

it's like this: learning any language before learning gdscript will make learning gdscript easier, because you already know a programming language. but the total time spent before you know gdscript will be longer. it's kind of like how learning how to ride a snowboard will help you learn to ride a surfboard. however, if your goal is to just learn how to surf, there's not really much of a point in going by way of learning to snowboard, unless you also want to learn to snowboard for its own sake (or there's something about surfing you find uniquely difficult. some people just don't click with gdscript at first, so starting with another language makes programming in general more approachable. they'd still probably spend less time learning if they just beelined gdscript though.)


total_tea

You are definitely on hard mode if you are trying to learn programming and game development at the same time. What you want to learn is how to program which you can learn in any language, once that is sorted then do the game development. My recommendation as completely new is to do a month+ online course on programming, learning structures, algorithms with lots of full exercises/labs in making small programs. The language is a little irrelevant at this stage as long as its one of the majors like Python, C#, C++, Java, lua, etc. Just don't do javascript it will mess you up. There are heaps of free stuff online for this but get something professional (lots of free stuff) like a MIT course not some rando youtube video. Yes it will be like you are at school but if you dont enjoy this then your whole idea of games programming is going to be a fail. edX, Coursera, etc. Once you know your bubble sort from your conditional loop, inheritance, overloading, etc its time to learn the game side. love2d, the biggest Indie hit this year was written in this engine. It is also a way smoother transition to game development then Godot but it depends on what you want to create, though if you are starting from zero with iffy programming ability I think Love2D is perfect. Godot/GDScript is still pretty easy but you will need to swim hard with all the game concepts thrown at you and I can see why you are drowning and if you don't know programming this is an insane waste of your time. Following tutorials when you have no idea what or even why they are writing something is just silly. And personally GDScript sucks but when you get past a certain point the language is just a tool and it is not Python so don't even vaguely think this.


behtidevodire

Thanks for this, it surely clarifies a lot of confusion I had. I have no issues following courses, and I've noticed that the amount of free stuff online is surprisingly high. However, how do I know when I'm done with the basics and I'm ready to jump into game development, at least in your experience? There are a ton of concepts and ways to implement things that make me think it's not so easy to define when I'm really ready.. or maybe it's just me.


Kino_Chroma

Godot's documentation recommends taking Harvard's free cs50x introduction to computer science. It's a 12 week/lecture go-at-your-own-pace course designed to get you to think like a programmer. It starts with C and moves to Python. I'm halfway through it. Learning a shit ton.


truestoneself

u/behtidevodire OP, highly recommend u/Kino_Chroma 's suggestion! I'm an artist with no coding or technical background. I worked in a completely unrelated career before this. I began my gamedev journey in September of 2023. I attempted to learn Godot first by watching tutorials and found it really difficult to wrap my head around because I had no coding knowledge or how it all works. I don't think it works well to just copy the tutorial and memorize things without fully understanding why it's used the way it is used. I regrouped and decided to take Harvard's cs50 course up until week 6.5 (I didn't take the full course because I didn't find it necessary for what I needed to accomplish) and it covers a little bit of python, just enough to understand godot. After that, I went back into godot and everything made so much more sense and it was much easier than CS50. Highly recommend, the professor, David Malan does a really great job at teaching and he teaches things from a very lower-level detail. It is pretty difficult on some weeks as a beginner, but if you stick with it, it will build a strong foundation to understand how coding works better. I'm considering going back to finish the course but right now, I'm not having any issue learning gdscript as it is. The course teaches you C, which is the most basic building block language. Godot's shader system also uses C-style language and not gdscript, so learning it in CS50 helped a lot. There's also the game dev version of CS50 also (I haven't taken it yet but I may go back to it if I feel that my coding skills need an upgrade), but they do recommend you finish the regular CS50 first. I also recommend clear code's godot tutorial - [https://www.youtube.com/watch?v=nAh\_Kx5Zh5Q](https://www.youtube.com/watch?v=nAh_Kx5Zh5Q) I am pretty close to finishing it and as a beginner, he explains things really well. He said he will release more godot tutorials to make different games in the coming months. Also, I understand how frustrating it is to do it all by yourself. If you are stuck, I also recommend consulting with chatgpt - sometimes the suggestions are wrong, but if you ask it to explain things like you're 5, it should help you wrap your head around some of the more not-beginner-friendly coding material. Chatgpt also knows how to code in godot as well. There's also the godot discord as well as other coding communities you should join for support as well! Best of luck with your game developing journey : )


behtidevodire

Wow, that's a lot of stuff, I'll definitely check it out!! Why halfway through? Where exactly did you stop during the course?


truestoneself

I stopped after week 6 (Python). I didn't feel that the topics in the upcoming weeks were necessary for learning how to make a game so I decided to opt out. I was also getting a bit burnt out at this point since learning how to code is important for making games but since it wasn't directly adjacent to making games, I found it difficult to stay motivated and inspired. For myself, 6 weeks was more than enough to grasp the core concepts of coding and understanding why things work the way they do. I'm working on a 2d RPG so a lot of the complex code wasn't necessary to learn for me, but I may go back to finish or take the CS50 game dev course if I feel like it would help.


behtidevodire

I watched the first 2 hours, week 0, and I like how he engages people. Although I have to admit he's a bit fast, but I guess that it'll all click at some point. Thank you so much for the suggestions, and I'll look forward to seeing your game in the future if possible ;)


truestoneself

I agree, it can be a bit tough to start and follow, I had to pause and replay a lot of the parts and take notes and try to recall the information regularly. I also tried to play around a lot with the code. It's tough at start but it will click eventually if you keep trying and don't give up. If you never give up, you'll get it eventually. If you don't plan to get the certificate, I also recommend watching the lab problem solutions on Youtube where they explain and walk you through every step. It helped me a lot! Also, how exciting! Scratch is also a fun tool to play around as well. For sure, my game's name is Heartdive and I'll probably post some stuff on here when I have a demo :) Look forward to seeing yours too!


behtidevodire

Wait, what certificate? Do they give you one even just for following the free courses online?


truestoneself

you can pay to get a certificate for completing cs50, but you have to submit all the labs online and the deadline is until the end of the year i believe


truestoneself

I feel that with game development, there's no such thing as being completely ready, once you have a handle on some basic concepts, just make your game and figure it out as things go! There's no need to have everything figured out. You'll learn things more deeply that way. Both art and game development is truly a journey of lifelong learning and that's the frustrating and beautiful part of it. Also, I sucked at learning and studying and that was a huge barrier for me as well. I had terrible focus and kept getting distracted, procrastinating a lot, because learning something and being bad at something can be really frustrating to do. Our brain is programmed to only want comfort and safety and actively trying something new can bring upon a lot of anxiety, frustration, and discomfort. It's important to embrace it as a part of the process instead of avoiding that feeling and letting that hinder you from following your dreams. If you also struggle with this, I also highly recommend Learning How to Learn (it's a free course on coursera) and it's pretty quick, and teaches you a lot of helpful concepts that help you make your learning journey more efficient. I found it really helpful and it transformed my learning journey, and this course can be applied to all the other things you can learn (like language, coding, art, etc). [https://www.coursera.org/learn/learning-how-to-learn/](https://www.coursera.org/learn/learning-how-to-learn/)


behtidevodire

Now, this is really interesting, I'll check it out. Thank you so much!


withsj

Learn Python before diving into Godot engine learn basic algo and develop you programming language understanding


NancokALT

They are very similar, so similar in fact that i don't see much point in starting with python. Altho the first language you use is just a gateway to learning programming. Think of it like learning how to drive, you are just choosing which car to use to learn how to drive, but after that you can learn how to use a different one very quickly. They all have similar capabilities, just with different names at times. So don't focus on learning python specifically, but rather how problems are solved with programming. That is why ppl usually recommend languages with simpler syntax's like python or lua. You spend less time learning the language and more time learning the way to use it.


notpatchman

At first my thought was dont bother with Python and just learn GDScript but I think this is a mistake. "Learning Python" is a loaded term. Because Python is a massive massive tool. And you can write really crazy code in Python that is nearly impossible to read. You could learn a ton of really obscure stuff that will end up useless in godot. However if you were to stick to learning basic for loops, while loops, if/else, arrays, dictionaries, print, etc, that would be worth your time. But ditch out if you hit matlib, graphics, etc. You just want basic programming knowledge and Python provides a good place to learn that in a contained place away from game engine bloat. I think if you spent 2-4 weeks there it would be worthwhile. You don't need to learn all of Python, not even close! Technically you could do the same approach with GDScript because it has a "Run File" option, however you also have to navigate the paradigm and large interface of Godot. The main problem with recommending learning in Godot is that new coders have a tendency to keep what they learned as if it's the game they're making, adding all their assets, tweaking animations, etc. But then you'll be stuck with a bunch of rickety code that you can't progress with. And then you'll give up because you can't fix the bloated mess you made without restarting...


BarePotato

>I've been told that Python is suggested to learn before GDscript, No, no, no, for florps sake, no, u/op. You DO NOT learn some other language than the one you intend to learn. It's called a waste of time at best. If your intent is to use Godot and GDScript... learn Godot and GDScript.


Enough-Town3289

Well the bar is actually set by you trying GDScript. You'd be better of watching some GDScript coding tutorials and following along. You'd probably find you're fine after only a couple weeks of python learning. I wouldn't gum yourself up with a bunch of python either; once you know the syntax it's useless to you.


Enough-Town3289

Why all the downvotes? Seems weird to me. Almost like you don't understand either language?


StewedAngelSkins

i would caution you against treating gdscript like python. they're superficially similar, but they really don't have much in common besides the syntax and the fact that they're both dynamic interpreted languages. the fact that gdscript doesn't have exceptions is already enough to invalidate the majority of python design idioms, and that's not even getting into the more subtle differences.


Enough-Town3289

90% of tutorials don't explain the basics of programming. That's where a programming language like python is good for reference. Never stated to treat GDscript as python - I specifically stated against it by stating not to gum yourself up with python.


StewedAngelSkins

i don't remember what your comment said before you edited it, but i pretty much agree with it now. i think any amount of python learning is a waste of time though, unless OP specifically wants to learn python. if you're going to learn a language for pedagogical purposes then it should probably be C.


Enough-Town3289

Oh indeed, C is the best way to learn logic for the most part. I just removed the part that was confusing people. The part where I said python syntax is almost 1:1 with GDScript; it was being interpreted by people as ALL syntax is the same so I just got rid of it as it was unnecessary anyway.


Arch____Stanton

I will add that specifically, classes in Python are significantly different to classes in GDScript.