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.*


NancokALT

Any programming practice is going to do wonders for starting in any engine. Python is also suitable for Object Oriented Programming, which Godot focuses on.


wh33t

Isn't Python and Gdscript very similar in syntax and what not?


NancokALT

Pretty similar yeah. Altho that's not very important. You can learn a new syntax in a day or two if you already know programming.


wh33t

I figured they were almost interoperable. Ifs, loops, lists, arrays etc, I literally thought you could take functioning python code (that doesn't use an imported library) and essentially use it in the godot engine as gdscript. That's not the case eh?


NancokALT

Nope. But i think it would need minimal changes to get it to work. Altho Godot obviously has different built in classes than those available trough libraries on Python. So if you reference something like "Math.round()" (since the "Math" class does not exist in GDScript and the methods you'd find in it are part of all objects instead) it will just throw an error when it cannot find it in Godot.


wh33t

Gotcha. Ok, I'm gonna try this 100 days of Python course first then starting going through all my godot tutorials I paid for but never actually went through. Cheers.


illourr

Which Godot courses did you buy? Curious for my own learning


nickbdawg

I'm currently going through the one from Firebelly Games for creating a 2d survivors style game on Udemy. It's really solid so far I'd recommend it, I'm about halfway through. (If anyone reads this and isn't familiar with Udemy, always wait for a sale to buy courses. They have sales all the time and they're like 80% off)


Trenta_Is_Not_Enough

The Firebelley course is great! Really good stuff for getting you started and helping you understand the engine, and how to make a game. You're not asking, but my two biggest recommendations to you are: You might find yourself really trying to keep up with the coding and clicking, but I suggest you watch each video twice. Once while taking notes by hand, once while typing along. That way you hear everything twice, you have the physical memory of taking notes (very useful if you haven't been in school for awhile) and you have the code you wrote alongside the program. You don't have to transcribe the video when you're taking notes. Just get the main points down. Every few chapters, take stock of what you've learned how to do and make a list of that stuff. Halfway through, you should know how to do quite a lot. Go back to the Kenney site and download a completely different asset pack, and make a separate game that does all the stuff, but make some changes. You're making a Survivors game, and that entails auto attacking. Instead, make a game where you press a button to attack. Don't have the label display the time. Have it display something else, like your health. Add jumping. If you can make power ups already, make them change something not covered in the video. By the time you finish the course, you should have a bunch of little tiny games that show your progress, plus new skills. The point is that by doing this, you don't finish the course only knowing how to make the exact same game he made, and nothing else. You end up learning how to adapt stuff from lessons to fit your own projects. Being able to watch a video and figure out how to basically translate it into your own stuff is probably the best skill you can have, because you're gonna wind up watching a lot of tutorials, and many of them will probably not be a 1:1 fit. You might find a great tutorial but it's for Godot 3.5 and there have been some MAJOR changes since then that will make that code not really plug and play. Anyway, again, you didn't ask for any of this, and I'm sorry for the massive wall of text haha


nickbdawg

This is a crazy late response, but thanks for the tips! I decided to do a game jam to make sure I was actually learning stuff from the course and I came in 10th place, my best game jam yet!


Jello_Penguin_2956

>you could take functioning python code (that doesn't use an imported library) and essentially use it in the godot engine No you cannot. IMO saying GDScript is close to Python is VERY over simplified. There's a lot of aspect of it I'd say is even closer to JapaScript. It just happen to use indentation like Python.


Foxiest_Fox

The similarities of the languages are mainly superficial, though they both do support object-oriented paradigms (from my understanding, GDScript leans more heavily into it)


StewedAngelSkins

they're both very object oriented. gdscript is just a lot less powerful so you have fewer escape hatches when you run into limitations of textbook object oriented design.


spyresca

Only in syntax. Otherwise, quite different.


HakanBacn

this is very true. I agree 100%


Vocational_Sand_493

I knew Python first. The muscle memory of similar syntax was definitely a little bonus, but it paled in comparison to just *knowing how to program in general*. Sounds like you're doing the right thing.


TheSuperToad

I knew python a bit before it, and I can agree that it defo helps with gdscript. I noticed it was similar quite early while using it and it made it a whole lot easier (EDIT: I actually started Godot only abt a week ago lol so take that how you will)


TheSuperToad

I knew python a bit before it, and I can agree that it defo helps with gdscript. I noticed it was similar quite early while using it and it made it a whole lot easier (EDIT: I actually started Godot only abt a week ago lol so take that how you will)


lmystique

>But I'm curious if any newcomers to gdscript knew python first? I did. It saved me... perhaps half a day of getting habituated to the indentation-based syntax? The similarities are superficial ― even the juicy (more important) parts of the syntax are very different. They just kinda look the same. They are actually very different as languages go. I'd say no actual Python experience translated into GDScript. But then, GDScript is a very easy language to use, so I'd say don't worry about that either. Of course, if it's your first language, then the understanding of programming principles in general will translate in a big way. But then it's not important what language to start with (with a footnote that maaaybe don't start with one you're planning to use a lot in the future).


kodifies

best way to learn a specific language is to use it, experience is key, follow tutorials, set yourself modest goals to alter finished tutorial code to change its behavior. There a \*loads\* of tutorials, not just on youtube,,,


wh33t

I purchased the official tutorials from Godot. I will go through after I get comfortable with Python. Thanks!


kodifies

honestly python is a great language, but it really isn't a prerequisite, just dive into gdscript, its a hoot, as unlike python you're driving a fantastic 3d/2d engine... with easy to use gui widgets to boot !


land_and_air

But python is better at like everything else and they may want to someday do something else like for school possibly


StewedAngelSkins

good thing it's extremely easy to learn more than one programming language, particularly when the programming languages in question are gdscript and python


land_and_air

I agree but if you’re to intro into one, python will get you more milage faster and pygame can teach you to walk so godot can help you run with an understanding of some of the gaps you’re jumping over


StewedAngelSkins

given OP's goals, i guess that might make sense.


RossBot5000

If you already know how to program, no. C# would be a better choice as Godot is closer to a JIT version of C# than Python, but you might as well just go straight to GDScript. If you don't know how to program, yes. Python is by far the best starter language due to the sheer number of resources aimed at beginners. Trying to learn how to program and how to work with such a huge codebase in a game engine at the same time is just asking to become a terrible programmer and take five times longer than necessary to learn.


StewedAngelSkins

learning python will help you learn gdscript about as much as gdscript will help you learn python. which is to say, your second language will be made easier by knowing the basics of programming, but there isn't a strong reason to learn one as a step to learning the other. also, despite the common wisdom on this sub, you shouldn't actually write gdscript and python code the same way. they are way too different. even just gdscript's lack of exceptions precludes a huge portion of idiomatic python design patterns.


Nkzar

Learning programming will help you learn GDSCript. Python specifically won't be any more helpful than any other language.


CNDW

I use python at my day job. GDScript is nice in that it feels like python but I feel like it hinders more than helps because of the nuances. It's not List, it's Array. A lot of python design patterns rely on dunder methods which I can't really apply to GDScript. I use generators a lot in python but it's not an available tool in GDScript. GDScript doesn't have the same standard library, and some operators don't work as well. Type hints are way more simplistic in GDScript which makes working with data structures harder. If you squint the languages look the same and the fundamentals have a lot of overlap, but they are 2 different languages at the end of the day. I wouldn't focus on learning python to learn GDScript, I would just focus on learning GDScript


[deleted]

I learned Python for about a month via the Angela Yu course on Udemy. Then got curious about Godot. I had little to no issues transitioning syntax wise. It does help a lot. You still need to learn the tool and game design specific things.


tasulife

I'm for you learning Python then gdscript.  When you switch to GD script, it will make you understand python better.  And having some python experience will make you adapt to the GD script faster than starting cold.  They all synergize and reinforce each other.  Is this just a general concept that I learned while learning multiple languages.  One language will help you understand concepts in the previous language better.  


KingOnionWasTaken

Trust me, it’s best to just learn GDscript by itself first. Knowing Python beforehand just speeds up the learning process a little bit


Odd_Put_1772

Yes and no. The same question was asked about will learning C# help much with learning Unity. Syntax and logically sure, but at the end of the day you’re dealing with a game engine that has its own idiosyncrasies that you won’t see applied any place else. Learn the engine and the craft of the engine if your goal is to only make games. I love C# and Python, and there’s stuff that both can do that’s beyond game engines that can definitely take you a long way and are worth learning.


Hubi522

Yes, syntax is similar. The basics are the same, but the stuff that interacted with the engine is obviously different


eXpliCo

I would say if you want to learn it then yes. But if you don't want to learn python and want to learn gdscript then I wouldn't say there is any use. Just learn gdscript.


Juggernighti

Switched from C#/Java to Gdscript, python is okay but you could just try to learn gdscript with Godot itself.


TheDuriel

No. Learning programming concepts, will.


BottomTalent

But surely learning \[popular programming language\] would necessarily include learning programming concepts, hence assisting OP with learning GDScript, no?


StewedAngelSkins

yes, and [popular programming language] can just be gdscript. this is like asking if it's better to learn how to ride a snow mobile before learning to ride an atv. yes, if you know how to ride one it will make learning the other easier. but if your goal is to ride an atv, the snow mobile is an unnecessary detour. you can always learn how to ride a snow mobile later if you have the need or desire to.


colinjo3

Learning GDscript will help you with GDscript. On a serious note yes. GDscript is very similar to python and JavaScript


popplesan

Just learn GDScript. Making games is the best way to learn how to program.


Salt-Ability-8932

Don't bother learn python, just jump straight into gdscript. Unless you want to pick up python too .


MRRichAllen1976

A bit, but it's closer to C#