Multicellular Roadmap Planning

I forgot to make this thread yesterday, but let’s get started on the multicellular roadmap planning.

As has been said before, I think we should be able to finish the multicellular stage this year. In order to do that we need to leverage the existing work done for the microbe stage and just focus on some key features that makes the stage feel more unique and as a suitable end for the microbial scale part of Thrive.

As such let’s use this thread to brainstorm and plan out the features for the multicellular stage.

I think most useful would be if everyone starts off by listing their ideas in brief and then we / me, collects them in a wiki post and puts in time estimates.

Roughly counting the time remaining in the year it is around 41 weeks until we would need to release 2.0. And removing from that my yearly vacation time (5 weeks), and giving a month for polishing, we are at a total of 32 weeks time available to allocate to features. Though depending on how much help I get with the features, we might have total more work hours available, but I think we should be quite conservative on how much stuff is on the roadmap as volunteer time is ever quite unpredictable. Still, I think we could add some bonus items to the roadmap based on the understanding that they will be ruthlessly skipped if I don’t have time to work on them.

@Deus plans to host another developer voice chat discussion later in this month, which would be quite a perfect time to talk through and finalize decisions on what to put on the roadmap.


Here’s a few ideas off the top of my head / placeholders that aren’t implemented:

  • Colony movement speed was not rebalanced (but rotation was). Also I kind of feel like rotation needs another pass as many body plans get like double rotation speed immediately once another cell grows, which I think is a bit silly.
  • The different reproduction modes need to be implemented as they’ve had a placeholder for a really long time in the GUI
  • We need multicellular auto-evo
  • Microbe AI might need to be smarter when it is in control of a colony
  • The end condition needs to be updated (this time before we finish the relevant stage)
  • If specialization is made into one of the core features, it needs a tutorial in multicellular
  • Specialization needs the second part: bonus from adjacent cells of the same type
5 Likes

Here’s the wiki post with a big table of all the features:

Feature Weeks to develop Help wanted
Colony movement rebalance 0.5 no
Spore reproduction mode as extension for budding 1 no
Microbe AI for sexual reproduction 1 no
Sexual reproduction 3 no
Multicellular auto-evo 8 yes
Microbe AI improvements for colony control 2 yes
AI terrain avoidance 2 yes
Moving to macroscopic condition 1 no
Tutorial for specialization 0.25 no
Adjacency bonus to specialization 1 no
Expanded cell specialisation bonus 2 no
Reproduction cell type (different from plain gamete) 1 no
(Optional) “Muscle” cells 0.5 no (but needs design)
(Optional) “Nerve” cells 0.5 no (but needs design)
(Optional) Non-cell parts 2 no
(Optional) /“area of effect" organelles 3 yes
(Optional) (Endo)symbiosis in Multicellular 0.5 no
(Bonus) Nematocyst/Cnidocyst 3 no (but needs models)
(Bonus) Light receptor cells 1 no (but needs new organelle model?)

The times to develop are rough estimates by me, and as these are a programmer’s estimates, it might be good to assume 2x for the real time to develop, but I did already try to put a bit of a buffer into the times.

And the “help wanted” column is if I really hope that someone else than me can contribute that feature. I mostly marked major systems that I have not worked on as help wanted as they would take unreasonably long of my time as I would first need to learn how that feature works and only then be able to change it.

I’m marking this as a wiki post so that everyone can append their ideas to the table, but please if you are not a programmer don’t put in the time estimate, I’ll do that instead to have at least somewhat accurate times.

5 Likes

Since this is marked as help wanted, it’d be nice if you could elaborate a bit on what you expect here. One idea I have is generally treating the colony as one organism if it’s not already like that (maybe changing the “center” of the colony to the whole colony’s rather than the lead cell’s?), but then what?

The microbe AI has always been ignored, and even now it is only in a passable state. So the AI is always a part that needs more people helping improve it. Especially once we have multicellular other species around, the AI probably needs improving a bunch so that it keeps acting sensibly.

1 Like

Do we explicitly want to keep everything in one table, or shall I include a separate table for things that I myself already consider “optional” and “bonus”?

I’m not fully sure… I was thinking that everything could be in one table for now as it’ll be easier to maybe read through it and discuss it in the meeting? Though, maybe putting like “(optional) some stuff” might be a good marker if you already think something is purely hoping that something might be included as a feature.

1 Like

EDIT: Uh, I am supposed to be able to edit that that wiki post?

After discussing with Deus yesterday, I’ve decided anything existing in “microscopic, but complex, multicellular life” is fair game. Because anything past simple colonies with at most a defined shape, is really moving towards what biologists would call “complex multicellularity”. So I suggest we explicitly ignore that many things only exist in species with many more cells than we can show, we just accept that our Multicellular species with few cells represent species with many more cells, anything sub-macroscopic.(But trying to avoid “miniaturised macroscopic life” like tardigrades)

To expand a bit (or a lot…) on what I added in the table:

In my opinion probably necessary:

  • Expanded cell specialisation bonus: Essentially, have it affect things like the speed flagellae provide. I do believe this needs to be a more core feature (rather than an optional tool to use), since it’s the main thing encouraging you to actually use the main mechanic of the Stage: different cell types. This exactly is in my opinion also a mechanic that would “leverage the existing work done for the microbe stage”.
  • AI terrain avoidance: This part of the AI in particular needs to be added because colonies/Multicellular species are going to get stuck on terrain chunks much more often.
  • Sexual reproduction: This is actually something quite separate from the “reproduction modes” we have listed (and this could honestly be back-ported to Microbe). MP discounts are a popular suggestion, but of course that does not help in the generation where you’re spending MP to evolve it in the first place. I think there’s a strong case for a bonus to all sorts of things from environmental tolerances to upkeep and speed (to represent improved short-term evolution) in return for having to find a partner every time.
  • Reproduction cell type: It seems pretty common for more complex multicellular life to have reproduction-focused cell/tissues/full-on gonads. Obviously in sexually reproducing species, these produce gametes.

Optional mechanics (many of these are quite complex, some mutually exclusive):

  • Symmetry: Choose a symmetry type that you are henceforth forced to follow, but in return any edits “copied” to follow symmetry don’t cost MP.
  • “Muscle cells”: I know myofibrils were previously removed because they seemed too complex, but some form of muscles now seem to me as something very basal. All bilateria have full-on striated muscles, and they can be found in cnidaria (jellyfish/corals) and comb jellies. So that’s all the major animals groups (macro- and microscopic) other than sponges. And even sponges do have contractile cells using action and myosin, we just don’t quite consider those to be muscles. Even some Myxozoans have them, and those are tiny.
  • Nerve cells: Same as with muscle cells really.This can also include other forms of internal signalling, like for plants.
  • Non-cell parts: Things you can place in hexes in the Multicellular editor, that are not cells, but what you can place is dependent on existing (Probably adjacent) cells. Shells, stomach cavity, fluid-filled body cavity, Mesohyl/Mesoglea, mucus layer, cuticle, gel globs, etc.
  • /“area of effect organelles”: Like above, but automatically present in the area surrounding a cell with the corresponding organelle, instead of separately placed.
  • (Endo-)symbiosis in Multicellular: IRL of course the origin of chloroplasts and mitochondria and eukaryotes was in the Microbe Stage, but some form of internal symbiosis is still very common in multicellular species. Either inside cells or inside tissues (but outside cells) or in body cavities. It just tends to be less permanent.

Explicitly bonus things:

  • Nematocyst/Cnidocyst: Powerful harpoon organelle (IRL one of these can be enough to paralyse a macroscopic organism), large and expensive. Specialising the cell holding it should really help with powering it. Could do things like damaging through several layers of cells in another multicellular organism.
  • Light receptor cells: Just need to find an actual gameplay function to not have another “luminescent vacuole”…

I want to draw particular attention to the fact that pretty much every macroscopic lifeform I can think of (that is not completely “filamentous” like fungal hyphae) has some sort of body cavity or other “internal space not completely filled by cells”, so we can seriously consider that as a requirement to advance to the Macroscopic Stage. IRL it’s probably necessary in order to allow better diffusion.

3 Likes

Uh, yes? You should be able to.

Edit: apparently are just trust level 2 on Discourse here. And by default TL 3 is needed to edit wiki posts. I just changed it so that TL 2 is enough, as I assume a bunch of developer accounts are just TL 2 on here due to the low forum activity.

1 Like

This is exactly what I had in mind when writing that reproduction modes item… So I’m not sure what you specifically thought that reproduction modes would be?

Also this was included in my different reproduction modes work item as a basically implicit prerequisite for sexual reproduction.

But it sounds like you want there to be an extra cell type on top that has to be placed in the body plan to be able to use the more advanced reproduction modes?

I think it should be pretty easy to put that organelle back to multicellular, but we need some gameplay effect designed for it first.

So rather than empty space left in the body plan, the player would need to place something to indicate a body cavity?

In terms of the code this could get really technical to implement, because right now multicellular creatures are only made up of cells. There can be nothing else except a thing that is a cell type within the body plan. So cavity parts likely would need to be represented as a “cell” type with a bunch of special handling. Another option that would be a lot easier to do would be something like a proper cell type that is just like a single vacuole or something, but obviously that would be a lot more jank than a custom different system. Though it would be way, way easier to program.

1 Like

Huh, with the current option in the drop-down menu only being “Budding”, I might have hallucinated there being more modes listed/planned, like “fragmentation” and “binary fission”. (Though we do discussed this a little bit in that Multicellular concept thread.) So the “mode of reproduction” is exactly what the next generation new-borns look like and how that happens. Which isn’t necessarily hard-linked to asexual/sexual. Lizards have the rather complicated mode of embryogenesis in eggs, but some do that asexually.

So then the “sexual/asexual switch” would by itself purely be “do you need another organism to reproduce with yes/no”.

I didn’t want to directly set that as a requirement for sexual reproduction itself, because single-celled eukaryotes do perform sexual reproduction often, so requiring a specific unique cell type just for that might stray from the established science a bit too much.

