I’ve finally reached a point where I have to admit that my 3D math skills are not enough to figure out all the projection, and view matrix math needed to get Diligent engine working. So the conclusion has to be that all the open source graphics engines are bad. So instead we need to look towards using a full-blown engine, and rewriting the engine game in it.
Some of the previous related threads:
But to summarize I wanted to just change out the graphics engine, because that was the problematic part of the game. The rest of the engine worked just fine. It would have saved us from having to rewrite the entire game. But as there just simply is no good open source graphics engine, it’s finally time to give up and move to using an open source engine.
Over the past few years Godot has basically become the leading open source game engine with good community and activity towards new features. So once the decision was/is made to move to a different engine, Godot was basically the only sensible choice. It has a bunch of good features, like a lot of documentation, no missing features that we’d need, exporting to mac as long as we don’t need native code modules for performance reasons, and hopefully the artists and other non-programmers on the team could learn to put in the assets themselves with Godot.
We already started on remaking Thrive in Godot, which you can test here: https://community.revolutionarygamesstudio.com/t/thrive-in-godot-tech-test/2498 to see if it runs for you
So far some of the most unsure parts like the backgrounds, and (partly) the compound clouds have been reimplemented in Godot, so there probably won’t be major problems, other than it taking a lot of time, with the rewrite in Godot. Luckily syntax of C# is similar to C++ and AngelScript, so it is relatively easy to port over basic code, but the way Godot works is structured much differently so major architecture and design choices need to be made.
If you or someone you know hasn’t joined Thrive because of the choice of the engine or the programming language, now is the time to reconsider. This week we’ll have a small release 0.4.3.1 which has just some changes that were made to thrive after the last release. There are some major bugs in it, but I don’t want to spend my effort trying to fix them. After the release we’ll fully switch gears to remaking all features in Godot.
Hopefully this will be the final major tech change needed to keep Thrive going.