Phagocytosis Size Trait

Similar to the Mutation Point Modifier, there is another hidden piece of information that I think could greatly expand gameplay if we show it to the player and allow it to be affected by different mutations. I’ll call this the Phagocytosis Size trait of a cell (or should we call it Engulfment Size?).

Phagocytosis Size represents what’s the maximum size prey you can engulf, as a percentage of your own size. Basically, the current mechanic is that the player can engulf any cell that is <100% the size of their cell (aka equal to their total number of hexes minus one). However, this is not shown as a number anywhere. Instead it’s just told to the player that they can always engulf anything smaller than them in hex count, unless they have a mutation that prevents engulfing. I think we could make this an actual displayed trait and allow it to be affected by several mutations. Here is an idea on what it would look like:

  • By default, all cells start with a Phagocytosis Size of 80%. This means they can engulf any cell that is up to 80% of their size. In brackets beside this would be the number of hexes that translates to. So if my cell is 5 hexes large, I would see the trait show 80% (4).
  • The typical route of increasing the maximum size of what you can engulf stays the same, which is to get bigger, which keeps the 80% number as is but increases the number in the brackets (the max number of hexes of the prey cell).
  • However, we would now make some mutations allow this percentage to increase or decrease:
    • Increasing the fluidity of your membrane increases the Phagocytosis Size from 80% up to 100%.
    • Further mutations could perhaps allow a cell to even evolve a Phagocytosis Size above 100% to like 110% or 120%, since the cell evolves the ability to extend and wrap around the prey cell. This could be something like large projections of membrane of the cell (i.e. like tentacles) which wrap around prey to help with engulfing them. Although this sounds made up this is something that actually does occur in nature amongst microbes.
    • IMPORTANT NOTE: Cells receive a penalty to their Phagocytosis Size if they place organelles that cover their membrane. So for example if a cell has half of its exterior covered in cilia (or mucilage, flagella, etc.), then he gets a 50% penalty to his Phagocytosis Size, reducing it from 80% to 40%.
    • In a similar vein, evolving more rigid membranes does not immediately disable engulfing, it simply lowers the Phagocytosis Size percentage. A simple cell wall reduces Phagocytosis Size to 35%, a chitinous cell wall down to 15%, and only a mineralized silicate cell wall down to 5-0% (one of the few cases where you truly cannot engulf anything). This means that really large cells with cell walls could still engulf really small prokaryotes, but nothing bigger.
  • Having such a trait also gives purpose to specialized “Phagocytotic” cells in your colony when you reach multicellular, that can be specialized to have a really high Phagocytosis Size to enable your colony to engulf larger prey.

One way we could use math to calculate the Phagocytosis Size is that every membrane covering has a certain innate Phagocytosis Size trait. Normal membrane is 80%. Standard cell walls are 35%, external structures like cilia and flagella are 0%. To calculate the Phagocytosis Size of the cell you take an average of the Phagocytosis Size of all external hexes of the cell:

  • Let’s say we have a cell with 10 external hexes, and no external structures like cilia or flagella. Then his Phagocytosis Size would be 80% * 10/10 → 80%.
  • Now let’s say we have a similar cell but 2 hexes on the back have flagella on them. The resulting Phagocytosis Size would be (80% * 8/10) + (0% * 2/10) → 64%.
  • Now let’s say the same cell with 2 flagella on the back evolves a cell wall. I know that’s not possible but let’s just use it for demonstration purposes. The calculation would be: (35% * 8/10) + (0% * 2/10) → 28%.

If we agree that such a feature would improve gameplay, I imagine it would be a relatively simple feature to implement. As with the Mutation Point Modifier, I don’t have the dev environment set up on my laptop yet so I could not immediately tackle this task, but if no one else does I could get to it in the future.

One issue immediately comes to mind to me: the player doesn’t actually know how big the other cells in the game are, so showing the size they can engulf is not actually very useful.

I saw a recent idea on the community forums that showing in the hover panel whether the player is big enough to potentially engulf a cell or not would be a more helpful feature.

2 Likes

Yeah that’s true, and I like that suggestion that hovering over a cell should show something like “Can be engulfed” or “Can be phagocytosed” in the Hover Panel.

I don’t think that issue should prevent this feature however, since I think a big part of this feature is enabling mutations to affect your Phagocytosis Size. I think replacing the binary “Can or cannot engulf” with a percent based system would greatly expand gameplay and also add depth to cell design. It would basically enable a spectrum of cells in terms of engulfment ability, with several different ways of increasing or decreasing the size of what you can engulf.

For example, a cell that wants to optimize engulfing large prey would want to evolve only a single large flagellum at their back, and prefer to upgrade that to be more efficient than to place further flagella, since they will want to keep as much membrane exposed as possible to maximize their Phagocytosis Size. On the other hand, a cell that wants to optimize towards engulfing small prey could completely cover themselves in cilia, and just leave 3-4 exposed membrane hexes which are used to engulf the prey. This also makes it possible for eukaryotic plants to evolve, since historically our best theory is that a proto-plant cell with a cell wall engulfed a prokaryote capable of photosynthesis, which is what created the first chloroplast, and in our current system cell walls prevent engulfment entirely.

1 Like

The degree of complicatedness with which we might implement this may be up for debate. But the part about how chloroplasts most likely evolved is a very strong argument for at least providing microbes with cellulose/chitin walls with a limited engulfment ability down the line.

1 Like

Yes definitely. Honestly I think even this approach could be done in a pretty uncomplicated way, I think I just explained it poorly.

