0.8.0 Release General Feedback

0.8.0 is out now:

So please share feedback you have on this release in this thread.

6 Likes

I’ve noticed that playing as an eukaryotic heterotroph seems too easy, as you don’t need much resources to reproduce. You just need to engulf one larger-end prokaryote and you’re set for completing the gameplay cycle.

I also saw that eukaryotes don’t seem to pick up chemosynthesis until levels of hydrogen sulphide reach into well over a hundred of units.

2 Likes

What I like:

  1. Seeing the Miche trees makes the game more immersive, at least to me. Literally seeing all possibilities of niches is also humbling and fascinating. It additionally helps me plan out and predict how organisms will evolve and how I can change my own organism.
  2. Having the ability to change organelle split order is great. I am now able to fine tune the metabolism slightly more in favor of the localized compounds by having those specific organelles replicate first. Before that, I had to think ahead of time of how I need to add the organelles so I don’t get into a situation of having the ATP-needing organelles replicating before ATP-producing organelles. Although, I suppose it is still possible to play this way since this feature is optional.
  3. While I miss having the ability to make absurdly high oxygen levels, it does break the game. I very much enjoy the new and improved default dynamic compounds (not experimental features), and that all compounds now appear to be dynamic.
  4. I did not realize at first, but the nucleus appears to have a new texture with chromatin being visible. I appreciate scientifically accurate details being put into the new models by the artists on the dev team.
  5. AI cells finally use the Mucocyst! It was so interesting to see them use the Mucocyst defensively, which is something I am going to definitely try on my next playthrough.

What I think could be improved:

  1. Although the new vent events make the world more dynamic, I have seen that larger worlds with many underwater vents patches having relatively few vent events compared to smaller worlds. It is possible that I just need to play more to witness more vent events. Maybe having more vent events would be better, or make the occurrence of vent events scale more with larger worlds.
  2. Sulfur chunks look very good, but maybe make them have more variety. From what I remember, and I could be wrong, but Sulfur can have many allotrope configurations, like a Tetrahedron or twelve-member rings that make different crystal configurations. It would be nice to see these crystal forms in the game.
  3. I might be just plain bad at Endosymbiosis, but even with the reduced number of turns for endosymbiosis, it seems that I cannot get another organism to become another organelle. Instead of just simply reducing the number of turns again by one, which could be done, it may be better to make another slider for determining the number of turns for Endosymbiosis. I.e., 1-4 turns.
  4. It is still difficult to distinguish between different membrane types. Now this could be due to my preferred playstyle of making smaller and thinner organisms, which does not properly display the new membrane textures. I think that most of the new membrane textures need to be further improved to make them more distinguishable, especially single versus double membrane. Maybe adding more “depth” or making a noticeable size difference between membrane types will help?
  5. I know that this was mentioned in the patch notes, but Auto-Evo does indeed make weird suggestions. Half of the time it keeps telling me to get a nucleus or a toxin, despite adding those things actually making my organism worse within the Auto-Evo algorithm.
  6. Loading times, at least for me, seem to be longer than the previous version. Auto-Evo took approximately 600 steps on the last turn, or several minutes to load. I am not sure if this is normal, or if more optimization is needed in Auto-Evo/the game code.
  7. The compound on editor options could be worded better, more so the last two options. I was not even sure what they meant until I played with them.
  8. For the first time, my game crashed in the middle of the game. It was unexpected, so I am not 100% sure what caused it, but the logs say “unable to pull up thriveopedia” despite the fact that I did not even pause the game. I did have an endosymbiont for thermoplast when the game crashed, so I am not sure if that caused it or not. I will post the relevant portions of the log below.

