Thrive
Thrive copied to clipboard
Process input amounts are confusing when process can't run
Describe the bug ATP consumption is greater when the cell is not moving. Strange.
Screenshots
Static
Moving
System info (please complete the following information): 0.5.4.0-alpha
Cell:
Are you referring to the ATP number being red? That just means it is the limiting factor in the process speed. The fact that it is a process result means that when it is the limiting factor, there's not enough storage. So in this case the ATP being red says "you don't have enough storage for this process to run fast", which in turn means that you aren't using as much ATP when stationary than when moving. So I think everything is working correctly.
Or are you referring to the glucose numbers (just noticed those)? I think what's happening is that as the process can't run fullspeed it shows the numbers as-if it could run, which has glucose higher, but the lower one shows the actual glucose consumption. I suppose that is a big or at least unoptimal display.
Actually what I want to say is the amount of glucose consumed. When the cell is static, it's 0.124; when the cell moves forward, it gets down to 0.063. When I move backward or elsewhere the glucose consumption rate is between them. Does that mean when the cell is moving it costs less glucose?
Probably not. See my later comment: I think it's just a display difference: when a process can't run (the output is red) the input amounts are computed from the full speed process, but when the process can run the input amounts are the actual amounts consumed (which, if the process can't run at full speed, is less than the theoretical maximum). It's pretty hard to display this in a consistent manner. The reason I coded it this way is that if a process can't run, you couldn't see which compounds you need (and how much) as all the inputs would be just zeroes indicating nothing is consumed...
Then my suggestion is that we can use (actual rate) / (theoretical rate) instead.
Where would that be used? Also 0 / 0.1 is still 0. So this still applies:
The reason I coded it this way is that if a process can't run, you couldn't see which compounds you need (and how much) as all the inputs would be just zeroes indicating nothing is consumed...
In the cell processes dialog use 0 / 0.166 instead?
And this one Actually when my glucose storage is not full Photosynthesis speed is far higher than that.
https://user-images.githubusercontent.com/60734649/120889075-1bac3d00-c62e-11eb-9671-fbdbcdae6ec2.mp4
Just look at the speed.
use 0 / 0.166 instead? ah you mean like literally? Instead of doing the math. I suppose that could work, unless the UI becomes too convoluted.
So one potential fix to this issue is to just switch over all the numbers to be "{current} / {maximum}" instead of picking current or maximum based on convoluted logic.
So one potential fix to this issue is to just switch over all the numbers to be "{current} / {maximum}" instead of picking current or maximum based on convoluted logic.
I mean that.
Is this still a problem? I've been combing through the code for a while, and cannot seem to find anywhere that the current value is switched to the theoretical maximum.
If it is, could I get repro steps?
I'm pretty sure none of the code for displaying the speeds has not been changed since this issue was opened. So this should be still relevant. I would assume that replicating the situation from the screenshots and comparing being stationary and moving should still give different numbers to compare.