Process panel & process system design

While playing I gained this idea, that when I wanted to use iron as my main energy source (prokaryotes), I want to use as small an amount of glucose as possible (in case that when my iron source fall short I can use glucose as an alternative). But in the game I cannot decide myself what to use. Is it possible that we players can control our energy sources priority so that we can better live?

What kind of UI would we show the player? Would it be in-game or in the editor (for example some kind of drag and drop list which processes to prefer?)

I think unless this is very important, the added complexity of trying to explain this to the player through a tutorial and get them to use the system, quite heavily outweighs the benefits.

1 Like

I had this idea too. For the UI the processes panel can be used. Ongoing processes could be deactivated by clicking on them and a slider or something similar could be added to increase or decrease their output.

What about a process panel like this
image
The left list box decides which process should be calculated first, and the right part displays the detailed process info and the bottom slider decides the minimum / maximum speed of the selected process.

1 Like

How would the player change the order of the processes? Drag and drop, but that also needs button alternatives to work with a controller? Also why have separately, on top of the priority, a granular speed control? Some button to turn off a process (as that’s a really old idea) would be much simpler and easier to use. How do we explain to the player that they have messed up the process speeds and are dying because of that? If the player cranks down all of the ATP generating processes, they will die no matter what organelles they try to add…

I want to add a granular speed control mainly because with this extra min / max speed control users can slow down certain processes when the atp production is not abundant. In the game I noticed that if you have a narrow ATP balance (such as 65 production and 63 consumption) and you are halfway to reproduce, sometimes a toxic agent or something reproduced before a mitochondria, causing the ATP falling short when moving continuously. In this case I just need to slow down any other things a bit then I can keep my ATP balance.

Tutorials can be added explaining how this effects cell processes, and when the player drags an ATP generating process a tutorial can be shown indicating the probable consequence.

Well, an alternate solution would be to make ATP-producing organelle reproducing first (or even, the prioritized ones in your proposal)? It seems quite sensible to me, but I don’t know if there’s any scientific evidence for this happening.

More generally, I pretty much like the idea of prioritizing processes from a game design standpoint. But do we have any backing theory about this? Multicellular organisms with a nervous system can do that, but can unicellular ones do the same? Unicellular cells with photosynthesis privilege this to glycolysis apparently, and I saw a paper mentioning some N-fixating cells doing it only at day/night. So this could be the case, but I don’t know for sure. I’d think that organelle prioritization is more likely realistic

I nonetheless agree with hh that such a somewhat complex system could be complex to players, especially for larger cells and when the game will offer more organelles. So we have to be careful with the UI in that they could easily mess up their cell design.

1 Like

There’s actually an older open issue about controlling organelle splitting order: Add a way for the player to control organelle split order · Issue #1622 · Revolutionary-Games/Thrive · GitHub which IMO is much simpler to use than each time you reproduce tweaking the speed controls.

I’m not an expert, but I remember hearing about how even single cell organisms can control which proteins and how fast they make them based on pretty complicated chemical signals. So I don’t see a big problem with realism if a cell is able to “slow down” a process that is not currently beneficial.

(already posted before remembering this)
Fully agree. I think we really need to work through our backlog of toxin customization, endosymbiosis, organelle upgrades first to see how much stuff there’s in the microbe stage. I think if we plan too many big complex systems, the game will end up being overwhelming by having too many complicated systems.

As an example the game used to have oxygen clouds in the environment, but they were removed to make the game play better by reducing the different clouds the player needed to find to stay alive.

2 Likes

Now I come up with this thought:

In #2276 we discussed the problem that ATP production and ATP consumption are not calculated together. So why aren’t they calculated together? I think that we can make (osmoregulation / base movement / flagella movement) cell processes, so that the HandleOsmoregulation / DoBaseMovementForce / CalculateMovementForce functions can be modified to set its cell processes’ speed (or completely merge with cell process handling). Then in cell process calculation we can regard all cell processes as a whole. Then #2276 can be solved, and we can have a more informative process panel.

Also the condition that you lose heart (or sth) can be set to that osmoregulation can’t run at full speed. Then by adjusting process priority (ATP production processes, then osmoregulation, then others), you won’t lose heart, but your other cell processes will slow down when you have a narrow ATP balance.

Now the process panel is almost of no use at all. Doing this, the process panel can act as a cool tool to empower your cell in-game. I can think of many different ways to play with such a system.

How do you concretely suggest we do that?

The way immediately obvious to me has a really big flaw:

  • Just run processes and don’t care about storage
  • Take away the drained ATP
  • And now the hard part: if some compound is still above the storage limit, processes need to be reversed until no compound is above the storage limit.

Doing the opposite (of allowing ATP to be negative) would have the drawback that flagella and base movement would need to run twice to check if ATP production was enough to support them, if not then they need to recalculate the movement force.

Is it really worth it? This can only happen when lagging too much. Most lag spikes are just like a single frame causing the player to take a maximum of one hit of ATP damage.


For future reference here are the issues on improving the process panel:

Also I haven’t made issues yet of these notes I’ve taken:

  • add more rounding / make the numbers change slower in the process panel
  • should process numbers be multiplied by the speed factor? there seems to be disparencies between the spinner speed and the shown compound amounts
  • seems like the numbers might be inaccurate for a little bit after loading a save?