Beta testing of Thrive 0.6.4

Today was supposed to be 0.6.4 release day, but simply said the game is not yet ready for that. Instead here is a public beta test of the 0.6.4 version, which mainly focused on performance improvements by switching to using a different physics engine and redoing the gameplay code with an ECS architecture. Due to that architecture refactoring this has been an absolutely huge amount of work that is not even complete yet. Microbe stage should be about playable now but if you reach the early multicellular that should crash as soon as you exit the editor.

I’m not putting this version in the launcher yet due to the instability. This version is available as the beta version on Steam and itch and here’s direct download links (just unzip with 7-zip and run the Thrive executable):
Linux
SHA3: b3884c7e0a7d0e66eb6d12175634230c14a4a674c3a3ec47310fea1d3ab7539f
Windows
SHA3: b561051f36a46e44fad93a8364f2ad7f57456e6ed1a6b2799adfc0cfcc504d2d


So if you have some spare time, please give the new Thrive version a go. If you see any bugs or things that are worse than they were before, please comment below. But if at all possible first check here to see if the thing is already known:

That board also has the overall status showing what is still broken or not reimplemented for the game yet.

The plan for next week is for me to fix early multicellular stage and any other high priority problems. We’ll also try to tweak the gameplay to be as close to 0.6.3 as possible with the new physics. As long as that gets done in time 0.6.4 will release next week.

So please give this new Thrive version a spin and report your experiences. You can also post your benchmark results here, which should be 20-100% better than in 0.6.3. And finally again note that the game is expected to crash when you reach early multicellular stage. For other crashes please get the unhandled exception lines that crashed the game from the log file (there is a button in the game settings menu to open the logs folder).

2 Likes

the pili aren’t damaging cells when i hit them. same with the toxins i’m firing.


dying doesn’t kill you?

U have unlocked Immortality
congrats!

i got softlocked though, i’m not dead but all my processes, movement, and compound absorption are disabled

my screen has looked like this for 10 minutes

i can probably use cheats to fix it though


i cannot, instead i just get yote back to not having reproduced


perish instantly also doesn’t work in this state

This game is so broken

1 Like

Pilus not dealing damage was already on the board. I added toxins as well.

It should. I think it just takes a couple more seconds than before. If it doesn’t even after 10 seconds, then please provide more details what happened.

Logs please. It’s very hard to know what went wrong otherwise. “Normal dying” works just fine and respawns the player.


This isn’t useful information.

1 Like

where do i find the logs? i launched it from the zip file

Do you need more instructions than that?

1 Like

here’s the part of the logs containing the last editor session to when it happened

Placing organelle 'chromatophore' at: -4, 4
Placing organelle 'chromatophore' at: 4, 0
Placing organelle 'oxytoxy' at: 2, 2
Placing organelle 'oxytoxy' at: -2, 4
Placing organelle 'vacuole' at: -3, 3
Placing organelle 'vacuole' at: 3, 0
Placing organelle 'vacuole' at: 2, -3
Placing organelle 'vacuole' at: -2, -1
MicrobeEditor: applying changes to edited Species
MicrobeEditorReportComponent: applying changes of component
MicrobeEditorPatchMap: applying changes of component
CellEditorComponent: applying changes of component
Edited species name is now Primum thrivium
MicrobeEditor: updated organelles for species: Primum thrivium
Applying patch (Golblevasian Coastal) settings
Number of clouds in this patch = 9
Changing spawn density of glucose from 0.09384188 to 0.06475089
hydrogensulfide spawn density is 0. It won't spawn
oxygen spawn density is 0. It won't spawn
carbondioxide spawn density is 0. It won't spawn
nitrogen spawn density is 0. It won't spawn
sunlight spawn density is 0. It won't spawn
temperature spawn density is 0. It won't spawn
Number of chunks in this patch = 4
Number of species in this patch = 2
Changing spawn density of 1 from 0.2387919 to 0.2426609
Changing spawn density of 6 from 0.2167772 to 0.2305776
Jukebox now playing from: MicrobeStage
ERROR: Index p_idx = 0 is out of bounds (items.size() = 0).
   at: set_item_text (scene/gui/popup_menu.cpp:818) - Index p_idx = 0 is out of bounds (items.size() = 0).
