I’ve been using Godot for about 2 years now and sometimes I wonder why people are under the impression that Godot is beginner friendly.
Personally I think there are quite some things that are not very beginner friendly. Getting some things work need more effort than in other engines (I can only compare it to Unity to be honest).
Navigation and raycasting (when not using the RayCast node) needs a lot more code than in Unity or s&box for example.
GDScript and the editor are imho beginner friendlier, but setting some things up not so much.
I think giving more concrete examples of what makes it non-beginner friendly would be more useful here, you give very vague and brief examples, and volume of code isn’t necessarily something that makes something that
So if you’re interested in a conversation I’d suggest giving some more clarity as to why you disagree with that it is beginner friendly
The examples you give are advanced topics, and if you ask if advanced topics being potentially more difficult makes Godot not beginner friendly. I say you are comparing apples and oranges.
I’ve used Unreal and Unity, and while I have not used either in years, I still found Godot at 3.x much easier to get going than either of those. So in my personal experience, I would say that Godot is beginner friendly.
The first games I programmed were in BASIC on an Apple IIc, and that was not beginner friendly because one typo meant you had to start over.
I haven’t used Unity and I only tried Unreal briefly, but I find the Godot documentation far easier to navigate and it is far more helpful in my experience when I’ve tried to look at their documentation to check features or compare things when people have reported things or talked about features existing in other engines (as arguments for them being in Godot, or when checking if other engines have features that people propose for Godot, as seeing if other engines have them is a good idea to evaluate if the idea is a good one or not)
Compared to GameMaker 5, the first game development tool that really clicked for me (back around 2005 when you could just mail cash to Mark for a registered copy), the learning curve in Godot is certainly more steep. The state of the art in general has moved a long way forward. There is a lot more depth to the systems, even in relatively simple 2D games.
The node system in Godot is a lot less structured than most other tools I’ve used in the past, and required some time to get the hang of. Several old habits and tendencies needed to be exorcised, and this only came through the experience of building systems which violated the “spirit” of Godot multiple times and seeing them turn to shit. Over the years, Godot itself has become more flexible in this regard (particularly in the transition from 3.0 to 4.0). It feels like there has been a mutual convergence.
It can be quite difficult to get started designing 3D games in Godot. While the systems which Godot provides are very powerful, intuitive and coherent, basic things like designing a camera controller or procedural test geometry (basic things like drawing 3D debug lines) frequently require a confident grasp of linear algebra. The sky is the limit once these stumbling blocks are overcome, but I’d be lying if I said I haven’t found myself spending hours f***ing around with transforms and flipping signs out of desperation to solve problems here or there.
On the other hand, the documentation is absolutely exceptional, and the engine’s source code itself is very easy to navigate - so while I have hit multiple stumbling blocks, I have never encountered a problem which seemed insurmountable.
I had the same journey , Unreal > Unity > Godot (with some GameMaker inbetween) , I actually found moving to Godot a bit of a shock. Firstly because it boots up in about 5 seconds and isnt a resource hog, but being serious for a second the structure of Godot gave my head a spin for a good couple of days.
Once I got it, not going back now. Sure if you want to create a premade First or Third person shooter, then Unreal is probably the way to go.
Is Godot beginner friendly? Depends on what you want to make in reality. It is if you already know how to programme, and you want to make fairly simple 2D/3D games. If you dont know programming then something like Gamemaker would probably be better as a starting point.
In some ways Unreal is more beginner friendly if you dont know programming as you can get an FPS up and running super quick. Unfortunately Epic are getting rid of visual scripting at some point in UE6, so they can replace it with ‘Verse’, which is great for MMOs , not so great if you just want to make Asteroids.
And the less said about Unity the better, not because of the engine, I just simply dont trust them anymore.
Yep it is beginner friendly, tho it doesn’t mean it’s like scratch or roblox or any other more high level engine
Godot is simple, that’s best advantage of it, also concepts are easy to grasp, e.g signals, nodes, scenes, these can be strange at first but after a month or so you should feel fine with them
Btw - being open source is underrated, in close source engines you might need to do smth, then just hit a wall and realize you can’t without some crazy hacks and week of programming
Then you’d need to also “benchmark” what is a beginner as @normalized alluded to earlier. In fact you’d need a lot of those beginners to get something statistically relevant, which when you talk about benchmarks is the whole point of the exercise.
Then, you have to somehow measure the learning phase in a way that allows individuals to shine, yet is also statically relevant, if not absolutely correct.
Way too much effort for something, that ultimately remains mostly subjective and tied to an individual’s experiences and perspective.
Embrace the subjective, and pass judgement!
Godot is very beginner friendly, because imnsho, you can start making a game in the minutes following the download.
Literally.
No complex installation and configuration process, compilation, etc.
This, with the excellent tutorials and documentation makes Godot one of the most, if not the most beginner friendly full blown game engine out there.
Plus zero dollars needed.
Cheers, wish I had more time to actually do some game dev. Time flies…
Unity by default has more resources than Godot, and the learning curve is not as extravagant due to the tutorials that are out there for the engine, particularly for the C# edition.
I’m still learning Godot but having to translate between GDScript to C# has been a challenge, only because there should be more tutorials of Godot available that are in this language.
Does anyone have any modern tutorials of how to use Godot besides the official website and some good souls out there that have posted tutorials on how to use the engine and it’s various uses?
GDScript is actually one of the reasons Godot is considered beginner-friendly, because it is a scripting language similar to Python, which is also considered beginner-friendly.
(personally, I really don’t think using a indent-based language is any good for beginners, but that’s not the point here)
Since gdscript needs less boilerplate, you can prototype faster, which is helpful to both beginners and game jam participants - and often people also use game jams to try new engines.
I also remember that the concept of scenes/nodes compared to game objects/prefabs in unity was more intuitive when I switched - although this might be outdated by now.
It’s been a couple of days since I made this post and it got me thinking what beginner friendly means.
Most “articles” refer to Godot as beginner friendly for those reason:
GDScript
The good Documentation
The lightweight editor that runs on anything
Godot being FOSS
I guess everybody has another definition of beginner friendly. For me it means:
How easy are the tools to use and how easy is it to get things done and that’s why I’m under the impression that for example Unity is more beginner friendly than Godot.
I wanted to give at least 1 example, Navigation in a 3D game.
Unity
using UnityEngine;
using UnityEngine.AI;
public class SomePathfindingThing : MonoBehaviour
{
NavMeshAgent agent;
void Start()
{
agent = GetComponent<NavMeshAgent>();
}
void GoTo(Vector3 destination)
{
agent.destination = destination;
}
}
Godot moving a Node3D
(moving a CharacterBody3D or RigidBody3D needs some changes in code)
A game engine is “beginner-friendly”, if the core concepts of the engine are easy to learn and use for a new user, independent of that user’s previous knowledge.
You could also argue that beginners should quickly make progress / see results or be able to make a simple first game within reasonable amount of time.
While I do agree that the navigation and a few other components could use improvements, I don’t think picking the usability of specific components is so relevant here. Aren’t there similar or worse issues in unity in other, more fundamental areas (input systems? ui?)
edit: somehow “in unity” got lost in the last sentence.
Unity uses C# as a scripting language. Godot offers C# as a development language. The Godot Team applied for a grant and Microsoft paid for C# to be implemented in Godot. This means that the learning curve for C# is going to be steeper in Godot because A) it’s an add-on, B) it’s intended to be used as a full development language.
This is one of the reasons why I tell people to not use C#, and use GDScript. The resources for learning just don’t exist. This is an open source project. If you believe there should be more tutorials, then you should consider creating them. We all contribute how we can.
There are a TON of tutorials. But you also have to keep in mind that Godot releases a new version every 3 months. That means that a tutorial made a year ago is 3-4 versions behind. There are also a ton of features that have no tutorials because no one has created them yet.
The learning curve to enter Godot is pretty easy, but as you go deeper, you have to learn how to figure out things. Hence places like the forums here where we can help each other out.
This is a bit potentially misleading, C# was not added because Microsoft paid for it, we wanted to add it and applied for a grant from Microsoft to do so and that was granted