What I would like to see in the future game (I won’t do this for every update):

  1. More starting scenarios for the game. I know that panspermia and warm-little pond exists, but so far in my experience, there could me more variety in how they start out. One custom scenario that I liked to play before the new Miche system was implemented was what I called Eukaryotic origin, where I started out as Eukaryote. In effect, pre-miche Auto-Evo does not split off any other species after the first turn, allowing me to become a Eukaryote and have everything be a Eukaryote thereafter. Since I do not play panspermia that often, it maybe this exact scenario does indeed occur with the new Auto-Evo, albeit rarely. More or less, it would be nice to have a scenario where we start out as a Eukaryote, assuming it isn’t redundant.
  2. Related to the first point, have more Planet variety. Assuming I am not misremembering anything from what it planned, it would be interesting to have another scenario where we start off on a Planet orbiting a relatively safe distance from a Black hole, a Black hole Star, or even a Gravistar. I know many people would like to see planets orbiting multiple stars, a la Tatooine. Can we even have a habitable Moon or Submoon scenario?
  3. I am also aware that terrain is going to be added to the game, but I do think it will dramatically change the microbe and multicellular stage gameplay. People already use poison clouds and giant iron chunks to tactically pin other organisms, or to stop other bigger organisms from chasing them. Imagine the crazy strategies of trying to navigate a maze-like terrain!
  4. Advantages of symmetry. At least on Earth, most organisms have bilateral symmetry. In ancient times (like the Ediacaran), there were even more kinds of symmetry, my favorite of which was trilateral from trichordates.

Relevant portions of the log:

Summary

