Godot in 2025 May 16, 2025 on Kenneth Dodrill's blog

Specifically, Godot 4.4.1

It has been a few years since I extensively used Godot. I had an idea for a game, and wanted to prototype it quickly, so I thought why not try Godot again.

The basic concept of a general-purpose game engine is to provide common functionality to the user in a way that makes sense. Godot does this in theory, but in practice you will find obscure bugs only found through searching GitHub issues. This was one of my major complaints back when I made my first game on Steam, and I’m sad to say that this trend continues. Back then, it was a problem where a specific axis for a controller could not be remapped. Now, it’s that StaticBody3D isn’t detectable by Area3D objects. The solution? Just use RigidBody3D, man. Oh, that breaks your whole game? Try AnimatableBody3D, which inherits StaticBody3D but somehow works.

Another problem that I have with applications like this are issues that are “solvable” by toggling an unrelated option, or doing something similar of that nature. This problem exists in Godot, but is not perhaps as widespread as in an application like Photoshop.

Something else that has been an annoyance is the node-based architecture. At first, it seems intuitive and simple. Only once you get into more complex game mechanics does it start to fall apart. Need to update the parent node? The inherited node may or may not get updated. It’s simply a toss-up. I couldn’t figure out why some of them would, and others would not. Occasionally, I would need to delete a scene and re-add it to get it to function correctly.

The nail in the coffin has been the collision system. I am currently making a 3D puzzle game. Collisions were easy at first (noticing a trend…), but one day stopped working correctly. It could be very good luck on my part that before a few days ago, the numbers aligned just right to where collisions worked fine. I’m really not sure. I’ve tried adjusting my code, I’ve tried toggling things in the editor, I’ve tried deleting scenes and re-adding them…even my old levels which worked just fine now do not. It’s very frustrating.

I have found myself asking the question: if all of this is made to be “easy”, why are there so many problems? I think it would have been best to try and go my normal route; raylib and C / Odin. I think that’s what I’ll continue to do from now on, regardless of how great a game engine advertises itself.