Wow, that IS a lot of new features! The rate at which they're* pushing out new releases is pretty incredible. * Technically I can say "we" since this release includes my first contribution! TBH, I...
Wow, that IS a lot of new features! The rate at which they're* pushing out new releases is pretty incredible.
* Technically I can say "we" since this release includes my first contribution! TBH, I think it barely counts (It's just a small documentation edit), but apparently it was enough to get my name in the contributor cloud at the end! đŸ¥¹
Good documentation and working examples are worth double the code base itself. I'm fairly certain half the reason Python became so popular is because of the plethora of good examples in their...
Good documentation and working examples are worth double the code base itself.
I'm fairly certain half the reason Python became so popular is because of the plethora of good examples in their documentation.
The release notes are very well done and illustrated with nice visuals for this release. It's an overwhelming amount of new features, and a lot of great stuff there. A few items that stood out to...
The release notes are very well done and illustrated with nice visuals for this release. It's an overwhelming amount of new features, and a lot of great stuff there.
A few items that stood out to me:
Offset transform of Control nodes - Looks good for GUI animations.
DrawableTexture2D for letting the player draw on textures.
One-way collisions are easier to do in 2D, great for 2D platformers.
Tons of editor improvements. Might have to relearn some stuff.
Built-in virtual joystick. Nice addition even though there were already a few community maintained open source solutions.
Some more progress integrating GDScript with Android APIs and Java.
I used one of the community solutions for virtual joysticks for Cave Creeps and while quite happy to find something to bootstrap my game into touchscreen compatibility where I had none planned, I...
I used one of the community solutions for virtual joysticks for Cave Creeps and while quite happy to find something to bootstrap my game into touchscreen compatibility where I had none planned, I also wasn't totally satisfied with it. I needed to add in signals and struggled to get it quite right (there's still a critical bug where sliding the stick through the dead zone counts as releasing it IIRC). The native solution also has the "place stick where you put your thumb" option, a huge ergonomic improvement over static sticks.
All that is to say, I'm excited for the native solution and I'd like to retroactively implement it once I find the energy to resume dev. (I haven't even shared my second project with y'all yet and that's more or less done!)
Speaking amateur programmer to amateur programmer - absolutely. It has been worth it, I've been using it for years now. Though of course it probably depends on whether our definition of "amateur"...
Speaking amateur programmer to amateur programmer - absolutely. It has been worth it, I've been using it for years now. Though of course it probably depends on whether our definition of "amateur" is the same and what you hope to do with the engine. Happy to answer any wonderings you might have.
Thanks! I found the tutorials were mostly based on the older godot 2, and the new system is significantly different. How did you find the best source for learning the system?
Thanks! I found the tutorials were mostly based on the older godot 2, and the new system is significantly different. How did you find the best source for learning the system?
not the person you asked but in a similar position and honestly the official docs have some great tutorials in them. there's the detaily docs that just list functions and whatnot, but they also...
not the person you asked but in a similar position and honestly the official docs have some great tutorials in them. there's the detaily docs that just list functions and whatnot, but they also have onboarding stuff to help understand their coordinate system stuff (although basis and origin are still a cointoss to me).
and then the other side of the problem is learning the ui / the editor and all of its nuances. it can be a little confusing at first to remember all of the different panes, and buttons. figuring out why everything is moving in local coords instead of global, why a change in one collider affected the other collider, where you go to edit the texture of something.
for that, i would reccomend this brackeys video https://www.youtube.com/watch?v=LOhfqjmasi0 and the one where he goes over 3d games. i would just have a peruse of that. just skimming around to try and absorb the workflow a little bit. the node tree structures and how crafting things like rigidbodies felt a little awkward to me at first but clicked quite fast.
and then for practical advice, i would 1000% reccomend making a cover of an old flash game ur fond of. flash games are usually very small scope, basic scenes, and usually have a very clear gameplay loop or win/ lose condition. doesnt feel as bad to pivot away from a project that was just for funsies
That's interesting, how long ago did you last look into Godot? I don't think I've seen any Godot 2 tutorials show up in years! To answer your question though, there hasn't been one single source...
That's interesting, how long ago did you last look into Godot? I don't think I've seen any Godot 2 tutorials show up in years!
To answer your question though, there hasn't been one single source I've stuck with while learning, it's just been several years of project-based growth where I pick something I think I could handle, look up how to do it, wrestle with it for a while, then modify it to fit what I want. But I recognize that that's not helpful advice in and of itself, so here's a list from a comment I wrote a few months ago:
Godot learning resource recommendations (by no means an exhaustive list!)
The documentation is generally pretty awesome for the fundamentals of most things. You'll definitely find areas in which it's lacking when you start digging deeper, but it should be excellent for most things at the beginning.
GDQuest is pretty great. I used to not love their teaching or coding style, but that was partially because I just didn't understand it well enough yet, and they have created a lot of excellent learning materials since the time when I formed that opinion. I also very (very) briefly did some work for them and I get the impression that they're good people. Their site's overall aesthetic is not really my taste, but it doesn't take away from the education they provide.
Depending on what your actual level of programming comfort is, you might want to check out their custom interactive lessons/tool for learning GDScript from zero
Godotneers (YouTube channel) - So so so good. Cannot recommend enough. As a hobbyist, I obviously can't confirm this, but I get the impression that this channel is run by someone with real experience in how to do this stuff correctly, as opposed to the many (well-meaning and genuinely enjoyable) "how to be a gamedev" channels out there. The videos are long, but the explanations are generally very good and they concepts he covers are almost always powerful things that will serve you well in loads of different ways. I don't think I would start here though, since these are more deep-dives on specific topics/techniques.
Game Programming Patterns (web book, not Godot-specific) - This was what helped me start understanding programming beyond just writing methods and scripts and realizing what software engineering actually means. Knowing how to put systems together and having tools in your toolbelt with which to construct them is crucial for games.
The off-brand forums (https://godotforums.org/) - Not actually affiliated with the Godot project/Foundation, but generally still pretty decent
Stackoverflow, of course
Don't be afraid to dive into GitHub issues if that's where the answers seem to be. The project leads are very active and often have good insights to offer.
If you're feeling especially brave, the engine source can sometimes be helpful to see too, if you run into a particularly confusing bug and no other results are turning up.
Reddit is actually not awful, though it's more hit-or-miss than the others usually are
The documentation has a "community notes" feature which sometimes has helpful suggestions in it. Basically, anyone can comment on any page of the docs to remark on things they think add to the information it contains. Sometimes you get confused people using this as a support portal (which it explicitly says not to do lol), but usually these are a good source of thoughtful recommendations.
Misc
Be careful using LLMs with GDScript/Godot. I've never used a paid one, so I can't speak to the level of quality there, but the ones I use as a fallback when searching fails me (the free models available on duck.ai) are... okay. They usually get GDScript syntax pretty much right and their methodology suggestions are fairly decent too, but the problem is that, often, the crucial element their solution revolves around will be entirely hallucinated. They (unsurprisingly) regularly just invent whole classes that don't exist. And, critically, those classes look extremely plausible, which means this will waste you TONS of time if you don't know the part of the engine you're working with well enough to immediately spot when the LLMs do this. Honestly, I would not use them for learning fundamentals, or even for a while after that, if ever.
But to be clear, I meant it when I said I was a fellow amateur - I don't write code for a living, I've never published a game, and I have very little formal programming education so I'm sure I've picked up plenty of bad habits and misconceptions. I just like learning new things and making cool stuff, and Godot has kept my brain happy for several years now at this point so I keep coming back for more lol. If you get into it and feel like chatting or want someone to rubber-duck with, I'm all ears!
Fellow Godot amateur, do code of Python scripts at the job but also write my own simple games in Godot for fun. If you know Python, GDScript is an incredibly easy translation since a lot of the...
Fellow Godot amateur, do code of Python scripts at the job but also write my own simple games in Godot for fun. If you know Python, GDScript is an incredibly easy translation since a lot of the constructs are the same. I'd go as far as recommend learning Python (and the Harvard CS50) as a programming base.
I also generally stick to 2D for now until I get the hang of advanced trigonometry, I find 2D is plenty as it is.
I'll throw a few that helped me in addition to the resources above:
Tune out the online noise about GDScript vs C# if you're not used to both. I think like a hungry startup, the goal is to crank out a minimum viable product (MVP), in this case a fully playable game. Having a finished project no matter how small is incredibly satisfying progress wise.
More first principles, but learn to think and have a default mindset of radians over degrees. This makes a lot of trigonometry that you have to code for the game a lot simpler.
Kenney's assets since I'm a terrible art person and would rather code than draw pixels or mess around in Blender on top of already coding, but don't want to stare at boring boxes. Enough variety for the things I want before I start looking for more assets and no complicated walls to get a download.
This video as an intro to shaders (AI voice warning), and Godot Shaders for a quick, copy pastable reference when I want a very specific look for something and I need it now.
Great additions! I also came to GDScript from Python, and while I don't feel like it's necessary to start there, it certainly doesn't hurt. Lots of good Hello-World-level beginner materials out...
Great additions! I also came to GDScript from Python, and while I don't feel like it's necessary to start there, it certainly doesn't hurt. Lots of good Hello-World-level beginner materials out there for Python.
Big agree on sticking to 2D for now. I still don't bother with 3D, partially just because I'm not as interested in it, but also partially because it is fairly daunting.
wait, is that a three.js rendered animation developed from godot in that mast header? at first I thought it was a video, but looking at the source looks like its a canvas element with a three.js...
wait, is that a three.js rendered animation developed from godot in that mast header? at first I thought it was a video, but looking at the source looks like its a canvas element with a three.js embed??
Wow, that IS a lot of new features! The rate at which they're* pushing out new releases is pretty incredible.
* Technically I can say "we" since this release includes my first contribution! TBH, I think it barely counts (It's just a small documentation edit), but apparently it was enough to get my name in the contributor cloud at the end! đŸ¥¹
Good documentation and working examples are worth double the code base itself.
I'm fairly certain half the reason Python became so popular is because of the plethora of good examples in their documentation.
Documentation matters! Keep up the good work!
The release notes are very well done and illustrated with nice visuals for this release. It's an overwhelming amount of new features, and a lot of great stuff there.
A few items that stood out to me:
I used one of the community solutions for virtual joysticks for Cave Creeps and while quite happy to find something to bootstrap my game into touchscreen compatibility where I had none planned, I also wasn't totally satisfied with it. I needed to add in signals and struggled to get it quite right (there's still a critical bug where sliding the stick through the dead zone counts as releasing it IIRC). The native solution also has the "place stick where you put your thumb" option, a huge ergonomic improvement over static sticks.
All that is to say, I'm excited for the native solution and I'd like to retroactively implement it once I find the energy to resume dev. (I haven't even shared my second project with y'all yet and that's more or less done!)
Oh damn, how did I miss the post about Cave Creeps? Nice work! Excited to see what the second project is.
So as an amateur programmer, is godot worth dabbling in now?
Speaking amateur programmer to amateur programmer - absolutely. It has been worth it, I've been using it for years now. Though of course it probably depends on whether our definition of "amateur" is the same and what you hope to do with the engine. Happy to answer any wonderings you might have.
Thanks! I found the tutorials were mostly based on the older godot 2, and the new system is significantly different. How did you find the best source for learning the system?
not the person you asked but in a similar position and honestly the official docs have some great tutorials in them. there's the detaily docs that just list functions and whatnot, but they also have onboarding stuff to help understand their coordinate system stuff (although basis and origin are still a cointoss to me).
https://docs.godotengine.org/en/stable/tutorials/3d/using_transforms.html
https://docs.godotengine.org/en/stable/tutorials/physics/ragdoll_system.html
its worth having a peruse around the articles under the "manual" category. its been a pretty good resource for learning about different methods and functions godot lets you play with. i always work better when ive got an example to mangle and its nice that those tutorials have neat snippets laying around.
and then the other side of the problem is learning the ui / the editor and all of its nuances. it can be a little confusing at first to remember all of the different panes, and buttons. figuring out why everything is moving in local coords instead of global, why a change in one collider affected the other collider, where you go to edit the texture of something.
for that, i would reccomend this brackeys video
https://www.youtube.com/watch?v=LOhfqjmasi0 and the one where he goes over 3d games. i would just have a peruse of that. just skimming around to try and absorb the workflow a little bit. the node tree structures and how crafting things like rigidbodies felt a little awkward to me at first but clicked quite fast.
and then for practical advice, i would 1000% reccomend making a cover of an old flash game ur fond of. flash games are usually very small scope, basic scenes, and usually have a very clear gameplay loop or win/ lose condition. doesnt feel as bad to pivot away from a project that was just for funsies
ive done a sorta orb shooting game in 2d, and one of those football click to keep it in the air games but in 3d so i could let you volley the ball against windows.
(shameless links: orb shooting one w/ source football one, looks blown out on web player, and jitters when sounds load in. oops)
Thanks, that’s really helpful!
That's interesting, how long ago did you last look into Godot? I don't think I've seen any Godot 2 tutorials show up in years!
To answer your question though, there hasn't been one single source I've stuck with while learning, it's just been several years of project-based growth where I pick something I think I could handle, look up how to do it, wrestle with it for a while, then modify it to fit what I want. But I recognize that that's not helpful advice in and of itself, so here's a list from a comment I wrote a few months ago:
Godot learning resource recommendations (by no means an exhaustive list!)
Discord Links
Quality sources to watch for when searching for answers
Misc
But to be clear, I meant it when I said I was a fellow amateur - I don't write code for a living, I've never published a game, and I have very little formal programming education so I'm sure I've picked up plenty of bad habits and misconceptions. I just like learning new things and making cool stuff, and Godot has kept my brain happy for several years now at this point so I keep coming back for more lol. If you get into it and feel like chatting or want someone to rubber-duck with, I'm all ears!
Fellow Godot amateur, do code of Python scripts at the job but also write my own simple games in Godot for fun. If you know Python, GDScript is an incredibly easy translation since a lot of the constructs are the same. I'd go as far as recommend learning Python (and the Harvard CS50) as a programming base.
I also generally stick to 2D for now until I get the hang of advanced trigonometry, I find 2D is plenty as it is.
I'll throw a few that helped me in addition to the resources above:
Great additions! I also came to GDScript from Python, and while I don't feel like it's necessary to start there, it certainly doesn't hurt. Lots of good Hello-World-level beginner materials out there for Python.
Big agree on sticking to 2D for now. I still don't bother with 3D, partially just because I'm not as interested in it, but also partially because it is fairly daunting.
A while ago, at least a year ago, might be two. Thanks for all the links!
wait, is that a three.js rendered animation developed from godot in that mast header? at first I thought it was a video, but looking at the source looks like its a canvas element with a three.js embed??