Elapsing time on editor entry
TimedWorldOperations: running effects. elapsed: 1 total passed: 500000000
Applying auto-evo results. Auto-evo run took: 00:00:01.5563531
Jukebox now playing from: MicrobeEditor
Creating a save with name: auto_save_1.thrivesave
save finished, success: True message: Saving succeeded elapsed: 00:00:04.0759055
Jukebox: starting track: res://assets/sounds/microbe-editor-theme-4.ogg position: 36.374058
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 experimentium
MicrobeEditor: updated organelles for species: Primum experimentium
Applying patch (Nolvomitic Volcanic Vent) settings
Number of clouds in this patch = 9
Changing spawn density of Glucose from 0.65160495 to 0.61902463
Changing spawn density of Hydrogensulfide from 0.9598027 to 0.80206907
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 = 9
MARINE_SNOW spawn density is 0. It won’t spawn
Number of species in this patch = 6
Changing spawn density of 2 from 0.2544414 to 0.2641576
Changing spawn density of 1 from 0.26125297 to 0.26223758
Changing spawn density of 3 from 0.2215646 to 0.25435776
Registering new spawner: Name: 9 density: 0.23830841
Changing spawn density of 5 from 0.22982383 to 0.23269552
Changing spawn density of 7 from 0.22282983 to 0.23186687
Jukebox now playing from: MicrobeStage
Creating a save with name: auto_save_2.thrivesave
Jukebox: starting track: res://assets/sounds/microbe-theme-4.ogg position: 38.80635
Jukebox: starting track: res://assets/sounds/soundeffects/microbe-ambience.ogg position: 253.8173
save finished, success: True message: Saving succeeded elapsed: 00:00:07.5976828
Move to editor pressed
ERROR: Method argument to Callable constructor must be a non-empty string.
ERROR: at: (core/variant/callable.cpp:383)
ERROR: Parameter “mem” is null.
ERROR: at: alloc_static (core/os/memory.cpp:77)
ERROR: Parameter “mem_new” is null.
ERROR: at: resize (./core/templates/cowdata.h:341)
ERROR: FATAL: Index p_index = 0 is out of bounds (((Vector )(this))->_cowdata.size() = 0).
ERROR: at: operator[] (./core/templates/vector.h:52)
ERROR: Fatal error. 0xC000001D
ERROR: at Godot.NativeCalls.godot_icall_1_302(IntPtr, IntPtr, Int32)
ERROR: at Thriveopedia.AddPage(System.String, IThriveopediaPage)
ERROR: at Thriveopedia.set_CurrentGame(GameProperties)
ERROR: at PauseMenu.set_GameProperties(GameProperties)
ERROR: at EditorBase2[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].InitEditor(Boolean) ERROR: at MicrobeEditor.InitEditor(Boolean) ERROR: at EditorBase2[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].OnEnterEditor()
ERROR: at MicrobeEditor.OnEnterEditor()
ERROR: at EditorBase2[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]]._Ready() ERROR: at MicrobeEditor._Ready() ERROR: at Godot.Node.InvokeGodotClassMethod(Godot.NativeInterop.godot_string_name ByRef, Godot.NativeInterop.NativeVariantPtrArgs, Godot.NativeInterop.godot_variant ByRef) ERROR: at EditorBase2[[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e],[System.__Canon, System.Private.CoreLib, Version=9.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e]].InvokeGodotClassMethod(Godot.NativeInterop.godot_string_name ByRef, Godot.NativeInterop.NativeVariantPtrArgs, Godot.NativeInterop.godot_variant ByRef)
ERROR: at MicrobeEditor.InvokeGodotClassMethod(Godot.NativeInterop.godot_string_name ByRef, Godot.NativeInterop.NativeVariantPtrArgs, Godot.NativeInterop.godot_variant ByRef)
ERROR: at Godot.Bridge.CSharpInstanceBridge.Call(IntPtr, Godot.NativeInterop.godot_string_name
, Godot.NativeInterop.godot_variant**, Int32, Godot.NativeInterop.godot_variant_call_error*, Godot.NativeInterop.godot_variant*)
ERROR: at Godot.NativeCalls.godot_icall_3_767(IntPtr, IntPtr, IntPtr, Godot.NativeInterop.godot_bool, Int32)
ERROR: at Godot.Node.AddChild(Godot.Node, Boolean, InternalMode)
ERROR: at SceneManager.SwitchToScene(Godot.Node, Boolean)
ERROR: at MicrobeStage.MoveToEditor()
ERROR: at TransitionManager+Sequence.StartNext()
ERROR: at TransitionManager+Sequence.Process()
ERROR: at TransitionManager._Process(Double)
ERROR: at Godot.Node.InvokeGodotClassMethod(Godot.NativeInterop.godot_string_name ByRef, Godot.NativeInterop.NativeVariantPtrArgs, Godot.NativeInterop.godot_variant ByRef)
ERROR: at Godot.Control.InvokeGodotClassMethod(Godot.NativeInterop.godot_string_name ByRef, Godot.NativeInterop.NativeVariantPtrArgs, Godot.NativeInterop.godot_variant ByRef)
ERROR: at TransitionManager.InvokeGodotClassMethod(Godot.NativeInterop.godot_string_name ByRef, Godot.NativeInterop.NativeVariantPtrArgs, Godot.NativeInterop.godot_variant ByRef)
ERROR: at Godot.Bridge.CSharpInstanceBridge.Call(IntPtr, Godot.NativeInterop.godot_string_name*, Godot.NativeInterop.godot_variant**, Int32, Godot.NativeInterop.godot_variant_call_error*, Godot.NativeInterop.godot_variant*)
Child process exited with code -1073741795
Thrive exited abnormally with an error

6 Likes

I think the diffusion of gasses between surface patches could use being faster, since I found times where one surface patch had ~15% Oxygen and another one had ~30% Oxygen, and since I’m pretty sure those waters should be getting most of their gasses from diffusion with a uniform atmosphere, those values should be closer.

I guess this is general feedback as I’m pretty sure nothing should have changed related to this in the latest release (unless you are using hydrogen sulfide as the food source).

Did it happen just once or? From what I’ve seen with the auto-evo exploring tool hydrogen sulfide eating basically always evolves within the first few generations in the vents.

Great to see someone able to confirm this. We finally got someone who wanted to program this new AI behaviour (as sadly updating the AI seems to be rare occurrence).

Checking the code it should be a flat percentage for each vent to have an eruption event each cycle. So the world size shouldn’t have an effect on how often a single patch experiences the eruption event.