DamageNumbers found a camera
Jukebox: starting track: res://assets/sounds/microbe-theme-6.ogg position: 45.9581
Jukebox: starting track: res://assets/sounds/soundeffects/microbe-ambience-3.ogg position: 390.5306
Creating a save with name: auto_save_7.thrivesave
save finished, success: True message: Saving succeeded elapsed: 00:00:05.2609621
Jukebox: starting track: res://assets/sounds/soundeffects/microbe-ambience2.ogg position: 0
Detected player is no longer alive after last simulation update
The player has died
Applying immediate population effect to Primum thrivium (1), constant: -20, coefficient: 0.6666667, reason: player died
Immediately ejecting engulfable that has no animation properties
Jukebox: starting track: res://assets/sounds/microbe-theme-3.ogg position: 0
Enabling microbe god mode
Jukebox: starting track: res://assets/sounds/soundeffects/microbe-ambience-3.ogg position: 0
Jukebox: starting track: res://assets/sounds/microbe-theme-7.ogg position: 0
Move to editor pressed
Player object disappeared or died while transitioning to the editor
Move to editor pressed
Player object disappeared or died while transitioning to the editor
Move to editor pressed
Player object disappeared or died while transitioning to the editor
Move to editor pressed
Player object disappeared or died while transitioning to the editor
Move to editor pressed
Player object disappeared or died while transitioning to the editor
Move to editor pressed
Player object disappeared or died while transitioning to the editor
Move to editor pressed
Player object disappeared or died while transitioning to the editor
Move to editor pressed
Player object disappeared or died while transitioning to the editor
Move to editor pressed
Player object disappeared or died while transitioning to the editor
Move to editor pressed
Player object disappeared or died while transitioning to the editor
Move to editor pressed
Player object disappeared or died while transitioning to the editor
Move to editor pressed
Player object disappeared or died while transitioning to the editor
Move to editor pressed
Player object disappeared or died while transitioning to the editor
Move to editor pressed
Player object disappeared or died while transitioning to the editor
Move to editor pressed
Player object disappeared or died while transitioning to the editor
Jukebox: starting track: res://assets/sounds/soundeffects/microbe-ambience.ogg position: 0
Jukebox: starting track: res://assets/sounds/microbe-theme-4.ogg position: 0
Jukebox: starting track: res://assets/sounds/soundeffects/microbe-ambience.ogg position: 0
Jukebox: starting track: res://assets/sounds/microbe-theme-1.ogg position: 0
Jukebox: starting track: res://assets/sounds/soundeffects/microbe-ambience2.ogg position: 0
User requested program exit, Thrive will close shortly
Some tooltips have not been unregistered on game shutdown
Shutting down native library
Shutdown actions complete
ERROR: Parameter "ptr" is null.
   at: godot_icall_0_3 (modules/mono/glue/mono_glue.gen.cpp:33) - Parameter "ptr" is null.
WARNING: ObjectDB instances leaked at exit (run with --verbose for details).
   at: cleanup (core/object.cpp:2070) - ObjectDB instances leaked at exit (run with --verbose for details).

You have mods enabled.

And this is using a cheat. Did you use this before or after the problem occurred?

I guess it is a bit late to ask now but a save from when the issue occurred would have been also pretty nice to look at as that would have contained all the player entity component data which might explain what went wrong with the respawn timer.


I checked the code and the player entity should be forced to despawn in 6 seconds after the player died message was printed. I don’t have a guess as to why that didn’t happen.

1 Like

i used that after the problem occured trying to see if it would get me out of the softlock

Every time i use the multicellular editor and press to play, the game close. Like, its almost instant.

