I’ve mentioned this topic a few times, including on the Multicellular roadmap planning thread, but I figured I should make a more systematic overview of the different options.
Background:
Lots of animals (complex but also simple ones) have large chunks of the body that are not really made up of cells. Cnidaria (yellyfish, corals, etc.) have Mesoglea, a gel-like skeleton that takes up much more space than the actual cells of the animals. Sponges have Mesohyl, which is very similar. Then you have things like shells, bones, the stony structure of corals, etc. There are also things better described as “cavities” like the coelom seen in most bilaterals (basically just body cavities in general), but also the digestive system (including “blind” guts).
Technically these kinds of topics could be left to macroscopic (where they would really become necessary). But I think there is value in adding them already in the Multicellular. For one thing, being motile on the Macroscopic scale on earth happened with animals that already had internal body cavities. Which would suggest we either already try to simulate the origin of those in Multicellular, or all life starts as pretty sessile in Macroscopic.
There are quite a few different ways these real-life features could be simulated. But to first make some more general points:
- Some of the functions I have listed (like “external shell”) can currently be approximated by giving different cell types different membrane types. From a gameplay perspective, this works fairly well. But from a scientific perspective, it is very odd, as pretty much every life form we know of has a uniform membrane/wall type across the whole organism, with some just having additions/modifications or simply things “in between” the cells. Which is why I suggested in the roadmap thread to lock membrane types in Multicellular and instead use one of the other systems proposed here.
- The systems I propose have overlaps in functionality. So the idea is to pick just one or two to implement.
- Many of these proposals would benefit from a better extracellular matrix system, to essentially bind all the cells together and fill in the gaps between them. In fact, many of the things I suggested are a form of “ECM”. But such a system is out of scope for this post, and in any case from what I understand the main limiting factor here is the requirement of a graphics programming expert on the team.
And now for the different proposals:
Membrane type variants
I only just suggested removing varying membrane types and here I go suggesting to put them back in again!
But this is slightly different: instead of fundamentally different membrane types, these represent smaller adaptations and modifications to them. When entering the Multicellular Stage, the membrane type selection would be replaced by a different set of options depending on which membrane type you had at the end of the Microbe Stage. Examples of where this fits well:
- Lignified cellulose cell walls.
- Calcified cellulose cell walls.
- Melanised chitin cell walls.
- Normal/double membranes that can’t engulf (like the vast majority of animal cells), in exchange for for example reduced osmoregulation cost.
Probably less accurately, we could also use these for more explicitly “extracellular” components like bone tissue or the arthropod-style cuticle. But in this case I would suggest we at least make the “membrane” of these cells expand much further than it normally would, so that it really fills a lot of space beyond the cell’s own parts.
Non-cell Hex Parts
These would be listed separately from cell types in the main editor screen when available. They would be placed on a hex in the same way as a cell. They can only fulfil very limited functions, but because they’re not living cells they don’t cost much upkeep. Functions could be low upkeep storage, a tough outer shell, a place to farm bacteria, a stomach or gut, etc.
Availability would depend on the cell types in your organism. For example, the binding agent would unlock “glob of extracellular matrix” (meaning this is always available in any Multicellular organism from the start) and the slime jet/mucocyst could unlock a permanent slime layer. This system could even be implemented so that you can only place these non-cell parts next to a cell that can produce them. I think that would be a fairly interesting mechanic for players, but am not sure if this would be too much work to implement.
“Area-of-Effect” cell parts
Like above, but instead of being a hex without any cell in it at all, these would be parts in a cell that make the cell “project” an area around it where the extra-cellular material is placed. The most direct visual comparison to something in-game would be how mucosysts project a slime barrier around them.
“Background” cells
This could be considered a kind of expansion to the above. Instead of only having material or effects projected around the cell, the cell itself is placed in the background, with the effect or material also applied “above” the cell. In a 2.5D style, we would disable collision with everything except terrain chunks on these cells, making them work as “stomachs”, where things can really look like they are “inside” your multicellular organism.
Obviously works the best for cavities, but would be a bit more odd for anything placed above it that is opaque.
As said before, implementing all of these mechanics is not the objective here, so here I provide a table to compare how well these different options cover real-life use cases:
: Definitely works
X: Does not really work
—: Can work, but probably a bit odd.
| Attributes: | Cell Membrane Variants | Non-cell hexes | “Area of Effect” cell parts | Background cells |
|---|---|---|---|---|
| HH’s estimated implementation weeks | — | 2 | 3 | 2 |
| Body cavity | X | — | ||
| Stomach/gut | X | — | ||
| Mesohyl/Mesoglea | — | |||
| External shell | — | — | ||
| Cuticle | — | — | ||
| Bone | — | — | ||
| Slime layer | — | — | — | |
| Fungi’s external digestion | —? | — | X | |
| Wood | X | X | ||
| Calcified cell walls | X | X |