I suppose more could be added if some artist makes them. I think though that this isn’t a major problem as if I remember right there’s 3 variants of the sulfur chunk so there is some variety, and it is meant to be like one of many chunks to add different stuff to the world.

Most suitable candidates with many organelles can already be turned into an endosymbiont in 2 cycles. I think it would be quite a drastic change to make it so that you can just do it within a single generation. There is an alternative idea on how to make endosymbiosis easier:

Can you show examples? Because in my testing that only makes my species worse in the swimming around part (though if you know advanced gameplay strategies and don’t just try to constantly swim it is still fine to survive), but my population absolutely boomed while purely following the suggestions. The suggestions are setup so that it should be unable to recommend anything that makes your species perform worse in auto-evo.

Auto-evo shouldn’t be any slower than in like 0.7.0. It’s just that the new algorithm is just slower in general than the old one. If you have a reasonable number of CPU cores you should check that the option to run auto-evo during gameplay is checked, so that auto-evo gets a head start while you are playing for a few minutes before getting to the loading screen. I’ve already from a technical standpoint done all easy optimizations I could find with a code profiler for the auto-evo. So any further optimizations either need to be more insightful or affect the auto-evo results (by for example a big part is that huge species generate a ton of temporary test copies, we could limit how many mutation attempts big cells are allowed to do, but this would have an impact on the results).

What wording would you suggest that still fits in the same amount of space? I tried quite hard to think of concise but accurate names. So I don’t really think any wording change can help, it would need a pretty massive tooltip to explain all the options.

What impact would this have on the microbe stage? I don’t really see how this would have a real gameplay impact that early in the game. And for the most crazy options we need some kind of indication that life could arise in such conditions.

I think this crash is probably a rare Godot Engine crash when trying to switch game scenes. At some point in the future we’ll get the native crash reporting capability back but it isn’t yet so I don’t think we can even effectively report this to the engine devs. So this just needs to be considered an unfortunate random crash that can’t be fixed.

Even faster than in 0.8.0? Already from 0.7.1 I think the diffusion speed is more than doubled. I’ve found that the concentration differences are a lot smaller now than before, but one thing that can have a major impact is the presence of species. So could you check the species in the relevant patches? I bet that the difference is caused by massive populations of oxygen breathers bringing one of the patches down, but those species haven’t yet spread to also tank the oxygen in the other patch. Or it could be an imbalance of photosynthesisers between the patches.

2 Likes

Prokaryotes picked up chemosynthesis pretty quickly. Eukaryotes however seem to vastly prefer iron over H2S and have at most evolved a single chemoplast (while having multiple ferroplasts), even when H2S concentrations soared above 250 units.

4 Likes

I suppose that would be an auto-evo tweaking effort then, which is not my speciality so I can’t say more.

4 Likes

So I’ve just checked what differest two surface patches, of which one has 12% Oxygen and a different one with 28% Oxygen, it seems to be caused by a lack of photosynthesizers.

Also I’ve noticed that now there can exist patches completely devoid of life even late into the game

Edit: If you jump for too long when playing as a macroscopic creature on land, you seemingly get stuck in the sky

2 Likes

There’s a big difference between how iron and H2S are used. For iron, the species can only live off of it (as its sole energy source) by having enough of the organelles to do all the conversions, and larger cells always need more of these parts. But with H2S, the cell needs enough parts that burn glucose in order to survive, and the chemosynth parts are an addition to those, creating glucose that it can also get from elsewhere. And there’s a limit to how quickly the sulfide needs converting, so sulfur-utilising cells usually don’t need as many sulfur-related parts.

3 Likes

Oh, that could explain it. Still the vents biome tends to end up having hundreds of units of H2S.

1 Like

By which generation is that? I’ve put on my very long TODO list to balance hydrogen sulfide new values, the eruption event and make it diffuse between patches. If it only happens at like generation 15+ then the microbe stage planned duration is basically over so it isn’t much of an issue. And also if it only happens like a few games out of ten, then it might even be called a good feature to give more variety to the generated worlds.