Basically Engulfment Size already exists (its locked at 99%), we would just make it visible and allow things to influence it. Each membrane type would have a certain Engulfment Size number it grants, with more rigid membranes offering a smaller number (and perhaps silicate cell walls being the only one that fully disables it through a trait of 0% because the cell’s coating is actually mineralized). Finally, placing external organelles would give a small penalty to the final number, depending on how much of the membrane they cover (we can choose however we want to calculate this).

Here’s a concept of what it could look like:

Ignore the fact that the cell on screen doesn’t match the description in the tooltip. Basically it would just be a single percentage (and hex count beside it) the player needs to quickly look at in the Organism Stats panel. They can hover over it to see what it means, how it’s calculated, and what factors change it. We could also perhaps include a quick scientific description at the bottom of the tooltip in a fainter grey text like we do in the organelle tooltips, on why cells have differing engulfment abilities.

This could also help give us a tool to realistically differentiate the different membrane types, since I know Buckly has had some trouble finding ways of differing the stats of the membranes in a way to make them feel different.

Where did you get that number? As far as I know you need to be 1.5 times the engulf size of whatever you want to eat.

There’s this constant in the game:

    /// <summary>
    ///   The minimum size ratio between a cell and a possible engulfing victim.
    /// </summary>
    public const float ENGULF_SIZE_RATIO_REQ = 1.5f;

Hex count is not really accurate as bacteria have hexes but they count for 50% less size.

1 Like

Ahhh I did not know that, okay that’s good to know. So in terms of how I described Engulfment Size, that’s equivalent to all cells currently having an Engulfment Size of 67%.

Oh interesting, also did not know that. Was that done for balancing reasons?

That does seem a little counter-intuitive to me, I feel like engulfment size should look purely at raw hex count cause it’s a purely physical question whether one cell can engulf another. If support for the Engulfment Size mechanic is there, I would recommend removing that prokaryote modifier and finding another way to make it easier for eukaryotes to engulf prokaryotes.

Well bacteria is visually also scaled down 50%. That’s because bacteria cells are much smaller than eukaryotes in real life, so we added that for extra realism. Though I think we took some liberties there as eukaryotes are actually maybe multiple times larger, but for displaying everything in the game we went with just 50% bigger.

That would be confusing as a tiny looking bacteria might engulf the player even though the player is visually much bigger.

2 Likes

Ahhh okay did not know about the visual scale-down as well. Hmm that is tricky then, since your Engulfment Size could not cleanly translate into a number of hexes then.

Perhaps a better design then would be to leave Engulfment Size as a percentage only, and then introduce a sentence in the Help Tooltip (when you hover over a cell) that tells you whether or not it can be engulfed?

I think that would be the most useful thing to show to the player. Only people who have played through the game multiple times would start to correlate the engulf size shown in the editor as to whether they can engulf corpse chunks or iron chunks, so it would be useless info for 95% of the players to show in the editor.

1 Like

Ok sounds good. If there is enough support for this feature, I could add it to my plate of things to work on for the next release.

Plus, if we do implement such a feature, I think it lays a good groundwork for implementing a proper Endosymbiosis system next (which I have some ideas on and could help implement).

2 Likes

Isn‘t that what this feature would be for? Just add a „+ 50% Eukaryotic Organism“ modifier. If anything it would be great if we can have an additional avenue of communicating this difference between procaryotes and eukaryotes to the player.
But yeah, just telling the player what he can or cannot engulf should suffice.

Not exactly, because Phagocytosis Size is YOUR ability to eat others. It represents the largest possible prey you can eat as a percentage of your size, so it’s hard to factor in whether or not the prey is a prokaryote in that number. If that prokaryote size modifier didn’t exist, it would be very easy cause you could just translate that percentage directly into a number of hexes, and in an ideal world we wouldn’t have to have that modifier cause the game would be built in such a way to keep prokaryotes smaller.

Do people support removing that 50% size and scale modifier of prokaryotes and finding a more natural way to keep them smaller? I get it will feel more elegant but it may be a lot of work for little gain.

Otherwise, we could potentially show the hex count like this?

A little sloppy compared to the previous concept, but the best I can think of (and at least it’s something).

EDIT: Perhaps it’s better to rename Phagocytosis Size to Phagocytosis Ability? To make it clear that its your ability to engulf, not how large you are for determining whether others can eat you.

Isn’t that a bit overthinking it. The engulfment size should be shown just as the engulfing size property of the microbe. That already takes into account the fact that it is multiplied by 0.5 for bacteria. So that number is actually the real thing that affects gameplay. Might as well just show it to the player. To me it seems just extra confusing to try to show the hex size for some reason, as that also doesn’t tell the player anything about how many hexes a small iron chunk counts as for example.

1 Like

Yeah true iron chunks means there are non hex based things you’re eating as well, so I think the tooltip showing you whether something is phagocytosable is the best approach.

By the way I think it’s better to rename phagocytosis size to phagocytosis ability just to clarify that it’s referring to the “offensive” eating ability, and not to your “defensive” size.

Well in the code it is used for both, so without refactoring the code the two sizes can’t be different.

Oh it is? So for example if I am a eukaryote of 10 hexes, my “defensive” size is 10. But what I can eat, my “offensive” phagocytosis ability is 6.7 hexes no (assuming the target is a eukaryote)? So don’t the values differ?

No, both sizes are 10* 0.5=5 so in terms of what you can engulf and what can engulf you make sense.
I realized today that we already have the size display in the editor which might be showing the number of hexes currently, changing that to show the actual (scaled) size would be a pretty easy change I think, which would already show your engulfing capability.

1 Like