This is Thrive version: 0.6.4.0-beta (see below for exact build info)
Unhandled exception logger attached
Startup C# locale is: pt-BR Godot locale is: pt_BR
user:// directory is: C:/Users//AppData/Roaming/Thrive
Game logs are written to: C:/Users//AppData/Roaming/Thrive\logs latest log is 'log.txt'
Loaded native Thrive library version 4
Doing delayed apply for some settings
Set audio output device to: Default
Set C# locale to: pt-BR Godot locale is: pt_BR
No SteamClient class found, not initializing Steam
SimulationParameters are good
This version of Thrive was built at Saturday, 25 November 2023 08:22:05 from commit 6e9a3b030ab37aed778636fd8d2159804b51a8e0 on branch master
Beginning Thrive news feed fetch
TaskExecutor started with parallel job count: 4
We are not started through the Thrive Launcher
No newer patch notes found, even though there should be some
Loading mod Nodes into the scene tree
Jukebox now playing from: Menu
Jukebox: starting track: res://assets/sounds/main-menu-theme-1.ogg position: 0
Startup successful, removing startup info file
------------ Thrive Startup Succeeded ------------
No newer patch notes found, even though there should be some
Average frame rate is 25,00195, prompting to disable 3D backgrounds
Moving species Primum thrivium (1) from MicrobeSpecies to EarlyMulticellularSpecies
Game is in now in prototypes. EXPECT MAJOR BUGS!
Entering freebuild mode
Starting early multicellular editor with: 1 cells in the microbe
Editor going to freebuild mode because player has activated freebuild
Jukebox now playing from: EarlyMulticellularEditor
Saving latest played Thrive version to be: 0.6.4.0-beta
Jukebox: starting track: res://assets/sounds/microbe-editor-theme-1.ogg position: 0
Elapsing time on editor entry
TimedWorldOperations: running effects. elapsed: 1 total passed: 100000000
Applying auto-evo results. Auto-evo run took: 00:00:00.7105807
Creating new stage of typeMicrobeStage as there isn't one yet
EarlyMulticellularEditor: applying changes to edited Species
MicrobeEditorReportComponent: applying changes of component
MicrobeEditorPatchMap: applying changes of component
CellBodyPlanEditorComponent: applying changes of component
Edited species name is now Primum thrivium
CellEditorComponent: applying changes of component
Cell editor skip applying changes as no target cell properties set
Previous patch doesn't exist, despawning all entities.
Applying patch (Respiradouro vulcânico Goblen) settings
Number of clouds in this patch = 9
Registering new spawner: Name: ammonia density: 0,8
Registering new spawner: Name: glucose density: 0,32
Registering new spawner: Name: phosphates density: 0,8
Registering new spawner: Name: hydrogensulfide density: 0,8
oxygen spawn density is 0. It won't spawn
carbondioxide spawn density is 0. It won't spawn
nitrogen spawn density is 0. It won't spawn
sunlight spawn density is 0. It won't spawn
temperature spawn density is 0. It won't spawn
Number of chunks in this patch = 5
Registering new spawner: Name: FLOATING_HAZARD density: 1
Registering new spawner: Name: SMALL_IRON_CHUNK density: 0,5
MARINE_SNOW spawn density is 0. It won't spawn
Registering new spawner: Name: BIG_IRON_CHUNK density: 0,8
Registering new spawner: Name: GOOGLY_EYE_CELL density: 0,001
Number of species in this patch = 3
Registering new spawner: Name: 7 density: 0,2546129
Registering new spawner: Name: 6 density: 0,2107259
Registering new spawner: Name: 1 density: 0,172129
World generation settings: [LAWK: False, Difficulty: normal preset, Life origin: Vent, Seed: 73059009, Day/night cycle enabled: False, Day length: 180, Include multicellular: True, Easter eggs: True]
Jukebox now playing from: EarlyMulticellularStage
Applying patch (Respiradouro vulcânico Goblen) settings
Number of clouds in this patch = 9
oxygen spawn density is 0. It won't spawn
carbondioxide spawn density is 0. It won't spawn
nitrogen spawn density is 0. It won't spawn
sunlight spawn density is 0. It won't spawn
temperature spawn density is 0. It won't spawn
Number of chunks in this patch = 5
MARINE_SNOW spawn density is 0. It won't spawn
Number of species in this patch = 3
ERROR: Index p_idx = 0 is out of bounds (items.size() = 0).
   at: set_item_text (scene/gui/popup_menu.cpp:818) - Index p_idx = 0 is out of bounds (items.size() = 0).