2 Likes

I think it reached into 200s not long after generation 20 thanks to an eruption event.

That would definitely help bring those insane concentrations down.

2 Likes

I just ran a few tests with auto-evo exploring tool up to generation 20 and the most I saw was 97 hydrogen sulfide. And even that started to go down the next generation, so the balance numbers are still correct for what I saw with the auto-evo exploring tool so that the spikes are pretty good but then quite quickly go a way and no patches have a runaway infinite sulfide accumulation.

For reference here’s the issue about further balancing the hydrogen sulfide compound:

2 Likes

Hmmm, I must’ve got a rare biosphere then, for my vents biome’s spikes’s concentrations persisted…

1 Like

Understandable, as there are many different aspects to keep track of during development of a game. I hope the delay between new mechanics/organelle additions and adjusting the AI accordingly becomes smaller as time goes on.

Ah. So theoretically, multiple vent eruptions could occur in a world.

I see. Maybe this is just due to small sampling error on my part. It would be nice to have more Sulfur chunk variety, but I don’t want to burden the dev team too much, either.

I did not realize Endosymbionts could be turned into organelles that quickly. Then again, each “cycle” is 100 million years, so still entirely plausible.

I was unable to take pictures since the game crashed. When Auto-Evo suggested for me to add a toxin, after adding the toxin, the algorithm predicted my population decreasing. I will see if I can get a picture of the issue.

I don’t use the option for “auto-evo during gameplay” since I only have two or three cores (on the options screen, it says “2+1”). I am not even sure if it would work properly for my computer, but I can definitely try it. It is not easy playing a game with a “potato” (12 years old computer at this point), but it is manageable.

I also did not know that huge species generate a ton of test copies compared to smaller species. Out of curiosity, what was reasoning behind this? I don’t want to negatively affect Auto-Evo just to have better performance.

I did not realize space was a limiting factor. My apologies. I assume this means making the last two options take two lines of space each for more words is not feasible.

Thinking about it now, perhaps having very strange day/night cycles and seasons, i.e. very short nights but longer days. Or even the opposite, like in Asimov’s Nightfall, where night only occurs every thousand years or so. Another possibility is having a higher amount of cosmic radiation, which means organisms would need to have better repair mechanisms, or better radiation resistance. Maybe even unusually high tides/currents?

Thank you for looking at it. I will just have to save more often in case a crash like this happens in the future.

3 Likes

Isn’t there an autosave system in place which should save the game every editor cycle as long as you’re still in microbe stage?

2 Likes

What I mean is saving within the turn, or out of the editor while playing the game; not an autosave, but a quicksave (I believe that is the proper term).

1 Like

Why would you need to save even more often? I guess you can if you’re after some extra hard to catch endosymbiosis subjects…

1 Like

Yes, if lucky (?) you might see all vent patches in a world have an eruption during the same editor cycle.

Yeah the range is 2-4 (I think now, it used to be 5 in the last release) based on how many useful organelles for the endosymbiont the target species has.

Ah, it was population. The algorithm works with just pure energy. So while it might have given you more energy, the cost per individual went up more due to the added part, which can result in a lower population even if the energy intake went up.

Yeah, I don’t recommend the option if you have so few cores as it may decrease the framerate during gameplay quite a bit. So yeah, sadly a simulation game on a laptop is going to take a while to get through the simulation calculations.

Well the mutation generation algorithm has a mutation attempts that scale with the number of organelles: so more organelles mean that there are more tested mutations (as each organelle has stuff like testing removing it separately).

I’m not sure if the engine even supports word-wrap in dropdowns. Anyway it would break the visual symmetry hard if that one option would need to have its heading and the actual value on different lines in the GUI rather than fitting on the same one.

I’ve added on my TODO list to add a tooltip for that option.

I recommend having the auto-save always enabled.

3 Likes