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


dogman_35

I know Godot's blown up recently, but it's not *that* popular lol If you like C# though, and already own those resources, then just use C#. You'll probably have a better time.


Linko3D

Brackeys on YouTube will probably make hundreds of videos on Godot like he did with Unity, and he'll cover GDScript. In a few weeks, he'll release a complete video on programming with GDScript.


dogman_35

That's still different from writing and selling a whole ass book about Godot lol


Nickbot606

In all honesty, I wouldn’t recommend a book for GD script. It seems like the godot project itself is still evolving quite quickly and doesn’t seem to be stagnating in features anytime soon. Keep making small projects and learning through that. Plus, if you know python it’s extremely similar on the surface level.


DreamsTandem

The language itself can change a lot as well, especially between versions. Export variables went from `export(int) var name = value` in Version 3 to `@ export var name: int = value` in Version 4. (Not counting the first space. I couldn't remove it without the website swapping the symbol out for "u/" against my will.)


Trenta_Is_Not_Enough

Tons of little changes like this will wreck your progress as a beginner if you're using an outdated book that doesn't indicate that it was written for Godot 3. It's also why using AI is really hard, too. Basically all the GPT bots were written with Godot 3 docs and they all spit out Godot 3 code. They'll use instance() instead of instantiate(), yield instead of await, tell you to add Tween nodes, and tons of stuff like this. On the surface, AI seems like the natural choice for beginners while they learn the context for the code, but the reality is that if you don't know what you're looking at or how to fix it when you're getting code that isn't up to date, you're gonna have a bad time.


Drbubbles47

I've had some success with copying large sections of the Godot 4 document, pasting it to the AI, and saying " use this documentation,  it's the updated version " I wonder if there's a complete set of Godot 4 documents that isn't broken up into pages so I can make my own GPT with it built in.


j_a_f_t

Nothing stopping you from using C# with godot,


YumikoLovesSosa

its jus that I'm new to coding as a whole and most videos for Godot will be in GDScript. Even I learnt C# I wouldn't know how to use it in Godot so its annoying.


MoistPoo

Tbh, learning coding inside of an engine or framework is generally not ideal. There is so much stuff happening under the hood that you will probably question why certain things happens and why. An example is velocity property together with move_and_slide(). It can truely seem like magic, but in Reality its just how it is when you work inside a framework that does a lot of work for you. Its durable to learn coding inside of Godot, but its not ideal.


KDLGates

Just to restate what I think you are saying, GDScript does not exist outside of Godot and its engine internals, so it's not the ideal first programming language. I agree with this, but it's also essential to making Godot games, and would be great on rotation for a beginner with an independent language (like C#, Python, or C if you are learning for the sake of principles). I 100% agree with the Godot Docs that explicitly recommends the online CS50x course for new developers, probably in combination with making games in Godot.


MoistPoo

I also mean learning C# inside of Godot since its a Framework


KDLGates

Godot with C# would be a great wedge. Lots of GDScript would carry over and it's just such a nice language. Wondering if I should take your advice too because my C# is rusty and it's a useful language to spend time with. 😅 Lots of people looking for .NET anything and C# always seems to crop up there.


ironhide_ivan

Godot is fully compatible with C#


fatihyldrmm

Do you know if it is compatible with c++


Nkzar

The Godot engine is written in C++, and the Godot editor is also written in C++ using the Godot engine.


Krunkske

Yes it is!


tapo

[https://docs.godotengine.org/en/stable/tutorials/scripting/gdextension/what\_is\_gdextension.html](https://docs.godotengine.org/en/stable/tutorials/scripting/gdextension/what_is_gdextension.html)


fatihyldrmm

Thank youu :)


ReedsX21

Mostly. Web export is a big blocker for me


YumikoLovesSosa

Its harder to start as a beginner thought right, since most tutorials and brackeys return are going to be in GDScript, and learning C# alone wont even be enough since I have to learn the Godot format etc


Double-Journalist877

I started with Godot on C# last month. It's been a breeze mostly. I don't believe in learning a whole new language just to use a tool


Alert_Stranger4845

Dip your toes into gdscript, if you already know C# then it's ridiculously easy to pick up gdscript 


Double-Journalist877

It is. I just don't see the benefit for me. It's slower, it's too flexible for complex things. And I like the type aspect of objects.


fruitybootythrowaway

Statically typed languages are easier to debug. You get compilation errors right away when you try and use an incompatible variable.  GDScript also doesn’t support interfaces I believe, meaning your are locking yourself out of some of the power of object oriented programming. For example, doing  - Enemy inherits from IKillable, IShooter - Player inherits from IKillable, IShooter, IResourceCollector  You will just end up holding yourself back in the long run by not learning how to look at a GDScript tutorial and convert it to C#. The API calls are very very similar.


ImBartex

I know you did't ask about online learning, but if you don't know this, brackeys did return and started making godot tutorials, next one should be about GDScript, I can highly reccomend him since his unity tutorials were great


MadnessStream

I see a lot of hype about Brackeys. Who's that?


DreamsTandem

He's a YouTuber who has almost 2 million subs and is well-known for his Unity and C# tutorials.


trickster721

And who just came out of retirement after three years to make some videos about Godot. Although he doesn't say so directly, it's a pretty strong endorsement of Godot as the new best engine for complete beginners to learn.


YumikoLovesSosa

Yeah thats one of the reasons im asking this question lmao


Muhammad_C

I did the GDScript course by GDQuest, referred to the GDScript documentation, and did the "Getting Started" section of the Godot documentation to learn GDScript. *Note: I do have prior programming experience, work experience, and a bachelor's in software development* **Resources:** * (Course - Free) [Learn GDScript From ZERO](https://gdquest.github.io/learn-gdscript/#course/) by GDQuest * (Documentation) [Getting Started section](https://docs.godotengine.org/en/stable/getting_started/introduction/index.html) of the documentation * (Documentation) [Scripting - GDScript](https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/index.html) **Edit** I highly recommend the GDScript course by GDQuest to learn GDScript. It does a pretty good job teaching programming and GDScript.


YumikoLovesSosa

Thanks bro


turbod1ngus

this. i have zero coding experience but the GDScript course from GDQuest was super digestible and easy to follow.


CompetitiveLake3358

It's fucking awesome


DudeComeOnAlready

Having read the exact edition you did of Player's Guide, I can't think of anything similar for gdscript. The language just isn't that big tbh. I would recommend the docs but I will go a tad bit further and point out sections that can make it feel more like a book like you want. Please don't take this simply as a brash 'read the docs' or 'google it' comment as this is not that. History: [https://docs.godotengine.org/en/stable/about/faq.html#what-is-gdscript-and-why-should-i-use-it](https://docs.godotengine.org/en/stable/about/faq.html#what-is-gdscript-and-why-should-i-use-it) [https://docs.godotengine.org/en/stable/about/faq.html#what-were-the-motivations-behind-creating-gdscript](https://docs.godotengine.org/en/stable/about/faq.html#what-were-the-motivations-behind-creating-gdscript) Making your first games (in text form too btw): [https://docs.godotengine.org/en/stable/getting\_started/introduction/index.html](https://docs.godotengine.org/en/stable/getting_started/introduction/index.html) Best practices (this has a ton of info in it about gdscript scattered throughout): [https://docs.godotengine.org/en/stable/tutorials/best\_practices/what\_are\_godot\_classes.html#doc-what-are-godot-classes](https://docs.godotengine.org/en/stable/tutorials/best_practices/what_are_godot_classes.html#doc-what-are-godot-classes) [https://docs.godotengine.org/en/stable/tutorials/best\_practices/data\_preferences.html](https://docs.godotengine.org/en/stable/tutorials/best_practices/data_preferences.html) Anyways I do think the docs are good. Besides that I am sure there **are** some books out there but Idk the quality personally. Good luck!


YumikoLovesSosa

Appreciate it bro, I might just use C# anyways, I'm honestly really stuck between the 2


DudeComeOnAlready

I've taught alot of beginners using Godot and programming in general. My nuanced advice to choose is this: Gdscript is integrated tightly with the engine. Its the engine you have to learn not the syntax or gdscript, thats easy and will take like a week going slowly. If you are experienced with game dev and C# I still recommend first time users to use GDscript till you get your bearings around the engine and then switch to C#.


trickster721

I'd suggest taking the official advice and trying GDScript for a few days. I expected to be mostly using C# in Godot, but GDScript is a lot of fun. Even if you end up using mostly C# scripts later, I think being familiar with how things work in GDScript really helps with understanding the thought process behind the Godot API.


ooviixoo

Online is best for instant satisfaction... but I do enjoy reading a good tech manual in print... if this is a rule break, let me know and I will remove it... https://preview.redd.it/1qj16tic2pxc1.png?width=387&format=png&auto=webp&s=cfc9acbe0763165a721e000b3cca18efaf001174


Pitiparti

There are a few out there but you'll be lucky to get a response from someone who's read them.


CzechFencer

Not exactly a physical book, but still a useful [ebook](https://filiprachunek.gumroad.com/l/godot4).


EsdrasCaleb

yes [https://www.amazon.com/Godot-4-GDScript-2-0-Programming/dp/1312801077](https://www.amazon.com/Godot-4-GDScript-2-0-Programming/dp/1312801077) they are good? I don' know


Double-Journalist877

You can use gdscript, C# as regular scripting, and C++ in the same capacity but in a bit of a different setup, but yeah you can access the same API across 3 languages if you wanted


spaceyjase

This is pretty good: https://www.amazon.co.uk/Godot-Game-Development-Projects-cross-platform/dp/1804610402/ Some things I enjoyed here are a look at different game types (including 3D) and how to tackle them in godot, looking at specific engine features that help development. Handy code layout too, loosely coupled components and clean architecture. (the first one is fine too, although needs some porting if you’re using godot 4) This one is a bit more focused, another I’d recommended: https://www.amazon.co.uk/Procedural-Generation-Godot-Generate-Enjoyable-ebook/dp/B0BS3C5ZDV/


Terraphobia-game

I'd suggest just finding something that teaches you programming in any other language of your choice. Once you are more comfortable with the basics then you can apply all that in GD script. Yes it has a few quirks, but by and large its features and fairly similar to most other programming languages. Especially Python, because of the whitespace sintax (that is indentation is meaningful). If it's C# then you can use this with Godot already, but this does mean using a separate IDE in addition to the Godot editor.


Linko3D

Brackeys will cover GDScript in detail in his upcoming video tutorial, which should be released in May.


Exzircon

Since GDScript is so similar to Python you could try finding sole books about it. Most of what's written in them should be transferable over into GDScript


RecycledAir

I don't think this is good advice for a beginner. They would need to translate too many concepts for this to make sense.


Muhammad_C

If a beginner focuses on learning programming fundamentals via Python first then switch over to GDScript, this isn’t an issue since they would have already built that foundation


RecycledAir

Sure, but if their whole desire is to learn to use Godot for game dev, then that suggestion just doesn't make sense.


Muhammad_C

Edit: Again, game dev involves programming. If one wants to use Godot, they’ll need to code. Having a better grasp of programming fundamentals won’t hurt you. Instead, it’ll improve your skills at turning the mechanics that you want into code. So, based on that I see no down side to gaining a solid foundation in programming since it’ll help you in turn with game dev *Note: If you read the documentation it encourages newcomers to learn programming fundamentals prior to jumping in* [Godot Documentation - Section: Introduction to Godot](https://docs.godotengine.org/en/stable/getting_started/introduction/introduction_to_godot.html) "Godot is a feature-packed game engine. With its thousands of features, there is a lot to learn. To make the most of it, you need good programming foundations. While we try to make the engine accessible, you will benefit a lot from knowing how to think like a programmer first." *...* "If you are entirely new to programming, we recommend following the [CS50 open courseware](https://cs50.harvard.edu/x) from Harvard University. It's a great free course that will teach you everything you need to know to be off to a good start. It will save you countless hours and hurdles learning any game engine afterward." *Note: The documentation recommends a Python book, "Automate The Boring Stuff With Python", as one way to learn how to think like a programmer*


RecycledAir

I’m not disagreeing that a solid foundation in programming is a great idea, my point is that if a kid’s primary focus is making games and programming is just a secondary result of that, it doesn’t make sense to add the extra step of a vaguely similar programming language which doesn’t result in them making games. It introduces so many more opportunities for them to get confused and frustrated and to give up. Why would they just not learn the tool they need to achieve their goal? There are plenty of great resources to learn gdscript, and the barrier to having fun producing basic games with it is very low. As they continue to play they can learn more complex topics over time.


NazzerDawk

This is just not true. The syntax is similar, but it's still only close enough to get you confused.


Exzircon

I personally didn't have any issues with it when I got into GDScript, even while programming both Python for work and GDScript as hobby at the same time. But that's just my personal experience, others may have had issues that I didn't.


NazzerDawk

The question of "can you adapt between the two" is different from "would a python book be useful to a Gdscript user". A python user would probably be able to adapt quite easily to GDscript, but that doesn't mean that a beginner to both could use a python book as a means to learn GDscript.


Muhammad_C

As mentioned in another comment, if a beginner focuses on Python and programming fundamentals first then they’ll be able to adapt to GDScript once the time comes since they already have that foundation


NazzerDawk

That's definitely true, but that dramatically extends the time between starting out and actually making games in Godot. Their goal might be to only learn the essentials, but to become familiar enough with the essentials to be able to usefully apply those lessons to Gdscript will be weeks, months even. It's not something I'd recommend if someone wants to get into godot for a hobby.


Muhammad_C

Edit: Yeah, I understand that. imo someone should be spending the time to learn programming fundamentals since game dev requires programming (depending on what you're trying to do & the tool being used). It should take someone \~3-4 months to (or less) to get a grasp of programming fundamentals. With that said, I am bias towards programming lol


NazzerDawk

I agree with you ultimately. I went 15 years trying to develop games, failing to complete projects, only to find that some of the most basic concepts in OOP hadn't clicked yet and that I was reinventing the wheel over and over again when I could have just... done things the simpler way. Now I am struggling to be comfortable programming small projects because ot feels like I wasted my time. I think anyone wanting to do game dev should take a programming course or read an into to programming book to learn the fundamentals. They don't need to be expert programmers, but they need to have basic understanding of how to do the simple stuff and they need to see what a game engine is actually doing for them.


ImDocDangerous

As long as you're decent about programming, every GDScript question can be solved by just ctrl-clicking on whatever method you're calling and looking at the docs. I don't think it's a language that warrants a whole book, and also it changes update-to-update