With the end of development switching to Macroscopic rapidly approaching, I want to tackle a specific topic: translating Multicellular species to Macroscopic species. While we have a pretty feature-complete Multicellular Editor and an in-depth concept for the Macroscopic Editor, they have quite some differences between them, and perhaps even points where they are in conflict. So, once we start implementing more features and restrictions in the Macroscopic Editor, no matter what those actually end up being, I think it will be good to have some plans for how to convert things.
General Concept
I think we are in principle able to take every aspect of a Multicellular species and translate it to the initial Macroscopic design. The fact that the Stages have different mechanics does not preclude that, it just means that while x translates to X, y might translate to Z. We also want most things to still be evolvable in the Macroscopic Stage. So when a trait carries over, you can consider it an “early unlock” and a head start on that trait, but it should still be possible to be unlocked afterwards, albeit more expensive.
As an example: In Multicellular, the Axon organelle boosts movement organelles in the whole organism. But things are translated when entering Macroscopic: If none of your cells have axons, you start with no nervous system. If you have one cell of a multifunctional cell type that also has an axon, then you start with a “basic” nervous system of a small size. If you have several cells of a cell type that is specialised in just handling the axon, then you start with a more advanced nervous system that also already has significant investment in its size.
I have discussed each attribute of a Multicellular species separately below. Of course, the specifics depend a lot on how Macroscopic mechanics are implemented exactly, but I have relied on the Macroscopic Editor concept, and hope that most of this will be applicable.
Cells to metaballs
The default structure of a Macroscopic species is expected to be a bilaterally symmetrical one, with a single “chain” of connected metaballs running from front to back. If we have more symmetry types, that will likely just mean more of these axes. Metaballs attached to the sides of this chain are appendages, and later on limbs. This immediately conflicts with how the Multicellular design (and the current translation of it to Macroscopic) works, since it is made up of a 2D sheet of nodes, where nodes to the side of the middle one can be something completely different.
My proposal for this is that each row of the Multicellular hex design is converted into one metaball for the initial Macroscopic design. That metaball is stretched in width depending on how many cells there are in that row. Any properties of that metaball depend on the properties of the cells in total. So, a row with chloroplasts, actomyosin and pili in it would turn into a wide metaball that has muscle characteristics, performs photosynthesis and does damage on contact. But how much the metaball contributes to each of those depends on how effective those cells were, and what their relative abundance in this row was.
This preserves the shape of the original organism and the function of its cells (both in an absolute sense as in relation to parts of the body), while still meeting the design goals of the Multicellular editor.
Membrane types to Tissue properties
Membrane types should have a fundamental effect on how the species works, or at least on its starting metaballs.
- Rigidity, or the ability for the tissue to flex in any way. (this was not explicitly in the macroscopic editor concept, but I think it is reasonable to have). The membrane rigidity slider can also affect this.
- Normal and Double: very flexible.
- Calcium Carbonate and Silicate: Entirely rigid, like a rock. Compare with coral, but without the soft bits that coral has. Considering the physical nature of rock here, the membrane slider should affect the flexibility much, if at all.
- Cellulose and Chitin: Intermediate between the above two. The slider can affect rigidity a lot here.
- Damage Resistances: I think this is more straightforward, assuming the Macroscopic Stage has a similar damage resistance system. I do think the cell’s HP should be integrated into the damage resistance numbers, because the actual Macroscopic Species’ HP should be based on other things.
- Microbe Absorption: Te ability to absorb nutrients from microbe clouds/mats by moving into them. Normal and Double enable this, the Cell Wall types do not.
- Compound Absorption: The Macroscopic Stage will still have some mechanic for absorbing small compounds from the environment. Membrane stats can directly translate to this.
Organelles to metaball properties and available tissues
Personally, I believe that all the cell parts we have in the Microbe and Multicellular Stages should translate to some function in the Macroscopic Stage. I also believe this is doable. It does not have to be the exact same function (it might even be more interesting if it is somewhat), and multiple cell parts might translate to the same thing. But everything should do something.
- Processes: should mostly translate into Macroscopic metabolisms. Things like photosynthesis and chemosynthesis are of course fairly easily ported since they add up across the organism. Anything that produces ATP is a bit trickier since that’s local. We might be able to ignore it as long as cells don’t have an ATP shortage, or it could translate to sprinting ability.
- Environmental tolerance effects: These should be easy to transfer, assuming the Macroscopic tolerance system is still somewhat similar.
- Storage: Can pretty directly translate to Storage attribute of metaballs.
- Flagella and Cilia: should convert into a “skin type/feature” that provides some mobility based on the surface area.
- Flagellum length: If the skind feature can have settings, than this would similarly translate to the initial setting of “cilium length”.
- Pulling Cilia: Can enhance microbe absorption if it is enabled at all.
- Pili: Provides some contact Microbe Absorption ability, even if the membrane type does not. (this is based on the Thrive gameplay implementation of pili, which is quite different from what they are IRL)
- Actomyosin: Should become “muscle tissue.”
- Axon: Should become “nerve tissue,” possibly as part of a nervous system capacity organ system.
- Toxisome/Toxin vacuole: Translates to a new toxin system. Most likely should me limited to the “when you get eaten” or “contact” type of toxin deployment. If there are damaging toxin types selected, this should also have some Microbe Absorption ability.
- Signalling Agent: Improves the internal organisation system (hormone system?), if we have such a thing in Macroscopic. (I believe communication with different individuals of your species should be a more advanced unlock).
- Chemoreceptor: Better chemoreception. (the most basic sense in Macroscopic)
- Lysosome: Needs to translate to a new digestion system.
- Bioluminescent Vacuole: Besides the tolerance effects mentioned before, this would be producing light, which might have more relevance once vision becomes a thing.
- Slime Jet: Ability to adhere to surfaces. A defensive mucus layer. (skin feature?)
- Mucocyst: Stronger defensive mucus.
A note on different possible Macroscopic Editor designs
There is still some debate on whether we want to keep cell designs around during the Macroscopic/Aware Stages, or keep track of what tissues your species has available in some other way. I believe everything I wrote here can work for either system. Either drawing metaball stats from celltypes is an ongoing system, or it is run only once during the transition from Multicellular to Macroscopic.
Growth Order
This one is I think the exception to my rule of “everything translates to something.” While there’s a lot of potential for life stages, larvae, etc. I am going to assume that at least initially, juveniles will be implemented as mini-versions of the adults. In that case, there is no “order” different things grow in in the Macroscopic Stage.
Reproduction
Side-note
Writing this part has made me realise that the “minimum size in Macroscopic is 1 mm” fact has an additional dimension to it. If that’s the minimum size we can simulate and we want adults to be larger than juveniles, that automatically means the initial adults have to be significantly larger than 1mm.
I believe right now there is a consensus that at least sexual or sporulation will be required to advance to Macroscopic? If so, then both of those options would transfer over quite easily, with them both being implemented as “tiny ball, transforms into mini version of adult”. The difference would again just be if you need to track down a mate first.
Optionally, if we were to include “mass budding” as an option, it would directly spawn you as a mini-adult adjacent to an adult, instead of an “egg” by itself.
Behaviour
As far as I can tell, all the behaviour sliders seem like they would still be relevant in the Macroscopic Stage, so I propose we just continue to carry them over directly as we do now.
There’s one important point of discussion though. In the Microbe and Multicellular Stages so far, pretty much all species are actively responding to their environment, chasing, running away, etc. I believe only “max Peaceful Sessile + Brave” might just not respond to anything at all? I think this works fine for those Stages. But once we are in Macroscopic, the world should gradually become full of life that does not move or respond at all. There are plants/macro-algae of course, and sessile animals. And most of our current behaviour system directly relates to movement.
An important factor here is the nervous system. You have neuron-less animals like sponges which some people have pointed out do move, but I have to add that this is in mm per day. While among animals with neurons even the tiniest worms or animals notorious for being slow, like snail, they move closer to mm per second.
So, do we just want to disable the behaviour sliders and most AI for anything that does not have any nervous system? I think at the same disabling intentional movement for the player would make sense. This at least would mark a very definitive marker to decide what species we treat as active versus not active. The one reason I think this can work without too much player frustration is because even if you enter the Macroscopic Stage without any Axon cells, you should be able to create a basic one before you leave the editor.
Environmental Tolerances
One reason I proposed to change how some tolerances work (and made a prototype for that) is that once implemented, I think we can also directly port this over. As far as I can tell, excluding later developments like air pockets and massive sizes, when you look at “what average exterior pressure and temperature can this species perform reasonable well in (not just survive until you bring them back to their preferred environmen)” single-celled and multicellular species aren’t acutally that different.
The main concern would be to make sure that environmental effects from organelles are carried over to metaball/species properties in a way that ensures roughly the same outcome.