0.6.6 Release Candidate

Thrive has updated from Godot 3 to Godot 4. This engine upgrade has caused a ton of problems, but the game is now back to working well enough that a new release can be made. This is the usual early testing build before a release. The gameplay should be the same as the previous release but there are some small graphical artifacts on organelles. And there might still sadly be a game lock up problem where the game just freezes and no longer does anything at all (gameplay is frozen and GUI can’t be interacted with either). If anyone sees this happen, please let us know. Hopefully this is not too prevalent of an issue that would prevent the release.

Status of the Godot 4 conversion along with all still known issues is here: Godot 4 · GitHub

For audio crackling issues or the game not starting due to missing Vulkan, there are new options for starting Thrive in the Thrive Launcher that might help with these problems. Any experiences, either working or not working, related to these options would be great to hear about.

This beta version is available through the launcher (after selecting the option to show beta versions) or through Steam and itch on the beta channels.

Please let us know if there are things you notice that are now worse in this version than in 0.6.5. But please check first that no one else has mentioned the same thing in this thread yet.


Here’s some feedback:

My specs

CPU: Intel(R) Core™ i5-10210U CPU @ 1.60GHz
GPU: Mesa Intel(R) UHD Graphics (CML GT2)
OS: X11

Sound jitter issues are still there, but they noticeably stop when I pause or open the menu.

It’s very hard to kill anything via toxins, as they move very slowly.

The species population panel sometimes only shows my species when there are others in the patch.

It’s generally much easier to feed now, though it’s still quite common for a cell not to register as being in contact.

It’s much easier to move around in multicell now. The speed and turning are much better balanced .

I had an error loading a save in single-cellular:

On one occasion, after leaving the editor in multicell, I was back where I was before entering the editor, rather than starting the next session. I hadn’t moved patch, and everything seemed to be as it was the moment I’d pushed the ‘enter editor’ button. Essentially, I’d instantly completed the session. In the following editor session, I had all the changes to my cells I’d made previously. However, I was unable to leave the editor to start the next session. When I tried to reload the save, it didn’t work.

No saves in multicell will load at all.

On starting a new game, the first trip to the patch map showed nothing about my current patch until clicking on a different patch, and then back.

Species images now show up quickly. They still take a while in the evo tree when first looked at, though.

Organelles still look bit bad.

When in multicellular, the evolutionary tree shrinks down and stretches out when I try to move around in it.

1 Like

Did you try the new option in the launcher to increase sound delay in the game?

I’m 99% sure these gameplay things cannot have been impacted by any of the changes in 0.6.6, these should be exactly the same as in 0.6.5.

Could you give me the save file? I have an idea what’s the issue but I’d need a save that shows the issue so that I can check my fix would actually work.

Can you provide logs? The game no longer crashes on error in Godot 4 so I suspect an error happened which caused a cascading game logic failure.

Please give me a file to test.

I’ll need more info on this, like logs or steps that cause this to trigger as this doesn’t easily happen to me (I just checked and the bug didn’t happen).

Someone with graphics capabilities will need to help. I hope that after making a release with bad looking organelles someone will step up as so far no one has. I’ve tried everything I can think of to fix them but I just can’t get it to work. I think we need a modeller or someone else willing to tweak the actual geometry of the models to get them fixed.

Not specific to multicellular, just a general bug that zooming in on the tree doesn’t work (and it lets you zoom out too much).

Update: I tested multicellular saving and I found out that I had accidentally broken it. One of the other JSON serializer changes I made caused one specific class only used in multicellular to prevent saves from loading.

So I don’t actually need that save file I mentioned. The single cellular save problem might be different so a save file for that would still be good for me to double check it.

I’ve just made a fix with which I can now save and load in early multicellular stage:

The audio option in the launcher does seem to completely fix the sound issues! :clap:

Also, I haven’t had any problems with cells being in the wrong position in multicell. I got up to 20 cells, and have had no issue with cell getting mixed up. I did notice a cell not spawning exactly in line with the hex grid at one point, so much larger groups of cells may still end up getting mixed up. But this is definitely better than it was last year.