Well, I was originally thinking of very simple “gonads” C. Elegans (1000 cells, 1 mm), but to be fair those specifically produce gametes (for sexual reproduction).

Reading more today, I think I actually overestimated the importance of specialised “reproduction focused cells” (that are part of the main body). Animals like placozoans and even simple bilaterians seem to just make gametes anywhere instead of specialised places. So gamete-producing specialised cells are then I would say an optional mechanic, improving sexual reproduction.
But obviously if we have some more complex forms of reproduction like “eggs” that would require its own special factory, sexual or not.


A different matter is how we want to define sexual reproduction as a mechanic in the first place. Do we want to design gametes and then swim around as them? That does sound like a lot of work to implement.

True. And this is a bit inter-dependent with that movement speed rebalance. For example, we could make it so that as you grow larger, flagella are less effective, but muscles more so.

It would be nice if this (the cavities, at least) could be done by just leaving empty spaces, but I do not think the algorithmic method of translating editor designs to gameplay plays well with that. Both options you mention sound like two of the optional mechanics I suggested, respectively:

I know both are these are complex and a lot of work, but I want to lay out our options both simple and complex to evaluate and choose between, given that what you wrote out still adds up to ~16 out of 32 weeks. That’s exactly why I put a lot of these in (optional).

I guess a third method would be to have any fully enclosed empty space in your design automatically “filled in” with some type of matrix, but I am pretty sure that is just complex in a different way.

Yes, but if I remember right the placeholder values are:

  • Budding
  • Sexual reproduction
  • Spore (which is basically budding but just slightly bigger)

(now that I actually checked, it looks like as the option is disabled and can’t be viewed, there’s just budding on there).

But I’d argue that a spore is so similar to budding that it is easy enough to just basically put on the roadmap. Though with you mentioning those more effort requiring ones, yeah, I guess it should be made clear that those aren’t included (yet).

Hmm. So my initial impression was right? So the reproductive cell type to place, is another extra feature on top of all the other new reproduction stuff? Did I now understand that right.

This is how I imagined we were going to handle gametes in multicellular stage: your species just makes them after you’ve designed the gamete.

I was imagining that the player would need to designate a cell type as a gamete, and then you would just passively fill out a reproduction bar while in the stage and when full you could “shoot” out the gamete and hope it collides with another one of your species’ gametes (this could be made easier by having a new signalling command calling for a mate and to tell AI members of your species to release gametes).

So it would be a quite big feature (which is why I put reproduction types as requiring quite many weeks), but not extremely different in terms of gameplay (like dynamically swapping to controlling a gamete would be as we need to handle stuff like dying and going back to your original body and stuff like that).

Theoretically the new algorithm makes empty spaces more viable. But I haven’t seen people test that all that much.

That would be basically as hard as the fake “cell type” approach I described as the spots in the data structure would have to be taken up by something that the game can treat as an equivalent to a cell type.

Edit: I updated the table with new estimates and I moved most of the cost of the other reproduction types onto the sexual reproduction one as that was what I had in mind when assigning the original cost.

Some brief thoughts:

I think the most important features of the Multicellular Stage will end up being:

  • Adjacency. Makes your colony body-plan matter.
  • Specialization. Makes your individual cell plan matter.
  • Binding Cost”. Some sort of cost that increases with the count of cells, to make scaling up an actual challenge.

If these are balanced well, I think that takes care of like 70% of the Multicellular Stage. We just need to make sure that the above mechanics are balanced well, so that on Normal and Hard difficulty, they become important for progression.

Multicellular Parts

Me and Rathalos had a discussion yesterday centered on Multicellular Parts. I’m going to post something soon about it (and Rathalos will likely have his own ideas surrounding the topic), but the basic premise is that they can represent “roots” of what will eventually become organ system functions.

I think that’s one more topic that might represent a new area of work for the stage we should discuss. But I don’t think it should be too much of a lift, interacting with existing (or already to be implemented) stage mechanics rather than introducing completely new ones.

Reproduction

Part of me is tempted to just say “if we have sexual reproduction that’s good enough”, but there seems to be enthusiasm and will behind discussions on the forums, so we can definitely expand here.

Should we go for:

  • One form of asexual reproduction (budding)
  • One form of sexual reproduction that is representative of future, complex multicellular organisms
  • One form of reproduction that can be both sexual and asexual (spores)?

Reproduction is a bit of a tough topic to discuss - partially because of my own unfamiliarity with the topic, and partially because it seems that oogamy is particularly dominant in complex lifeforms - so it’s tough to understand exactly what would be “binding” when you get to the macroscopic stages. As well as how reproduction strategies could be altered in the macroscopic stage.

Depends on the exact details but this sounds like a relatively simple feature, 1-2 weeks time cost.

I was thinking that asexual reproduction wouldn’t be a separate thing in the multicellular stage, mainly because it is kind of the “default” method, even if technically it is not a method by itself but a modifier that applies on top. But I don’t really want to get into the situation where if we have 3 methods and asexual toggle we end up with 3*2 = 6 combinations. So it gets out of hand very fast.