Hi, this was originally a desktop game made for a jam.

Generally I love godot, but there are some serious problems when you try to make a "real" game. If it's 2d and low impact, it might be the engine for you, but I want to document my problems here making a "bigger" 3d game, even if it is a huge meme

- GLTF files are a pain to work with, and basically the only mesh format allowed in godot. Everytime you make a change to the file in blender, you have to re-export it inside blender to a gltf AND re-import the model godot editor AND THEN make a new tscn with the changed model. This is strange and a huge pain in the butt. Godot will auto-update every other resource, so dunno what's going on with these gtlfs.

You can also delete (or even rename!!!!!!) the gltf material files automatically generated by godot, and your game will silently break without the "required resources" dialogue coming up.

- The profiler can be unhelpful. Despite my game running at ~10 FPS during testing, godot still reported > 20ms of idle time. The culprit was a function that was poorly optimized, but Godot didn't report that. Commenting out the function fixed the FPS problem but the profiler didn't report this slowdown at all in the first place.

- GLES3 is not supported on many integrated graphics cards. So your game basically needs to run on GLES2. (honestly, I don't think GLES3 should even be an option you can select without a huge caveat, if most low-end machines will simply not run your game properly)

- Raycasts are expensive!!! In Unity, i can do many hundred raycasts a second, but here, just a few every frame cripples the frame rate.

- Editor is somewhat unstable. Try tabbing though enough menus and something will freeze and crash eventually.

- Bones are extremely annoying to work with. They don't retain the names assigned to them in blender, and they can't easily be modified once they're in engine. I need to be able to access "l_arm", not "Bone 32"

- Physics is uh, dodgy. https://github.com/godotengine/godot/issues/45334

- No real option for in-editor terrain tools. But wait!!! You say.
Too bad it only works on GLES3, so it won't run on most low-end machines.

- queue_free() is really, really expensive. (compare to unity's Destroy())

- metallic/roughness textures seem to do nothing when added to materials????

Despite all this I'm still gonna use godot for my little 2d jam games, and I still think there's a really solid case to be made for a versatile open source game engine, but maaaaaaaaaaaaan this little baby 3d project was extremely hard to build and makes me shy away from godot for any serious development in the near future.

About the game, anyway, it's not done, but I wanted to post the webGL somewhere as a proof of concept. It'll get patched up soon.

models by nomworthy (when they aren't stolen)
cover by viv

Rated 5.0 out of 5 stars
(1 total ratings)
AuthorLucky Catapult

Leave a comment

Log in with itch.io to leave a comment.