Support Me on Patreon

Monday, April 22, 2019

Why, Godot?

Not that anyone's asking.

No game engine is 'perfect', they all have flaws.

I started with the blender game engine, sometime around 2.37a (or b). At the time, the game engine seemed great and I'd defend it in forums. Blender's 3D modeling and rendering was great, the game engine sucked. It was slow, laggy, and took quite a bit of work to get anything good, but it was my first.

I still use blender because it is a great free modeling  program. They mostly dropped the game engine to focus on what makes blender shine.

I learned many tricks for increasing framerate. From faking rain by shuffling the position of existing raindrops, to optimizing the improvised menus. You had to build the menu out of 3D objects; quite laggy. Blender did allow you to layer scenes to make easy skies. Godot doesn't do that.

Later I tried a few other engines. Unity was 'good', but large. It was faster to get results than blender, but very large. Menus had to be laid out in code. You had to log-in even for the free version, and I don't have internet at home. The engine did allow you to set-up a camera trick to easily create dynamic skies, Godot doesn't allow that.

I've used Godot since it went public, and the sky has always sucked. You have to use 3D objects and a shader for dynamic skies. The environmental sky is quite laggy when you change its parameters while the game is running.Godot has a few other quirks that I have to program around.With its nodal setup, creating levels is easy. What it excels at is menus. You can make a robust dialog system using just the rich text label, a couple scripts, and a bit of bbc code. It auto-wraps the text and can grab meta-data passed from dialog choices. Tabbed menus are easy with little to no coding and the resource preloader links to any resource you could need (texture, text, script, scenes). Replacing a scene with one from a resource preloader causes a crash, but it is great for scenes being added.

Godot's small size and quick scene creation is great. I've been able to use most of the tricks I used from blender and have even created new tricks. The nodal setup gives more control than most engines. Replacing nodes is easy in games, but it doesn't replace the children. Navigation through meshes is spot-on, as long as the nodes are arranged correctly. You can re-arrange nodes during gameplay to help with navigation. In the end, I use Godot because it handles most of the minor stuff I don't want to (like word-wrap and resource handling).

You just need to code around it's flaws and features.

No comments:

Post a Comment