Unfortunately, I don’t seem to have the save file that wouldn’t load in single-cell. I should have been more careful about that.

I think this is the log from when the patch map wasn’t showing:

And this (very large) log should cover the whole of the time I was having problems in multicell:

Some more issues I noticed:
There are some times when I can pass over cells without contacting them. I seem to move as normal, but there is an enemy cell I’m moving over as if it’s just in the background. Here’ a vid:

A cell spawning on a pilus is still able to be insta-killed. I only had this happen once, and the enemy cell was moving fairly fast through the area - it seemed to register 2 or 3 hits in a split second, based on the impact sounds. And spawning a cell in one direction while sucking in an ‘enemy’ cell from the other direction can lead to a massive boost in momentum in the direction of the cell I’m sucking in.

As for the issues with the organelle models, I could have a look. But as yet, I haven’t found a way to import the. mesh files into Blender - only the .glb ones (the animated parts). Do you know the specifics of the .mesh format used for those parts, or how to export / import them?

1 Like

That’s great. Which sound option fixed the problem for you? By default Godot 4 has audio delay of 15 ms so if a working value is like 20 or 25 ms then we could just switch to that by default to make the sound work better for a bigger fraction of the players (Thrive sound doesn’t need to be exactly synced to the gameplay so there shouldn’t be a downside really to slightly increasing the audio delay).

Unfortunately there’s been zero changes to the layout handling of species, so it working better for you this time is just down to luck and the shapes you’ve created.

This error in the log doesn’t make any sense:

The given key 'ferroplast' was not present in the dictionary.
   at SimulationParameters.GetOrganelleType(String name) in /home/hhyyrylainen/Projects/Thrive/simulation_parameters/SimulationParameters.cs:line 228

There doesn’t exist a ferroplast organelle… Isn’t that a mod? You should disable all mods until they are updated by their authors for Thrive 0.6.6. I can’t see other serious errors in that log (there’s a material fetch error, but I think I fixed that after the RC by adjusting the flagellum material fetch path in organelles.json).

This has that multicellular saving bug you provided a log for earlier (and I made a fix for). Additionally it has a bunch of the error Engulfed object doesn't have attached to component set when doing bulk animation which is known but so far there hasn’t been ideas as to how to fix that:

It also has an error I think has been seen before of somehow trying to edit a non-existant cell type causing an error:

USER ERROR: System.InvalidOperationException: Sequence contains no matching element
   at System.Linq.ThrowHelper.ThrowNoMatchException()
   at System.Linq.Enumerable.First[TSource](IEnumerable`1 source, Func`2 predicate)
   at EarlyMulticellularEditor.OnStartEditingCellType(String name, Boolean switchTab) in /home/hhyyrylainen/Projects/Thrive/src/early_multicellular_stage/editor/EarlyMulticellularEditor.cs:line 450
   at EarlyMulticellularEditor.InvokeGodotClassMethod(godot_string_name& method, NativeVariantPtrArgs args, godot_variant& ret) in /home/hhyyrylainen/Projects/Thrive/Godot.SourceGenerators/Godot.SourceGenerators.ScriptMethodsGenerator/EarlyMulticellularEditor_ScriptMethods.generated.cs:line 244
   at Godot.Bridge.CSharpInstanceBridge.Call(IntPtr godotObjectGCHandle, godot_string_name* method, godot_variant** args, Int32 argCount, godot_variant_call_error* refCallError, godot_variant* ret)
   at: void Godot.NativeInterop.ExceptionUtils.LogException(System.Exception) (:0)

Also this is a new error, I don’t know why that happened but I think I know how I can make it not cause the error on the window popup:

USER ERROR: System.ArgumentException: '0' cannot be greater than -1768.
   at System.Math.ThrowMinMaxException[T](T min, T max)
   at CustomWindow.ApplyRectSettings() in /home/hhyyrylainen/Projects/Thrive/src/gui_common/dialogs/CustomWindow.cs:line 457
   at TopLevelContainer._Notification(Int32 what) in /home/hhyyrylainen/Projects/Thrive/src/gui_common/TopLevelContainer.cs:line 138
   at CustomWindow._Notification(Int32 what) in /home/hhyyrylainen/Projects/Thrive/src/gui_common/dialogs/CustomWindow.cs:line 266
   at Godot.GodotObject.InvokeGodotClassMethod(godot_string_name& method, NativeVariantPtrArgs args, godot_variant& ret)
   at Godot.Node.InvokeGodotClassMethod(godot_string_name& method, NativeVariantPtrArgs args, godot_variant& ret)
   at Godot.Control.InvokeGodotClassMethod(godot_string_name& method, NativeVariantPtrArgs args, godot_variant& ret)
   at TopLevelContainer.InvokeGodotClassMethod(godot_string_name& method, NativeVariantPtrArgs args, godot_variant& ret) in /home/hhyyrylainen/Projects/Thrive/Godot.SourceGenerators/Godot.SourceGenerators.ScriptMethodsGenerator/TopLevelContainer_ScriptMethods.generated.cs:line 158

And finally at the end there’s some pretty serious errors

USER ERROR: System.ArgumentException: CellTemplate can't be placed at this location
   at HexLayout`1.AddFast(T hex, List`1 temporaryStorage, List`1 temporaryStorage2) in /home/hhyyrylainen/Projects/Thrive/src/general/HexLayout.cs:line 73
   at EarlyMulticellularSpecies.Clone() in /home/hhyyrylainen/Projects/Thrive/src/early_multicellular_stage/EarlyMulticellularSpecies.cs:line 144
   at AutoEvo.GenerationRecord.UpdateSpeciesData(Species species) in /home/hhyyrylainen/Projects/Thrive/src/auto-evo/records/GenerationRecord.cs:line 74
   at CreatureStageBase`2.OnReturnFromEditor() in /home/hhyyrylainen/Projects/Thrive/src/general/base_stage/CreatureStageBase.cs:line 184
   at MicrobeStage.OnReturnFromEditor() in /home/hhyyrylainen/Projects/Thrive/src/microbe_stage/MicrobeStage.cs:line 601

which is return of this bug:

If you could come up / provide the cell body plan layout that you had at the time, that’d be very great in figuring out what a fix.

Are you sure that cell didn’t just die? I saw the cell burst particle effect and dropped chunks. Microbe collisions get disabled immediately on death. It looked more like there was a bug with the dissolve animation not playing correctly for the cell.

With damage cooldowns at default health this is no longer possible, but with lower health cells they can be killed with a few quick stabs (the cooldown is just half a second when dealing 45 damage, which is enough to kill many weaker cells.

It’s the Godot mesh format, specifically all the .mesh files in Thrive should now be in the Godot 4 mesh format.

Setting the delay to 25ms made it rare to have any issues unless there were a lot of entities on screen (usually only if the entity limit was set to higher than normal.

Oh, crap. I’d removed most mods from the folder before testing, but had left that one in there at that point. I checked in the Mod section in the main menu, and it was in the mods list (on the left) but wasn’t active.

No, the dropped parts were from a cell I finished digesting. It just happened to occur at the time I was recording. The cell I moved past was alive before and after the video. I started recording after noticing I’d moved over it, and thought it might happen again, so I moved towards it again and started recording. That cell had just engulfed another, and I’m not sure if the other cells I’ve seen this happen with had ingested anything or not.

Thanks. I’ll check out how to export them and see if I can do anything with them.

1 Like

It’s possible the mod was still loaded into the game as certain game files will not revert without restarting the game after a mod’s .pck file is loaded and overrides original game files. That’s the explanation I got. Or you used a save started with the mod enabled and that causes there to be referenced content that doesn’t exist (though I can’t explain how you’d manage to load such a save with the mod disabled as that should already run into the not found organelle type error).

I see. It is possible for the physics engine to cause a cell body to drift on the y-axis, but I personally last saw that when I was initially tweaking things and not once since then. Even when it happens it seems to slowly naturally correct itself. That cell must have been pushed quite a lot on the y-axis to no longer be able to collide with other cells.

1 Like

Release is out now: