Hello, I was a Roblox developer with a few years of experience. 2 weeks ago I started developing my first game on godot. The development and programming is going extremely smoothly, but there’s one thing that annoys me to no end.
Why is it so complicated to build on godot?
On Roblox, I could set up a single mesh and from that mesh, in the parameters, I could add a touch event, activate or deactivate physics, activate or deactivate collisions. On Godot all this is complicated, I have to create an area3D for a touch event, then in it I have to put a collisionshape, if I want a collision for this touch event I have to create a static body, then in this static body I have to create a second collision shape, which makes 2 collision shapes and 4 instances for something that would have needed only one on roblox. And so this problem is exacerbated when creating mechanics that involve creating parts with code.
Please, could someone please explain to me what the point was for Godot in making the build system like this, I’m having lot of trouble figuring out why all this hasn’t been simplified? Thanks in advance
Because Godot is much more of a general game engine than Roblox is. When I use a game engine I want flexibility. Maybe Unreal would be more to your liking?
This is called a node system. For example, if you need a timer, you create a Timer node. If you need collision detection, you add a type that corresponds to your needs. Area2D is used for detecting zones, while PhysicsBody2D is for 2D game objects affected by physics. Then, you need to add a CollisionShape2D. Each shape has its own advantages; for example, CircleShape2D is the fastest one, while CapsuleShape2D is good for characters. If you use a RectangleShape2D for detecting collisions, your character at the edge of a platform will look like it is flying, presenting the same problem with staircases.
To summarize, the Godot node system allows you to create complex scenes that precisely match your goals. But the price of that flexibility is dealing with hundreds of nodes.
The recommended way of working is to create packed scenes for all your elements, so that, for example, in a game you will only deal with a packed character scene. Its entire internal structure will be hidden until you need it.