Is Godot beginner friendly?

When I see discussion about game engines and where beginners should start many point towards Godot.

Some of them for Godot being FOSS (Free and open-source software - Wikipedia) and from my experience most of them because it is beginner friendly.

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.

What is your oppinion on this?

1 Like

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

3 Likes

That no matter what you do, that you should always bring your beginner’s mindset.

We are all Jon :cloud_with_snow:

Jon Snow

4 Likes

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.

5 Likes

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)

1 Like

Make sure not to confuse beginner-friendly with drool-proof.

5 Likes

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.

4 Likes

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.

3 Likes

First we need to define what a “beginner” is. When I was a Godot beginner some years ago I found it to be unbearably friendly.

5 Likes

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

2 Likes

It should be a benchmark across genres.

Like if a random person could create a silly game of a certain genre in a day and be motivated to continue the next one.

Without benchmarks there is a high probability of survivorship bias on the forum.

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…

6 Likes

I agree with the poster.

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?

Thanks,

Pixel

Don’t do that. Just use GDScript.

9 Likes

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.

1 Like

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)

extends Node3D

@export var movement_speed: float = 4.0
@onready var navigation_agent: NavigationAgent3D = get_node("NavigationAgent3D")
var physics_delta: float

func _ready() -> void:
	navigation_agent.velocity_computed.connect(Callable(_on_velocity_computed))

func go_to(destination: Vector3):
	navigation_agent.set_target_position(destination)

func _physics_process(delta):
	physics_delta = delta

	var next_path_position: Vector3 = navigation_agent.get_next_path_position()
	var new_velocity: Vector3 = global_position.direction_to(next_path_position) * movement_speed
	if navigation_agent.avoidance_enabled:
		navigation_agent.set_velocity(new_velocity)
	else:
		_on_velocity_computed(new_velocity)

func _on_velocity_computed(safe_velocity: Vector3) -> void:
	global_position = global_position.move_toward(global_position + safe_velocity, physics_delta * movement_speed)

Let me try a definition:

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.

2 Likes

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

3 Likes

Thanks. I did not realize that. Post Updated.

1 Like