A game engine upgrade across a major version is quite a big thing, and it initially proved a little problematic for the open source evolution sim Thrive but it is done.
What is Thrive? In Thrive, you take control of an organism on an alien planet, beginning with the Last Universal Common Ancestor (LUCA). Your goal is to survive in the environment, adapt your species by adding mutations, and thrive. Other species will emerge to compete with yours. They will evolve via a population dynamics driven simulation with random mutations - you must improve and spread your species to surpass them. The success of your species depends both on your skill in surviving as an individual cell and the changes you make in the editor.
In their blog post the developers mentioned for this update it was "pretty painful to upgrade to" Godot 4, but the improvements should be worth it for improved performance and Godot's new Vulkan renderer and this was all "necessary for the long-term future of Thrive as the game". One of the actual visual changes I'm happy to see in this release is cells no longer just flashing when eating, thanks to some additional shader magic you'll see the food getting engulfed.
Direct Link
Full patch notes:
- Updated to Godot 4.2.2 (we were previously on 3.5 so this is a massive upgrade).
- Updated to .NET 8 runtime and C# 12 as it turns out this can be used with Godot 4.
- New engulf animation that creates wave lines instead of the old just flashing blue animation.
- Oxygen now has different levels in different patches which affects the utility of certain parts a ton.
- There's now a native library variant that doesn't require AVX, this should make Thrive playable again on some older CPUs.
- Arabic fallback font had to be removed as it caused buggy line heights in all text in Godot 4.
- Osmoregulation cost values are now shown in red as it is a negative property.
- Engulfment storage full tutorial now has an end trigger once the player has digested enough things.
- Fixed new player species name not immediately applying after exiting the editor.
- Fixed new cell button crashing multicellular freebuild editor.
- Fixed data cache disposed errors that only seemed to trigger in exported version of the game.
- Fixed no changes in editor tutorial being able to prevent multicellular editor exit.
- Memory usage metrics now works on Windows.
- Fixed CPU check only checking AVX and not AVX 2 which was then used anyway causing a crash on CPUs that have AVX but not AVX2.
- Switched the AVX feature check to use standard C# function, which is hopefully more accurate than the previous approach that we got reports about false negatives.
- Tweaked wording on the fallback opengl renderer use and disabled the 3D backgrounds again for that as they still aren't fully correct.
- Updated our colour picker customizations for Godot 4 (pick from game window seems to not work currently on Linux).
- Removed our custom checkbox implementation now that Godot's has all the needed features.
- Switched from the previously used tar compression library to C# standard one which shouldn't have any save corruption issues (due to this we were stuck on an old version of the compression library).
- Added check to tools against omitting part of a version number this removes potential for a mistake that almost was in 0.6.5.
- Added simple C#-code-only unit tests for a few things.
- Converted some things to use direct references instead of NodePaths.
- There's now a nix flake for Thrive developers.
- Updated our documentation impacted by the upgrade to Godot 4.
- Updated Jolt physics engine to newest version.
- Updated YamlDotNet from 15.1.1 to 15.1.2.
- Updated AngleSharp from 1.1.0 to 1.1.2.
- Updated code checking tools version.
- Updated translations.
Thrive has Native Linux support. You can grab it free from GitHub or buy it to support the developer on itch.io and Steam.
See more from me