Endosymbiotic Theory

Endosymbiotic Theory, part of Symbiogenesis, is a widely accepted theory (according to second link at bottom; “This explanation of how eukaryotic cells evolved from prokaryotic cells is the currently accepted theory in science.” Wikipedia does not comment on acceptance of the theory), and so far I haven’t heard any discussion about it. It states that things like mitochondria and chloroplasts evolved from prokaryotes. Currently mitochondria and chloroplasts are static organelles, while if this was implemented, prokaryotes would have to be engulfed by a cell and somehow survive for things like mitochondria to emerge. I want to discuss it to see if we can add it. I personally would like to see it in Thrive, which is why I’m starting this thread.
I thought it would be better to put this in Theory due to it being just a proposal. If we decide to include it in Thrive someone can start a thread in Gameplay.
I’ll give a brief gameplay example anyway:
Say the player just became a eukaryote. They would have no option to add mitochondria (or chloroplasts, chemoplasts, or nitrogen fixing plastids), so they would have to survive on proteins. Eventually they decide to engulf a prokaryote, and it survives for some reason (that we can determine in this discussion). It will still perform its processes while inside the eukaryote. For instance, if it had a metabolosome, it would be similar to a mitochondria. This would be different from just adding a metabolosome because over time the proto-mitochondria would evolve, whereas the proteins would not.
I hope I’m not duplicating another discussion somewhere.
Edit (adding a note): This could also introduce interesting things with color of chloroplasts

I think this has been already discussed somewhere. It might have been the dev discord but I’m not sure.

I like this idea and would like to see some more in depth designs for this. Though I have some concerns regarding this slowing down the microbe stage too much or making it very unpredictable / frustrating to try to unlock the kind of parts you want.

Yeah it’s a nice idea. There’s a community forum thread here with some interesting points. I know it’s a popular thing with the team.

I think most of my questions about it are gameplay related.

  • how do we teach the player that you have to engulf, for example if they get into using a pilus they might not naturally discover it. Though this probably isn’t so hard.

  • how often does an engulfed prokaryote become an endosymbiote? For example if you want to play purely as a plant is the only way to get to that point to spend a lot of time as a fast engulfment hunter to unlock the organelles?

  • when a prokaryote has been absorbed how is it different from just adding those organelles yourself? E.g. if it had 2 metabolosomes then can’t you just add those? Maybe they are more efficient which is something I guess.

  • can you edit the cells you absorb? If so aren’t you really absorbing the membranes and then retooling them to actually be what you want? For example is there any restriction on me absorbing a cell with 2 mitochondria and then replacing those, one at a time, with 2 thyloakoids so now it’s basically a chloroplast?

Anyway yeah I’d be interested to hear what ideas people have. With the ai_changes branch I’ve been trying to make hunting much harder however maybe that’s not a good idea if we want to have every Eukaryote needing to engulf.

1 Like

The biggest difference would be that the endosymbiote evolves independently, but it evolves to raise the population of your species, which includes itself. This would bring more interaction with auto-evo in. However this may not be great because that does decrease the player’s control.
An alternative would be as you said, making them more efficient because they don’t have to worry about moving around and finding food, your cell does that.

1 Like

This has in fact been discussed in depth in the past, the idea we eventually came to if i recall @tjwhale or was it @hhyyrylainen ? i hope you recall this was that at some point we want it so that when you engulf prokaryotes they become an “organelle” you can add which is more efficient than proteins. Which also allows for numerous interesting organelles that are unique ti your current game.

We also had this in previous version of thrive in 0.3.4 i think, you would have to run around gathering chloroplasts/toxin vacuoles until you randomly get the option to add them. We removed this because it was tedius and we ran into issues with the old engine.


As we know, endosymbiosis is the act of engulfing a smaller cell and rather than consuming it, letting it live in return for other functions. It is a common idea that Thrive should include this feature, but the problem yet remains as to how exactly it should be included. Below are a couple mechanics I have proposed as methods to implementing this large feature.

Proposed mechanics regarding organelles formed via endosymbiosis:

A: Premade organelles are locked until the player consumes cells that contain the required parts. Example: Player engulfs bacteria with 3 photosynthesizing components, thus unlocking the chloroplast. This solution would likely be the easiest to implement but would come at the cost of limitations on what players can become.

B: Engulfed symbiotes are added to a saved library of organelles that could possess limited slots. These organelles would behave as a clump of parts wrapped around their own membrane that can be placed anywhere in the player’s cell to provide proccesses relating to the parts within the membrane. The player can delete symbiotes from their library if none of them are currently present inside the cell.

