# 0.5.8 Feedback thread

**URL:** https://community.revolutionarygamesstudio.com/t/0-5-8-feedback-thread/4592
**Category:** Current Game
**Tags:** thread-of-the-week
**Created:** [April 16, 2022, 6:16pm UTC](https://community.revolutionarygamesstudio.com/t/0-5-8-feedback-thread/4592 "2022-04-16T18:16:01Z")
**Posts on this page:** 20
**Page:** 2

<div class="post-metadata">

### Author: ![hhyyrylainen](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/hhyyrylainen/32/32_2.png) [@hhyyrylainen](https://community.revolutionarygamesstudio.com/u/hhyyrylainen)
#### Post date: [April 18, 2022, 6:56am UTC](https://community.revolutionarygamesstudio.com/t/0-5-8-feedback-thread/4592/21 "2022-04-18T06:56:30Z")

</div>

I meant it as a joke… and part of it was that it was like a fraction of how many changes you can make, so once again sadly the maximum value would be 1. Similarly to how it doesn’t make sense for a probability to be over 1, it doesn’t make sense to be able to make more changes than the maximum.

---

<div class="post-metadata">

### Author: ![TheBeholder](https://thrivecommunity-cdn.b-cdn.net/letter_avatar_proxy/v4/letter/t/b77776/32.png) [@TheBeholder](https://community.revolutionarygamesstudio.com/u/TheBeholder)
#### Post date: [April 20, 2022, 12:02am UTC](https://community.revolutionarygamesstudio.com/t/0-5-8-feedback-thread/4592/23 "2022-04-20T00:02:40Z")

</div>

In fact, an idea I just had is to stop showing organelles for smaller cells altogether while playing. Removing collision between them could also be a further optimization as large groups of them also cause lag.

---

<div class="post-metadata">

### Author: ![TheBeholder](https://thrivecommunity-cdn.b-cdn.net/letter_avatar_proxy/v4/letter/t/b77776/32.png) [@TheBeholder](https://community.revolutionarygamesstudio.com/u/TheBeholder)
#### Post date: [April 20, 2022, 12:51am UTC](https://community.revolutionarygamesstudio.com/t/0-5-8-feedback-thread/4592/24 "2022-04-20T00:51:34Z")

</div>

It is also worth noting that it is possible to get stuck inside of one of your larger builds after multiplying.

I suggest making the split make both cells unicellular in order to keep that from happening.

---

<div class="post-metadata">

### Author: ![TheBeholder](https://thrivecommunity-cdn.b-cdn.net/letter_avatar_proxy/v4/letter/t/b77776/32.png) [@TheBeholder](https://community.revolutionarygamesstudio.com/u/TheBeholder)
#### Post date: [April 19, 2022, 11:45pm UTC](https://community.revolutionarygamesstudio.com/t/0-5-8-feedback-thread/4592/25 "2022-04-19T23:45:28Z")

</div>

Okay, so… As someone who has a BEEFY computer, the fact that the multicellular stage lags my computer so hard is a very large issue. The multicellular stage should be optimized. I believe this could be caused by the fact that my computer is having to draw so many polygons. I feel that this stage should automatically zoom out a bit and therefore simplify the organelles of the cells. This could also simplify the soft-body sim of the cells (If they’re using one). I have not looked at the source code at all, so I don’t know what’s causing the issue yet. I’m just spouting ideas I know work well to reduce lag. I also suggest looking through the code itself to try to optimize processes from there. I have some experience in game development, but not enough to know all the ins and outs of optimization.

---

<div class="post-metadata">

### Author: ![TheBeholder](https://thrivecommunity-cdn.b-cdn.net/letter_avatar_proxy/v4/letter/t/b77776/32.png) [@TheBeholder](https://community.revolutionarygamesstudio.com/u/TheBeholder)
#### Post date: [April 19, 2022, 11:49pm UTC](https://community.revolutionarygamesstudio.com/t/0-5-8-feedback-thread/4592/26 "2022-04-19T23:49:44Z")

</div>

There’s also the chance my theories are wrong. I could be wrong about the poly rendering. It could also be the other cell’s ai that could be causing lag.

---

<div class="post-metadata">

### Author: ![TeaKing](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/teaking/32/14641_2.png) [@TeaKing](https://community.revolutionarygamesstudio.com/u/TeaKing)
#### Post date: [April 19, 2022, 11:50pm UTC](https://community.revolutionarygamesstudio.com/t/0-5-8-feedback-thread/4592/27 "2022-04-19T23:50:38Z")

</div>

im pretty sure this is the wrong thread for this, try the 0.5.8 feedback thread maybe?

---

<div class="post-metadata">

### Author: ![TheBeholder](https://thrivecommunity-cdn.b-cdn.net/letter_avatar_proxy/v4/letter/t/b77776/32.png) [@TheBeholder](https://community.revolutionarygamesstudio.com/u/TheBeholder)
#### Post date: [April 19, 2022, 11:51pm UTC](https://community.revolutionarygamesstudio.com/t/0-5-8-feedback-thread/4592/28 "2022-04-19T23:51:45Z")

</div>

Yeah probably. I’ll copy and paste it there.

---

<div class="post-metadata">

### Author: ![hhyyrylainen](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/hhyyrylainen/32/32_2.png) [@hhyyrylainen](https://community.revolutionarygamesstudio.com/u/hhyyrylainen)
#### Post date: [April 20, 2022, 6:55am UTC](https://community.revolutionarygamesstudio.com/t/0-5-8-feedback-thread/4592/29 "2022-04-20T06:55:29Z")

</div>

I’m nearly certain that you are wrong about what is the performance sink, I’d love to see any profiling numbers or numbers from when you turned off those things you think are the performance sinks.

I’ve done my own profiling and turning off gameplay features, I posted a link very recently:

> [@Urchin-Issue (lots of floating organelles cause lag)](https://community.revolutionarygamesstudio.com/t/urchin-issue-lots-of-floating-organelles-cause-lag/4595/6):
>
> I don’t think that rendering is the bottleneck at all. You can see my profiling results here: Note especially what things I’ve tried disabling and gotten basically no performance change with them: I’ve tried disabling AI, rendering microbe graphics other than the player, and disabling microbe sound. Those have no impact on the performance. It seems that around 30% of total time is taken up by physics and Godot scene tree updates, with 10% being our C# physics callbacks.

---

<div class="post-metadata">

### Author: ![TheBeholder](https://thrivecommunity-cdn.b-cdn.net/letter_avatar_proxy/v4/letter/t/b77776/32.png) [@TheBeholder](https://community.revolutionarygamesstudio.com/u/TheBeholder)
#### Post date: [April 20, 2022, 12:24pm UTC](https://community.revolutionarygamesstudio.com/t/0-5-8-feedback-thread/4592/30 "2022-04-20T12:24:22Z")

</div>

Yes. I actually noticed that after I posted these. But something I can note is that the player model size is correlated with lag. However, there does seem to be a limit in which lag stabilizes to a certain extent. It might be the resources that cause it but I don’t have the necessary resources to test this. It could also be the variables within each of the cells on the screen, or even in the background. I’m going to run a test where I limit the size of the microbe to see if I still see the lag.

---

<div class="post-metadata">

### Author: ![TheBeholder](https://thrivecommunity-cdn.b-cdn.net/letter_avatar_proxy/v4/letter/t/b77776/32.png) [@TheBeholder](https://community.revolutionarygamesstudio.com/u/TheBeholder)
#### Post date: [April 20, 2022, 12:31pm UTC](https://community.revolutionarygamesstudio.com/t/0-5-8-feedback-thread/4592/31 "2022-04-20T12:31:37Z")

</div>

I’m going to try to go into a deeper look once I get home. Something to note: The bgm/Sfx (I wasn’t paying much attention to SFX so I don’t know if it has any) also lags which leads me to believe something audio-wise might be causing it. I’ll see about turning the volumes all the way down. If you can run the same test but with the code for the audio disabled or removed entirely we can compare the results.

---

<div class="post-metadata">

### Author: ![TheBeholder](https://thrivecommunity-cdn.b-cdn.net/letter_avatar_proxy/v4/letter/t/b77776/32.png) [@TheBeholder](https://community.revolutionarygamesstudio.com/u/TheBeholder)
#### Post date: [April 20, 2022, 12:40pm UTC](https://community.revolutionarygamesstudio.com/t/0-5-8-feedback-thread/4592/32 "2022-04-20T12:40:03Z")

</div>

_ **Disclaimer:** _  
All of my theories were plausible. None of them were correct. Looking at the logs tomorrow to save the devs some time. Please be patient I have SOME idea of what I am doing. Not much.

I work with audio and music every day and I know that bitrate drops when there are too many processes happening at once. It could be the AISO that the engine uses (which depends on the sample rate (How many things play at once)) So A variable for how many “Voices” could play at the same time would give you complete control over testing for this purpose. I also suggest reducing the quality of audio files if this is the case.

Here’s the logs from gameplay. A couple of errors, I think. After going through my notes on my little speedrun. I think that the errors were what caused the lag, as my CPU stayed at around 50% usage while my GPU stayed at around 36%. Disk usage stayed at around 0-2% when it started to lag. The fact that my computer wasn’t straining to run while it was lagging indicates that something is looping somewhere in the background when it doesn’t need to be looping.

I recognise this issue from a lot of game engines. (Still possible based off of the errors) Most have made it harder to make “Repeat indefinite” lines but not all. I don’t know about the engine Thrive runs on so I couldn’t say for sure if that’s the issue. One thing that’s caused a lot of programmers(Jonny Lonach) to move from unity to unreal engine is the fact that unreal can handle larger projects. I’m not saying this is the issue now (because it isn’t) but in the future Thrive might have to change game engines again in order to run smoothly. I could be wrong entirely I only have some minor experience in coding. (~3 years)

I know I’m adding a Ton of edits but old knowledge is coming back to me. Also a disclaimer: I have not actually coded anything in the past 5 months so I am missing like 90% of what I know. Don’t take everything I say as fact as I am most probably wrong here. (It was) As I said above, I work mostly with audio. That’s partially why I’m not sure about what could be causing all of this. I’m just suggesting things I think might be causing it based off of my experiences when I did code a lot. (Possible things that could lag in simular ways that happened.)

Okay I’m tired and feel like torturing myself so here’s what a minute of looking at the logs did: Based off of what I experienced I can finally conclude that… The issue is actually trying to eat other organisms. Something’s gone wrong somewhere that’s caused eating other organisms in a haphazardly way to cause an error that overwrites areas of the logging process immediately (Literally interrupting sentences). This causes a loop where other cells that evolved this behavior off of the player cell will also trigger an error like this but it isn’t brought up in the log for some reason. This causes a chain reaction that eventually leads to a lot of lag that looks/acts like an accidental loop, interrupts data (i.e. variables like ATP and glucose (Which yes, they were lagging too) and guess what else? Audio!) and it also causes a perceived performance drop because each error is being processed before each frame by the game engine. THUS MY COMPUTER’S RESOURCES AREN’T USED IN THE PROCESS!!!

I think I figured it out. Try fixing whatever causes that error. And then we can see if that fixes the lag. If it doesn’t, I’ll take a deeper dive into the actual data. That covers all the experiences in game along with my computer’s resource usage during that time.

An example of a playthrough WITH lag:

> **[Thrive 0.5.8 Log Lagged](https://docs.google.com/document/d/11Pajk-q-ZwTLK5FtvdMSpwRh1KqEjG3ir_P5zxYUE1c/edit?usp=sharing)**
>
> Process Started Godot Engine v3.4.2.stable.mono..45eaa2daf - https://godotengine.org OpenGL ES 3.0 Renderer: GeForce GTX 1050 Ti with Max-Q Design/PCIe/SSE2 OpenGL ES Batching: ON Mono: Log file is:...

An example of a playthrough WITHOUT lag:

> **[Thrive 0.5.8 Log No Lag](https://docs.google.com/document/d/1w8CmDT5aVdftyRvZFymf7S1baEb3JjWpHo2QrdThQ6A/edit?usp=sharing)**
>
> Playing Thrive 0.5.8 Thrive is running. Log output: Process Started Godot Engine v3.4.2.stable.mono..45eaa2daf - https://godotengine.org OpenGL ES 3.0 Renderer: GeForce GTX 1050 Ti with Max-Q Design/PCIe/SSE2 OpenGL ES Batching: ON Mono: Log file is:...

Clearly the errors have SOMETHING to do with it. I’m not sure what causes them though. I’ll have to figure that out tomorrow.

(Most recent edit: Disclaimer “:”)  
(Most recent edit 2 electricboogaloo: Clarifying things before I get misunderstood.)  
(Edit: Based)

---

<div class="post-metadata">

### Author: ![Underfishagain](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/underfishagain/32/7928_2.png) [@Underfishagain](https://community.revolutionarygamesstudio.com/u/Underfishagain)
#### Post date: [April 20, 2022, 12:51pm UTC](https://community.revolutionarygamesstudio.com/t/0-5-8-feedback-thread/4592/33 "2022-04-20T12:51:01Z")

</div>

What are your plans to fix eukaryotic life not branching off from you?

---

<div class="post-metadata">

### Author: ![TheBeholder](https://thrivecommunity-cdn.b-cdn.net/letter_avatar_proxy/v4/letter/t/b77776/32.png) [@TheBeholder](https://community.revolutionarygamesstudio.com/u/TheBeholder)
#### Post date: [April 21, 2022, 12:26pm UTC](https://community.revolutionarygamesstudio.com/t/0-5-8-feedback-thread/4592/34 "2022-04-21T12:26:07Z")

</div>

I got a professional to look over the logs instead. I was right on this. “Okay I’m tired and feel like torturing myself so here’s what a minute of looking at the logs did: Based off of what I experienced I can finally conclude that… The issue is actually trying to eat other organisms. Something’s gone wrong somewhere that’s caused eating other organisms in a haphazardly way to cause an error that overwrites areas of the logging process immediately (Literally interrupting sentences). This causes a loop where other cells that evolved this behavior off of the player cell will also trigger an error like this but it isn’t brought up in the log for some reason. This causes a chain reaction that eventually leads to a lot of lag that looks/acts like an accidental loop, interrupts data (i.e. variables like ATP and glucose (Which yes, they were lagging too) and guess what else? Audio!) and it also causes a perceived performance drop because each error is being processed before each frame by the game engine. THUS MY COMPUTER’S RESOURCES AREN’T USED IN THE PROCESS!!!”

---

<div class="post-metadata">

### Author: ![hhyyrylainen](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/hhyyrylainen/32/32_2.png) [@hhyyrylainen](https://community.revolutionarygamesstudio.com/u/hhyyrylainen)
#### Post date: [April 21, 2022, 1:31pm UTC](https://community.revolutionarygamesstudio.com/t/0-5-8-feedback-thread/4592/35 "2022-04-21T13:31:05Z")

</div>

Uhh, yeah, I’m not going to understand that… if you want to show something that would improve things, please open a PR showing off your changes.

In other news I did today a PR that improves the game performance quite a bit (turns out the despawn logic could not keep up with all of the stuff spawning in the game):

> <https://github.com/Revolutionary-Games/Thrive/pull/3243>
>
> \*\*Brief Description of What This PR Does\*\*
> Adds a new metrics display to see ga…me entity counts
> Fixes some pretty glaring problems in the despawning system
> 
> \*\*Related Issues\*\*
> 
> \<!-- List all issues this PR closes here with the closes syntax: 
> https://docs.github.com/en/github/managing-your-work-on-github/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword
> If this is not related to an issue, it should be described in more detail why this PR is needed here instead.
> \--\>
> https://community.revolutionarygamesstudio.com/t/issues-related-to-despawning/4638/2
> 
> \*\*Progress Checklist\*\*
> 
> Note: before starting this checklist the PR should be marked as non-draft.
> 
> \- \[x\] PR author has checked that this PR works as intended and doesn't
> break existing features:
> https://wiki.revolutionarygamesstudio.com/wiki/Testing\_Checklist
> (this is important as to not waste the time of Thrive team
> members reviewing this PR)
> \- \[\] Initial code review passed (this and further items should not be checked by the PR author)
> \- \[\] Functionality is confirmed working by another person (see above checklist link)
> \- \[\] Final code review is passed and code conforms to the 
> \[styleguide\](https://github.com/Revolutionary-Games/Thrive/blob/master/doc/style\_guide.md).
> 
> Before merging all CI jobs should finish on this PR without errors, if
> there are automatically detected style issues they should be fixed by
> the PR author. Merging must follow our
> \[styleguide\](https://github.com/Revolutionary-Games/Thrive/blob/master/doc/style\_guide.md#git).

---

<div class="post-metadata">

### Author: ![TheBeholder](https://thrivecommunity-cdn.b-cdn.net/letter_avatar_proxy/v4/letter/t/b77776/32.png) [@TheBeholder](https://community.revolutionarygamesstudio.com/u/TheBeholder)
#### Post date: [April 21, 2022, 2:29pm UTC](https://community.revolutionarygamesstudio.com/t/0-5-8-feedback-thread/4592/36 "2022-04-21T14:29:31Z")

</div>

Okay. You’re gonna have to give me a while to figure out where in the code the error starts. Once found and fixed, all the lag problems experienced so far will be over. Because it’s an error loop, it just continues to repeat itself even after the event that caused it stopped. Errors seem to have priority in the game engine so that’s why it lags the audio. it’s being loaded each frame.

Okay, I was right about the errors. Wrong about the cause.

List of errors:

1. A node failed to be set up (scene/main/node.cpp:1135) after moving to a different scene.

2. Shape value is at 25 when 24 is the set maximum → Shape value is at (Increasing numerical value over 25) when 24 is the set maximum (scene/3d/collision\_object.cpp:529)  
Apparently this error was some sort of N+1 variable spawning. It cuts out after trying to spawn in 529 of something after moving to a different scene. (I have no idea what this is for.)

3. Touched microbe has been disposed before engulfing could start Touched microbe has been disposed before engulfing could start (I don’t know where this is happening at. It just is.)

Those three errors seem to be the entire problem. All three of them loop. That’s the problems found, why they cause lag, and where to find them. There’s a very high chance that I don’t find out how to fix them. I can find errors and point out why they happen and why they cause the effects that they do but I can’t actually fix them because I’m not fluent in C# anymore.

---

<div class="post-metadata">

### Author: ![hhyyrylainen](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/hhyyrylainen/32/32_2.png) [@hhyyrylainen](https://community.revolutionarygamesstudio.com/u/hhyyrylainen)
#### Post date: [April 21, 2022, 4:56pm UTC](https://community.revolutionarygamesstudio.com/t/0-5-8-feedback-thread/4592/37 "2022-04-21T16:56:30Z")

</div>

The errors happen a _lot_ they don’t loop in my opinion. That third one is the only error from us, those other two are engine problems. You can try commenting out that third print and see if it fixes the performance.

There’s an open issue about the print:

> <https://github.com/Revolutionary-Games/Thrive/issues/3174>
>
> I added a guard against crashing here: 
> https://github.com/Revolutionary-Games/…Thrive/blob/55b3d8361b5d5669fdb8dda90089cbba5a35eadb/src/microbe\_stage/Microbe.Contact.cs#L357
> 
> We should actually get to the underlying issue and solve that here, seems to be easy to trigger by trying to engulf cells of your species while they are dying.

I did that because the game would have crashed, without my changes there. I added the print because I assumed that as we weren’t getting crash reports every 5 minutes, the error condition wouldn’t be hit so much.

Also Godot engine actually has a maximum logging rate after which it just skips printing output. So the engine has safeguards stopping logging from consuming all of processing time.

---

<div class="post-metadata">

### Author: ![TheBeholder](https://thrivecommunity-cdn.b-cdn.net/letter_avatar_proxy/v4/letter/t/b77776/32.png) [@TheBeholder](https://community.revolutionarygamesstudio.com/u/TheBeholder)
#### Post date: [April 21, 2022, 7:30pm UTC](https://community.revolutionarygamesstudio.com/t/0-5-8-feedback-thread/4592/38 "2022-04-21T19:30:45Z")

</div>

> [@hhyyrylainen](#):
>
> those other two are engine problems.

The game engine kinda dumb.

> [@hhyyrylainen](#):
>
> I did that because the game would have crashed, without my changes there. I added the print because I assumed that as we weren’t getting crash reports every 5 minutes, the error condition wouldn’t be hit so much.
> 
> Also Godot engine actually has a maximum logging rate after which it just skips printing output. So the engine has safeguards stopping logging from consuming all of processing time.

Smart save.

---

<div class="post-metadata">

### Author: ![Deus](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/deus/32/923_2.png) [@Deus](https://community.revolutionarygamesstudio.com/u/Deus)
#### Post date: [April 21, 2022, 10:53pm UTC](https://community.revolutionarygamesstudio.com/t/0-5-8-feedback-thread/4592/39 "2022-04-21T22:53:33Z")

</div>

Just a heads up for future reference; try to avoid double/triple-posting as it can quickly clutter the forums.

---

<div class="post-metadata">

### Author: ![aah31415](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/aah31415/32/14564_2.png) [@aah31415](https://community.revolutionarygamesstudio.com/u/aah31415)
#### Post date: [April 23, 2022, 7:56pm UTC](https://community.revolutionarygamesstudio.com/t/0-5-8-feedback-thread/4592/40 "2022-04-23T19:56:27Z")

</div>

Toxin damage system seems to be broken, Mine Stem cell of mine Multicellular organisms gets damage even if other cell was hit. This means that if you are large multicellular organisms and toxic prokariorite enters your patch then are going to go excint.

---

<div class="post-metadata">

### Author: ![hhyyrylainen](https://thrivecommunity-cdn.b-cdn.net/user_avatar/community.revolutionarygamesstudio.com/hhyyrylainen/32/32_2.png) [@hhyyrylainen](https://community.revolutionarygamesstudio.com/u/hhyyrylainen)
#### Post date: [April 23, 2022, 8:22pm UTC](https://community.revolutionarygamesstudio.com/t/0-5-8-feedback-thread/4592/41 "2022-04-23T20:22:29Z")

</div>

There’s a Godot engine bug where it doesn’t always know which sub shape was hit. In those cases the game resorts to assuming the main cell got hit.

[Previous page](https://community.revolutionarygamesstudio.com/t/0-5-8-feedback-thread/4592.md?page=1)

[Next page](https://community.revolutionarygamesstudio.com/t/0-5-8-feedback-thread/4592.md?page=3)
