Slime

Asking Oliver, or someone else to do the general agents system right now seems a bit unwieldy. I can see slime being enough of its own thing that even with a toxin rework it wouldn’t necessarily make sense to combine the features into the same system.

I think Buckly is referring to the agents system talk where, basically all projectiles would be removed and replaced with clouds. There was a visual proposal image in this issue as to what could be used to have dozens of different toxins represented to the user (as we’ll run out of colours):

Here’s one of the images which I’ll directly embed here just in case the github link doesn’t stay working:

I just want to avoid having too many “resources” for the player to keep up with. If everyone else feels it’s fine, I’m okay with the slime storage, we can always remove it later if it does turn out to be a bit much I suppose.

No not really, I was basically just saying it might be better to use the “oxytoxy” agents compound or to directly use glucose.

I should probably elaborate that I did not intend for that idea to be required. I was just throwing out ideas in response to your question.

Very interesting suggestion, I was actually reading about this a few weeks ago. I think the real-world analogue to what you are thinking of Oliver is Glycocalyx or Mucilage.

Few things from what I read on the subject:

  • Due to the laws of chemistry, glycocalyx must be sugar based to be sticky and viscous. So I think the best way to represent it would be to make it a substance a cell can produce but at the cost of a lot of glucose.
  • Because it is heavily sugar based, it gives a strong odour to cells who have them. This could tie in if we allow chemoreception to detect cells based on how strong of an odour they have.
  • It performs several functions in nature and would be a cool addition for gameplay.
    • A cell can produce it to coat themselves and make engulfment harder (but not impossible).
    • It does not necessarily coat the entire cell. Some cells only produce it on one particular region of their membrane.
    • It can shield a cell from environmental conditions they are not adapted to.
    • It allows cells to adhere to other cells or to surfaces. However I think glycocalyx is too thick and sticky to allow cells that stick together with it to communicate, so cells binding in this way could not form coordinated colonies. They can simply bind together to resist engulfment, or to stay together in the face of strong currents.
    • It can be evolved to be ejected in a certain direction to propel the cell in another direction (basically a glycocalyx jet or a mucilage jet)

Based off of that, we could create two different organelles/parts. I would recommend not using the name “Slime” since it is a little colloquial haha and can refer to many things. Perhaps Glycocalyx? Or Mucilage? Let’s say we called it Glycocalyx, here’s one way we could implement it.

Glycocalyx Coat

  • Requirements: Must be placed on the edge of the cell.
  • Description: Produces a sticky and viscous substance called Glycocalyx that coats the cell’s membrane. Consumes a steady rate of glucose from the cell. Can be evolved into a Glycocalyx Jet.
  • Effects:
    • Increases the weight of the cell (aka slows them down).
    • Reduces environmental penalties to the cell by up to 25% (if completely encased, it will be proportionally less for each hex of exposed membrane). This would require some way of calculating how much of the cell’s membrane is covered by mucilage coat hexes.
    • Delays engulfment by 5 seconds on any attempts to engulf this cell. If this cell is able to escape during that time, engulfment is terminated.
    • Enables the cell to adhere to surfaces (not implemented in the game yet) or other cells.

Glycocalyx Jet

  • Requirements: Must be placed on the edge of the cell.
  • Description: Produces a sticky and viscous substance called Glycocalyx, that can be ejected from the cell to propel in the opposite direction. Consumes glucose directly whenever the cell moves. Can be evolved into a Glycocalyx Coat.
  • Effects:
    • Increases speed in a certain direction, but consumes glucose directly when propelling in that direction. Leaves a trail of glycocalyx behind as the cell propels, which then slowly decays.
    • Secreted glycocalyx can be consumed for glucose by other cells. Glycocalyx slows down cells that move through it.

The strategy behind these adaptations is that it is useful for cells that produce an abundance of glucose. Any cell that is highly adapted to producing a lot of glucose can basically convert their excess glucose into protection from engulfment and the environment, or a boost to speed. However most cells will not produce an abundance of glucose and for them this mutation will often not be worth it.

EDIT: On further thought it seems like Mucilage is the most accurate name we can choose from what I am reading. Mucilage can be used to refer to the secretion produced by BOTH microorganisms and macroorganisms (like plants). So mucilage would be present as a possible adaptation (and a harvestable compound) even in multicellular and beyond. In fact even in the strategy stages, civilizations could harvest plants for mucilage as it can be used to make glue or gel or medicine.

Slime doesn’t make microbes slower, it actually makes them faster I think. Most bacteria have a thin layer of slime to aid in mobility, adhere to surfaces, and to offer protection. Some like E. Coli have an extremely thick layer of slime to nullify Acid attacks (which does slow microbes down much like cold)

I think slime jets are not correct, i think usually cells use oscillations in their slime layer to move in absence of cilia / flagellum.

Actually there is a detected form of motility amongst cells caused by the ejection of polysaccharides (aka slime/glycocalyx/mucilage, all different names for a sugar rich substance). It’s often just referred to as gliding, but one of the means by which you can “glide” is through a “jet” where you eject that substance.

Also do you know where you found that Glycocalyx makes cells faster? I think you’re just thinking about the fact that bacteria often have a glycocalyx outer layer, and are also quite fast, but I don’t think it’s the Glycocalyx that is necessarily making them faster (unless they’re ejecting it for propulsion in jet form). From what I know, if they are not physically ejecting it, its net effect would actually be to slow them down, since it’s a heavy, sticky, and viscous substance. So Oliver is correct in that it would slow down cells that move through a trail of excreted Glycocalyx.

https://www.cell.com/current-biology/fulltext/S0960-9822(07)00487-3?_returnURL=https%3A%2F%2Flinkinghub.elsevier.com%2Fretrieve%2Fpii%2FS0960982207004873%3Fshowall%3Dtrue

Hmm interesting. I just remember reading a paper explaining how many cells use waves on their slime layer to move in absence of motors, and the slime plays a big part. In that case then, i fully support this idea

1 Like

Sure, I imagined the name would have to change to something more scientific. So are we going for mucilage as the compound name?

Given the difficulties with balancing any changes to engulfment as it stands, I’m leaning quite strongly to implementing only the “jet” organelle for now - which acts as a speed boost for the cell using it and leaves a trail of mucilage that slows down all cells which move through it - and leaving the coating until later. I think it would make sense from multiple gameplay perspectives to have the jet active only when the player presses a hotkey, making this akin to a sprint button.

I’ll consolidate the implementation on my branch with this information and see what people think once it’s ready.

2 Likes

Sounds good! The only thing I would say is that many cells rely solely on mucilage jets as a form of locomotion, so I’m not sure it would be good to make it a sprint only feature. Is there a way to make jets only activate when you propel in the opposite direction to the way its placed, kind of like how flagella animate when you swim opposite to the direction they face?

From what I understand the sprint feature is meant to increase the speed of all forms of locomotion the cell has but at an increased energy cost. So like for example if a cell has a jet and flagella, sprinting would increase the speed granted by both of those while active.

Getting that closer to implementation kind of fizzled out, so unless someone picks up spearheading that feature, I doubt it will get done.

Ah okay, could help out with the design and implementation of that (once I’ve had a chance to make some progress on the MP Modifier and the Microbe Biome Ambience). My main point though is that I think it would be better to not tie the “sprint” feature to a single part, but instead make it a mode that affects all locomotion parts, something consistent with how it would likely operate in later stages.

Having slime jets and sprinting features both doesn’t seem like it would be problematic. Though the effects probably shouldn’t stack if a cell is doing both at the same time.

By the way forgot to respond in terms of Mucilage as a compound. Yeah I feel like “Mucilage” is the most accurate name to what we want, and the most comprehensive in that we can use it again in later stages.

Since mucilage is predominantly just made of complex sugar chains, I don’t think we need to create a new compound for it. We could simply make consumption of it yield glucose, and vice versa a Mucilage Jet would directly consume glucose. Also, since it’s a thick gooey complex sugar, it cannot be digested by non-adapted cells, so we could make Cellulase (from Lysosomes) a requirement to digest Mucilage (a large part of mucilage is comprised of cellulose). Which means though most cells will see mucilage trails as a nuisance, some cells can adapt towards a niche of feeding off of the mucilage trails.

In terms of representing it visually, mucilage appears as a clear gel:

