4 ms·
Can't speak to Godot 3, but v4 has some infuriating bugs, unfinished features and idiosincracies. The interaction between scenes and code caused us to lose data
by janosdebugs 3y ago
Can't speak to Godot 3, but v4 has some infuriating bugs, unfinished features and idiosincracies. The interaction between scenes and code caused us to lose data more times than we can count and the dev team seems to be completely overwhelmed with the number of issues.
That being said, it is an engine that works and is used by enough people that you'll find bugs reported on the things that bother you, so you'll at least know if something is broken.
We found that doing as much as possible in GDScript and as little as possible in the editor is the way to go. The only time we had performance problems was when adding nodes (for some reason adding nodes is insanely slow). The multithreading is also still in need of work, but thread groups will, hopefully, solve the problem in the future.
We are currently looking into Bevy and Fyrox for BlockBawks since it needs a custom simulation engine, but we are still unsure. (It currently has a semi-working version in Godot, but spawning several 100k nodes is creating problems and will need optimizations.)
- nkrisc 3y agoFor 100k of anything in Godot you will likely want to skip the node abstraction layer altogether and just use the various servers (PhysicsServer, RenderingServer, etc.) directly.
- janosdebugs 3y agoThank you very much for this tip, we weren't actually aware that you could use the RenderingServer directly, definitely high on the list of things to test out.
- nkrisc 3y agoThe docs have a good overview of this sort of optimization: https://docs.godotengine.org/en/stable/tutorials/performance/using_servers.html https://docs.godotengine.org/en/stable/tutorials/performance...