------------ Begin of Unhandled Exception Log ------------
The following exception prevented the game from running:

System.NotImplementedException: The method or operation is not implemented.
  at Components.OrganelleContainerHelpers.ResetOrganelleLayout (Components.OrganelleContainer& container, Components.CompoundStorage& storageToUpdate, Components.BioProcesses& bioProcessesToUpdate, DefaultEcs.Entity& entity, ICellProperties cellProperties, Species baseReproductionCostFrom) [0x0004a] in <96bfa10243a642c6b6f4bac30526ee1c>:0 
  at Components.CellPropertiesHelpers.ReApplyCellTypeProperties (Components.CellProperties& cellProperties, DefaultEcs.Entity& entity, ICellProperties newProperties, Species baseReproductionCostFrom) [0x0007f] in <96bfa10243a642c6b6f4bac30526ee1c>:0 
  at MicrobeStage.OnReturnFromEditor () [0x00135] in <96bfa10243a642c6b6f4bac30526ee1c>:0 
  at EditorBase`2[TAction,TStage].OnEditorExitTransitionFinished () [0x0009f] in <96bfa10243a642c6b6f4bac30526ee1c>:0 
  at EarlyMulticellularEditor.OnEditorExitTransitionFinished () [0x00007] in <96bfa10243a642c6b6f4bac30526ee1c>:0 
  at TransitionManager+Sequence.StartNext () [0x00094] in <96bfa10243a642c6b6f4bac30526ee1c>:0 
  at TransitionManager+Sequence.Process () [0x00087] in <96bfa10243a642c6b6f4bac30526ee1c>:0 
  at TransitionManager._Process (System.Single delta) [0x00019] in <96bfa10243a642c6b6f4bac30526ee1c>:0 

Please provide us with this log, thank you.
------------  End of Unhandled Exception Log  ------------

Very much intended that it crashes there as multicellular stage is not reimplemented in the game yet. I plan to get that done early next week.

2 Likes

Well, didn’t have the time to test on my proper PC yet, but here’s the benchmark on my old laptop for now:

0.6.3

Benchmark results for MicrobeBenchmark v1
Stationary microbes score: 2.667
AI microbes score: 2.706
Microbe stress average FPS: 24
Microbe stress min FPS: 24
Waiting for microbes to die: 33.14
Microbe deaths minimum FPS: 24
Total test duration: 322
CPU: Intel(R) Core™ i5-3210M CPU @ 2.50GHz (used tasks: 2)
GPU: GeForce GT 650M/PCIe/SSE2
OS: Windows

0.6.4 beta

Benchmark results for MicrobeBenchmark v1
Stationary microbes score: 22.118
AI microbes score: 10.627
Microbe stress average FPS: 38
Microbe stress min FPS: 38
Waiting for microbes to die: 51.86
Microbe deaths minimum FPS: 24
Total test duration: 96.8
CPU: Intel(R) Core™ i5-3210M CPU @ 2.50GHz (used tasks: 2)
GPU: GeForce GT 650M/PCIe/SSE2
OS: Windows

Seems like a pretty massive difference at first glance. Though I am not sure how things like the toxins not damaging cells affects the benchmark.

2 Likes

All of the toxin collision and processing should already work even if (I assume here, this is unknown before the problem is actually fixed) the last step of the damage applying is not triggering correctly. So the performance impact should be basically pretty minuscule compared to if the toxin damage worked fully.

2 Likes

can you list the features of the beta?

Playing through now, will make notes:

  • Inertia immediately seems to affect movement much more than before, is this intended?
  • This is probably just the already listed rock scaling issue: I can move over some Iron chunks now, I guess that part of the rock is on a lower plane so this should be fine? The cell’s shadow is drawn a bit weirdly however:
Image



So I am not sure what the origin point for the lighting is supposed to be?

  • I definitely did just take damage from a floating toxin.
  • The other sister cell after reproduction seems to immediately start starving.
  • After taking damage from a floating toxin I noticed I did not get any health regeneration until ready to reproduce (bars full). Is this intended?
  • Is this the already fixed “Ice chunk crash”?: Crashed upon entering the Ice Shelf Biome.
  • Are we sure the required size for engulfment is still correct?:
Summary




The latter four images show me being engulfed by a cell far smaller than me, both visually and by hex size.
*Engulfed cells that can’t be digested are not being expelled:

Summary

  • Speed of this cell is not very high, but I get a feeling it should not show as 0:
Summary

For the rest the performance is extremely smooth, I encountered more problems, but they are already reported.

Here’s my benchmarks on my better system:

0.6.3

Benchmark results for MicrobeBenchmark v1
Stationary microbes score: 73.373
AI microbes score: 119
Spawns until no 60 FPS: 177
Microbe stress average FPS: 198.253
Microbe stress min FPS: 14
Alive microbes: 168
Waiting for microbes to die: 166.411
Microbe deaths minimum FPS: 26
Remaining microbes: 40
Total test duration: 222.7
CPU: Intel(R) Core™ i7-5820K CPU @ 3.30GHz (used tasks: 6)
GPU: NVIDIA GeForce GTX 980/PCIe/SSE2
OS: Windows

0.6.4 beta

Benchmark results for MicrobeBenchmark v1
Stationary microbes score: 223.647
AI microbes score: 223.922
Spawns until no 60 FPS: 453
Microbe stress average FPS: 132.027
Microbe stress min FPS: 45
Alive microbes: 293
Waiting for microbes to die: 172.65
Microbe deaths minimum FPS: 48
Remaining microbes: 39
Total test duration: 294.4
CPU: Intel(R) Core™ i7-5820K CPU @ 3.30GHz (used tasks: 6)
GPU: NVIDIA GeForce GTX 980/PCIe/SSE2
OS: Windows

Not as obvious a difference as on my laptop, but still a lot smoother.

Good luck polishing!

3 Likes

Thanks for the testing. Most of these were already found but at least the indigestible membrane bug is new that no one else has noticed. You just made it in time as tomorrow there’s likely going to be a release candidate build to get another round of testing before considering the new version good enough for a general release.

The movement needs still more tweaking if it is to be exactly the same as before. Since the beta I’ve slightly buffed base movement for 2+ hex sized cells.

The physics shape orientation is different compared to the graphics, so that’s the root cause.

This is exactly why when making models for a game it is extremely important to have no root scale, rotation or offset in a model.

Yeah, something seems a bit off with that, but it seems that later they do get at least some resources so this might be a bit new early game exposed kind of bug: https://github.com/orgs/Revolutionary-Games/projects/5/views/1?pane=issue&itemId=44923543

Seems like a bug. Did you have more than 1 ATP? That’s the thresshold that healing should apply. For a single hex of cytoplasm that is a bit hard to achieve as that requires basically full ATP which probably doesn’t happen due to rounding.

Yes, I fixed it today:

There was a massive bug in the beta that engulf sizes were not recalculated. It was only calculated once for each cell on spawn (so player was the most affected cell).

That was also quickly fixed, and will be in the next build (RC is very likely tomorrow).

This seems new. I’ll put it on the issue board.

Yeah, the flagellum calculation factor was way too low. I’ve removed a divide by 100 from it so it now again affects the shown speed values.

I mean the FPS literally more than double.
We can advertise the new version as up to 100% faster.

2 Likes

A newer build is now available:

Please direct further feedback there.