Beginning Concepts on The Multicellular Stage

Great! I hope it will do a lot to start making the stage feel distinct.

I’ve said it before, but just in case this would make it easier: I think it would not be bad if this applied to the Microbe Stage as well. It could be a mild incentive to specialise your species, before you unlock the ability to “cheat the system” in multicellular.

If I understand you correctly, just looking at the count of the most common organelle is a version I considered, but I suspect it will lead to strange break-point issues when the scale tips towards another organelle being slightly more common. Which is why I eventually settled on a version where a specialisation value is calculated and applied for every organelle type simultaneously.

You’re certainly welcome to try though! It’s absolutely more clear to just show one number in the editor.

(One additional variant could be to do a type of reverse-variety calculation to determine a single modifier bonus, and then apply it to all processes in the cell. That still encourages specialisation (lowering variety) and shows a single number in the editor. But of course, you lose the link between abundance of a specific organelle and its own bonus.)

Yes, for process parts that’s exactly what it should do.

I would certainly also like a specialisation system to apply to other cell parts like flagella and cilia. But processes are a good start and will be a good influence even if the non-process parts can never be included.

Out of curiosity: why does the (multicellular) species hold the information of the bonus to be applied to a specific cell type? From what I understand of the code structure, I would expect that to be internal to the cell type, and only need to move from that level to the multicelllar, not the other way around?

I suppose it could also be left enabled for the microbe stage.

How?

If there is a separate efficiency value for each organelle type that is going to be a much more nightmare scenario for the efficiency as it’s going to be multiple times less efficient and more complex to code to track efficiency separately for each organelle type.

This is exactly what I planned, just a flat percentage bonus that there is one of per cell type. That way it is super simple to store in the game data and to apply.

I suppose if it also wants to apply to the microbe stage, then storing the info on the cell type would make sense. I originally specified it to be on the species because derived statistics can be calculated in Species.OnUpdated callback, but cell types do not have that separately. So we need slightly more convoluted logic to make every species class remember to update its cell types’ derived statistics if I add the specialization factor into there.

1 Like

Slight thought update: if instead of having this calculated as a bonus, it is calculated as a free “phantom” organelles, then it would be relatively simple to inject the bonus per organelle type in the active process calculation place. And then actually just the GUI would need updating to show the bonuses in actuality.

Though, I’d need to investigate this approach to make sure there’s no unintended place where like an organelle count or active process list with partial organelles would be calculated.

1 Like

Alright, that’s another good reason to go with just one value.

If I understand you correctly then this is slightly different from the initial concept I think, but I have no problem with this functionality.

And then this would preserve having different magnitude bonuses per organelle type instead of just one uniform bonus? Could be worth to try, if you feel that investigation won’t cost an inordinate amount of time.


Another thought occurs: one of our concepts for cell adjacency is “Based on their own cell specialisation factor, cells boost the specialisation factor effect in adjacent similarly specialised cells.”

So if that’s an option we want to keep open, it’s worth considering what architecture of spell specialisation effect is easiest to connect to that.

Yes, each organelle type could have its own “speed bonus” (it would really be a phantom organelle like you’d have 2 fermentation processes but due to efficiency we would calculate as if it was 2.3 for example).

This is a very good point. And would basically totally destroy the process-adjusting method.

And I think that was actually even may be a bigger point about the specialization system?

So that would certainly hint towards needing the first one flat bonus multiplier per cell type approach.

1 Like