In the case of option B, we would need a method to determine when a player engulfs a cell for endosymbiosis instead of mere predation. A couple option preposals are listed below.

A: Randomly determined chance for engulfed cells to be added to the player’s library, or perhaps a temporary section of it to allow the player to confirm they want that cell as an organelle.

B: Seperate hotkey or toggle for engulfing for symbiosis. Simpler and could eliminate potential frustration from rng but could be seen as too many buttons for just engulfing.

One problem with endosymbiosis like this might be that many cells the players encounter will be far from simple, since they could possess flagella or parts that would lead to the symbiote being an inefficient organelle. A method to overcoming this would be allowing the player to edit saved symbiotes at the cost of the cell’s limited MP. This would let the player “trim the fat” by removing unwanted parts such as excess cytoplasm or that one rustacyin mixed with the metabolosomes.
Another option could be to automatically trim down engulfed cells to whatever organelle they possessed the most of. For example; engulfing a cell with 4 nitrogenase and 1 metabolosome would result in an organelle that consist of 4 nitrogenase.

Another problem presented by endosymbiosis would be the purpose of a nucleus in terms of gameplay, as well as to specify if symbiotes become a nucleus or a mere vaccuole.

My idea for the nucleus would be to provide the player with more slots in their library for symbiotes, and potentially allow for more complex cell behaviors in the event that we allow players to modify them. This would make it make so that the nucleus is important for complex cells, but not entirely required. As for specifiying if an engulfed cell becomes a nucleus or vaccuole, perhaps we could use the amount of cytoplasm to determine function. Symbiotes that consist majorly of cytoplasm would become a nucleus, where as symbiotes that were 1 or 2 hexes would be vaccuoles. However this solution would prevent players from having massive vaccuoles if they so desired. So Ideally we would perhaps need some form of toggle.


I like B for organelles and A for engulfing.
For B for engulfing, this would probably be much too easy to get very different types of organelles.
Perhaps a fusion, where there is a separate toggle but it isn’t guaranteed to give them the things they engulf as organelles.

Instead of editing endosymbiotes, I would like it if the endosymbiote was affected by auto-evo.
So for ones with flagella, auto-evo should get rid of it since it would be useless inside another cell.
And for ones with metabolosomes + a rusticyanin, if the player never collected iron, auto-evo would ideally get rid of it.

I like your idea for the way nuclei would work, except that a large mostly-cytoplasm (or is it protoplasm that prokaryotes use?) endosymbiote would turn into one, as I don’t think that is how they are proposed to have evolved. I am also not sure vacuoles arose from endosymbiotes; I think the organelles that are mainly accepted to have arisen from endosymbiotes are mitochondria and chloroplasts.

So the player would want to even have endosymbiotes because they would be either smaller or more efficient than just the proteins by themselves. And, of course, they could add a whole endosymbiote at once (probably for less MP) instead of having to place the proteins one by one.

So for acquiring vacuoles (and perhaps the nucleus, though I might prefer a slower transition requiring several generations), they could just be they same way they are now.


One thing that hasn’t been brought up yet is that if we go for endosymbiosis, then we need to make sure that enough suitable candidates for it stick around. Because if we just let auto-evo do what it wants (once we have an algorithm for it) it can pretty quickly just make all enticing endosymbiosis targets go extinct.

This goes against the fact that the player species is not affected by auto-evo (I mean the mutations part).


I’m glad you like some of the methods I proposed, I’m not familiar with the proposed mechanism as to how nuclei have evolved but I had heard some people mentioning them possibly being a result of endosymbiosis as well.
As for your preference for auto-evo effecting a player’s symbiotes… I would never want to force a player to depend on AI for survival. Thrive was made with the player being an intelligent designer of their species, hence why the editor allows you to direct exactly what you become instead of you simply changing against your will on a whim. Many players wouldn’t likely enjoy this as they would not feel like they were in controll of their own species if it’s components started evolving on their own. So if we were to implement such a function I would like to see it being optional.


If auto-evo were disabled for player endosymbiotes, I would much prefer them being editable (they might have own mutation points, as endosymbiotes still retain their own DNA) over them being static.
For AI species endosymbiotes, I think auto-evo should still affect those.

1 Like

One thing I would like to discuss is how much better or different symbiotes will be compared to normal parts. Right now the chloroplast organelle produces 4x the amount of glucose as a single thylakoid, and is 3x the size. So after running a quick calculation I have determined that symbiote organelles will need to have a 1.3x bonus to come close to matching the size and production of the chloroplast.
Adittionally, another more complex problem might be the MP costs of symbiotes. Ideally symbiotes would have the same costs as the organelles currently present. However, this would allow the player to cheat the system by making large symbiotes to drastically change the size of their cell or make larger changes at the costs of a single normal change. So we may have to include some form of scaling MP cost or limit to symbiote size.