It’s what you see coating the insect that has been trapped and the stalks of the plant. Would it be too much effort to implement it as a clear, viscous, gel-like trail that comes out behind the cell in game? Something like the fluid seen moving in this video?

If that would be too much effort that we don’t have the manpower to produce right now, would probably be easier to represent it via repurposing compound cloud code or the toxin cloud code for now.

I’m not really a fan of this to be honest. As a player I just like the idea of having a separate store for agents, and I can see it getting very confusing for people to constantly translate between two compounds in the environment that aren’t two compounds inside cells.

That being said, I have noticed it’s annoying that producing mucilage can sap quite a bit of glucose when you don’t want it to. I think that might be covered by a more general feature for turning agent production on and off in the environment, since oxytoxy sometimes causes the same issue (albeit with ATP instead of glucose).

I like the sound of that. The world has filled with a lot of unusable green goo in my testing so far, so a way to evolve mucilage harvesting makes sense.

While I agree it would look better as clear gel, that’s way beyond our capabilities right now. At least, it certainly is for me, and I don’t want this feature to creep up in scope until it spirals out of my control.

I think I have functionality mostly there. There are a few holes that I’ve listed in the WIP PR, most notably ejection based on slime jet orientation and integration with Auto-Evo. But as it stands, I’m having a lot of fun with it already, especially now I’ve told the AI how to use it.

I’ve discovered slime jets are just as useful for predators as they are for prey, since they open up the possibility of ambush predators that lie in wait, building up stores of mucilage, then pounce. Watch below some examples of the AI and myself fleeing and chasing.

3 Likes

Doing this off my phone so will take a better look once I have my laptop later today, but wow man looks really good so far in the demo video nice work.

Yeah I totally understand we have limited graphical manpower as of now, better to just put that on the back burner and implement it using existing textures for now.

Also yeah since you implemented it as a compound cloud I can see why it might create some confusion for players if it directly converted into glucose, though I think that would be minor. What you mentioned about it unintentionally using a lot of glucose is one reason why I was thinking it would be easier to have glucose directly translate into mucilage and vice versa. It also potentially could make it easier to design the AI to use mucilage if it can simply refer directly to its glucose level. But yeah ultimately depends on what makes gameplay feel better.

I can handle making a ‘clear gel’ emitter if that’s what we really want. Probably easier than the Thermal Shader since it’s just Alpha and Gloss. Thing is, do we have a solid idea of how it should look like?

5 Likes

Well there’s been an idea since 2014 to allow the player to pause specific organelles:

Later with the process panel, putting the pause buttons there would make sense as well:

Awesome! I can look for some reference photos later, off of the top of my head mucilage should be a viscous clear liquid, like hand sanitizer with the consistency of honey. For a long time scientists did not know that cells using mucilage jets were doing so because mucilage has no color, which is why I’m thinking it’s better to make it something that is more noticeable via its texture then by its color.

EDIT: Reference photos:

What mucilage looks like macroscopically:

Microscopically, here are clusters of algae suspended in mucilage:

2 Likes

Seems at the microscopic scale it has much more noticable refraction at the edges (easy) and that’s about it.

I can handle it.

4 Likes

Sorry for just now getting to this.

I think it was a stroke of genius to add some propulsive force to the slime ejector, one that I hadn’t thought of. I remember playing a flash game heavily inspired by Spore’s cell stage when I was a kid that had spiked enemy cells who would suddenly propel themselves at the player. The game was pretty shallow but that mechanic in itself made it incredibly fun, so I’m glad a similar function is finding itself in Thrive.

Skimming through and adding some thoughts, I can see this organelle being a prime candidate for the Modify function. We can include a slider similar to those seen in the chemoreceptor tab. Sliding it one way reduces the decay time and spread of a slime jet stream but increases the speed bonus received from ejecting slime, whereas sliding it the other way increases the spread and lengthens the time it takes for the slime to decay. The former has more aggressive uses, while the latter has more defensive uses.

I would think that the ejector of the slime should be less effected by their slime than surrounding cells. This can open up unique predatory behavior akin to a spider spinning its web, and from a gameplay perspective, I can imagine players not seeing the point of using slime if they themselves are trapped as well.

I’m going to try and finish the implementation of this over the next few days now that I have time again.

2 Likes