I’d like to add slime, a new agent, to the upcoming release. This thread is for discussing how it should function from a gameplay perspective.
My proposal is that the player or AI can evolve a new organelle, a slime secretor. This would be available to prokaryotes as well as eukaryotes, since smaller cells will be most in need of it, and there is apparently scientific basis for bacteria producing slime.
Much like the oxytoxy vacuole, if a cell has a slime secretor, it will generate a new agent compound, slime. I’m not sure what slime should be created from. Looks like bacterial slimes are generally polysaccharides which are a type of carbohydrate, so perhaps the main ingredient should be glucose? Input is very welcome here.
Slime secretors would be an external organelle. I’m imagining some kind of tube or jet thing. Players can hold down a hotkey to use ATP to release slime clouds into the environment at a steady rate, at a location dependent on how the external organelle is positioned, until their slime storage is empty.
Slime could have three main functions:
- Cells moving through slime have reduced movement speed.
- Cells moving through slime can’t engulf. In the player’s case, I’m imagining the engulf hotkey button would turn red while they’re moving through slime as a visual indicator.
- Cells expelling slime could gain a speed boost opposite to the direction of expulsion. This is based on an article posted on the forum some time ago.
One difficulty here is deciding which of the cells moving through slime are actually affected. By far the simplest implementation (I’ve already made a crude version) is to affect every cell: the cell that expelled it, cells of the same species, and others. This way, we can treat slime just like every other cloud since it affects all cells the same way.
One alternative would be to have slime only affect other species. This is significantly harder to code and could be quite confusing for the player, but would mean cells aren’t slowed immediately as they produce slime, and could lead to the start of the more involved agents system we’ve envisiged for some time. I tried implementing this by attaching a species’ hash to clouds they produce, but ran into several problems. Even more complex would be to have slime affect all cells except the individual which created the cloud.
I think on balance it’s best to have slime affect everything, but I’m willing to hear other opinions. There are acceptable workarounds to cells being affected immediately by their own slime trail (secreting further away or adding a counter-balancing speed boost when secreting, for instance).
There are two more open questions about how this should function:
- Do species moving through slime clouds collect nutrients from them? Again, this would be quite hard to implement, since either the slime compound will count as an agent once collected, or we’d need to add a special case to convert the collected compound into something else.
- What balancing effect does this have on engulfment? I initially saw this as a way to nerf engulfment, but the engulfment revamp in 0.5.9 did that pretty well (perhaps too well…) so I’m worried this could go too far. At the same time, I think this will be a very fun feature, so if necessary, it’s probably worth looking at other ways to buff engulfment to compensate.