1 Like

I will add this one to the theoretical framework of future concepts. Bookmarking this one for further lurking/discussion.

1 Like

I have decided to take a second pass at this concept after realizing that perhaps players would appreciate more options for obtaining membrane-bound organelles.

Naturally, as discussed earlier we will need some manner of organelle editor should we choose to allow the player to customize their symbiotes. But what if the organelle editor did not require the prior engulfment of a symbiote? Perhaps it would be preferable for endosymbiosis to be a quick and preferable shortcut to obtaining organelles, that would otherwise require a slow and deliberate process of evolution via the player.

My personal idea is that should the player desire to create a membrane-bound organelle instead of finding one, they must first purchase a basic empty version of it for a price of MP. This would create an organelle consisting of a single hex of cytoplasm that could be further edited using the hypothetical organelle editor, or placed on the cell right away. From there the player could gradually build an organelles overtime instead of the relatively faster act of endosymbiosis.
It would also likely be preferable if this can only be done should the player possess a nucleus. Additionally should we not include an organelle editor, there could be a flat cost to unlock the organelles currently in the game.

Any thoughts?

Yeah, I think a full simulation of Endosymbiosis can always be added at a later stage. For now, I think just adding organelles like chloroplasts and mitochondria without having to jump through hoops (like engulfing certain kinds of foreign species cells) may be fine.

Apologies for going inactive right before this juicy discussion. Now that I see it I just wanted to pitch in my two cents.

We had actually already planned on doing Option A (preset symbiotic organelles) a while back. But of course with a changing dev team, concepts will change as well. If everyone is happy with changing to a new system that’s totally fine and I don’t want to get in the way of that. However just for the sake of discussion, here are some of the reasons we chose Option A back at the time:

  1. We felt option B added lots of complexity for little gain. New symbiotes would have multiple functions, require separate editing or not even be editable by the player (if we went with separate evolution for symbiotes), and would potentially get a little hard to figure out how to dynamically assign them an MP cost. Further, the symbiotes would end up functioning like organelles anyways but with more mixed functions. We felt it’s easier for the player when organelles have streamlined functions (Like Chloroplast → Photosynthesis), and that way we could make other aspects more complex, like proteins/agents.
  2. Organelles like mitochondria and chloroplasts are relatively well documented so they are easy to model and noticeable in a cell. For example we know that mitochondria have that stacked “cristae” structure that distinguishes them, and chloroplasts have the stacked “pancakes” as well as a green colour from the chlorophyll pigments. Dynamic symbiotes, on the other hand, would be much trickier to graphically model.
  3. Streamlining the organelles makes planning the multicellular stage easier. If you have a very clear oxygen–>energy organelle like a mitochondrion, then a player in the multicellular stage can easily create a muscle cell type by giving it a lot of mitochondria (as our own muscle cells have). Then when transitioning from 2D-3D, the game can use logic like “Cell types with a high proportion of mitochondria will be converted into muscle tissue” when converting your 2D multicellular colony into a 3D multicellular organism.

However I don’t want to pressure anyone to think that we have to choose Option A because it was the old decision. I personally prefer option A for the above reasons, but am interested on all thoughts!

1 Like

That got scrapped as early as 0.4.0 if I recall correctly. The design of collecting 3 floating vacuole things to unlock an organelle was very confusing and we had to explain that to like every single player on discord asking how to get photosynthesis (I think that was the thing needing unlocking).

Going back to Option A would need a different kind of design that doesn’t have the same problem that players don’t understand the system.

I remember the free-floating organelles (mitochondria, chloroplasts, and vacuoles) needing to be assimilated to unlock them getting scrapped, but if I remember right the plan was still for them to be unlocked via the assimilation of cells with the appropriate proteins, no? Like for example you have to assimilate a prokaryote with metabolosomes to unlock mitochondria. Maybe I am remembering wrong.

EDIT: Another suggestion at the time was, instead of endosymbiotic organelles requiring assimilation of a prokaryote, you can place them whenever but the placing the first copy would just have a very high MP cost like 100MP. However, successful assimilation of an appropriate prokaryote would give you a discount on this cost, like a prokaryote with metabolosomes reducing the MP cost of placing the first copy of a Mitochondrion by 50%. The downside of this is of course that a cell with no metabolosomes in its environment could evolve a mitochondrion.