Reproduction System Overhaul

One of our planned features is an update of the reproductive system, so I’m going to tackle that right now.

A lot of what I say may and probably has been covered in other discussions, especially those on the CPA system. I haven’t followed CPA discussions as closely as other topics, so please fill me in if I start going on a branch that has already been discussed.

Currently, cells accumulate a fictional compound called Reproductase to reproduce. Once a cell has 5, bam, it splits, and then the player can enter the editor.

This is the first thing to change. The cell shouldn’t reproduce until the player clicks the reproduce button. Also, the player should first enter the editor and make their changes, and then the cell should split after they return to the game.

More importantly though, we want to do away with Reproductase altogether. We’re still going to follow the concept of gathering certain compounds to a certain threshold in order to reproduce, but it will be different compounds and a different (possibly dynamic) threshold.

Reproductive Cost (R)

Consider every cell a big network of compounds attached together. We can count these compounds, and thus find out how many you need to make a perfect replica of the cell.

Speaking of compounds, we will have to introduce some new ones that aren’t in the game yet, and finally create some purpose for amino acids!

All organelles are composed of amino acids, fatty acids, nucleic acids. Later, we can decide whether it’s more accurate for a mitochondria to be composed of proteins than amino acids, but for the time being we’ll just use amino acids, fatty acids, and nucleic acids for this discussion.

For easy reference, we’ll call them AA’s, FA’s, and NA’s.

  1. Organelles like mitochondria and chloroplasts are composed of AA’s and FA’s. We will need to define exactly how many AA’s and FA’s each organelle is composed of. Upgrading organelles can change the composition. For example, upgrading a mitochondrion to have more folds increases the ATP produced from glucose, but also increases the amount of AA’s and FA’s to build it.

  2. The membrane is composed of AA’s and FA’s.

  3. The nucleus and surrounding organelles (the nucleic core) are composed of AA’s and FA’s. The DNA in the nucleus is composed of NA’s, but since we don’t simulate the DNA, we can just add in the amount of NA’s to the composition of the nucleus.

Thus, we can see that your cell has a total amount of compounds that it is comprised of. This sum of AA’s, FA’s, and NA’s is basically the “price” of your cell. If you want to “buy” another cell, you’ve got to pay the “price”. In terms of Thrive, this means stockpiling AA’s, FA’s, and NA’s. This price will be referred to as the Reproductive Cost or Reproductive Price of your cell, which we will denote as R. Note that although R is one number, it’s a sum of different numbers, and you can’t build a cell by filling a deficit of AA’s with excess FA’s. You need exactly as many AA’s, FA’s, and NA’s as are needed.

To anyone familiar with the CPA system, please let me know if there is already a variable for this, and I’ll change it to that to avoid confusion, because I know that R is basically Locked Compounds.

When in the editor, it would be good if we could have a display of R somewhere on the UI, ideally broken down to show exactly how many AA’s, FA’s, and NA’s.

Also, I realize that cell walls are made of sugar, so sugars can be part of that cost as well.


Now it’s time to make some design decisions. There are two proposed methods for how to reproduce:

Plan A:
The cell gathers the necessary compounds in its storage, until it has gathered at least as many AA’s, FA’s, and NA’s as are needed, if not more. Once the player has enough of these three compounds, they can click the reproduce button, and they enter the editor. After making changes, they return to the game, and the cell then “spends” those compounds to replicate itself. Both new cells now have the changes applied to them.

This plan is simple, straightforward, and has an easy to understand threshold. The drawback I can think of is, say your R was 100, but then you make changes to your cell (e.g. Adding cytoplasm) which causes the R to increase to, say, 150. Then two new cells are created from the replication, with these changes (and thus comprised of 150 compounds each). Does it make sense that you only spent 100 compounds to build a 150 compound cell?

Here’s another proposed method.

Plan B:
The cell gathers the necessary compounds, but they do not go into its storage. Rather, when a cell produces AA’s, or FA’s, it uses them to grow in size. NA’s are an exception, because your DNA does not change. Your NA’s still need to be collected and stored until you enough to make a second copy of your DNA for replication. You can then reproduce once your cell has reached at least double its original size and stored at least 2x its original amount of NA’s. When you reproduce, each daughter cell is half the size of the mother cell, and has half as many compounds in its membrane, nucleus, organelles, and DNA.

This plan is much more realistic, but also creates a problem for CPA calculations. How do you gauge the fitness of a cell that varies over its lifespan in size. Also, as a cell’s size changes, doesn’t that mean we need to recalculate absorption rate, storage space, processing power, etc?

Plan C:
Same as Plan B, but you can replicate at any time. The drawback to reproducing before you’ve doubled your size is that the daughter cells are now much smaller and less likely to survive.

This plan is also more realistic, but there is no more threshold that the player must reach to reproduce (unless we put a basic minimum).

Which of these methods should we use?
If not, what methods would you propose?

Reaching Reproduction

Another important question to answer is how the player reaches the ability to reproduce. Given this definition, it is purely by gaining a certain threshold of certain compounds.

The following points use the processes listed on the last post on this thread as reference:

Where will the player get AA’s from? AA’s are produced by the cell from ammonia, and ammonia can be gathered from the environment. Ammonia will often be produced by nitrogen-fixing bacteria. AA’s can also leave your cell if you expel

Where will FA’s come from? FA’s are produced by the cell in the presence of very high amounts of pyruvate (look at the last post on this thread, and pyruvate is produced from glucose, which can be gathered from the environment.

Where will NA’s come from? NA’s are produced by the cell from AA’s and glucose, which ultimately comes from ammonia and glucose, which can both be gathered from the environment.

So basically, glucose and ammonia are the two compounds that cells must gather in order to produce the AA’s, FA’s, and NA’s needed for reproduction.

There is one unanswered question after all of this:
Should there also be an ATP cost to reproduction, and if so, how will we calculate it?


I vote plan A

On a somewhat related note - Since the membrane and organelles are made using amino acids and fatty acids, could there be a certain priority to where these acids are allocated? Currently there’s no way to actually recover from any damage done to the cell. Now I’m not sure how realistic it is for a cell to heal, but as it stands, if you take too much damage there really isn’t anything you can do but wait for death and that’s not really fun :confused:

This would cause amino acids and fatty acids to only go into increasing size when you’re at full health.

EDIT: I have been told that microbes do indeed heal.


Yes, they will definitely be part of healing, but that’s something to save for a more in-depth discussion of revamping the health system.

Also, to anyone reading the thread (especially those who didn’t read the OP because of the weird format), it’s now fixed, so please give it a read.

Here’s what the current GDD concept says about player reproduction:

I think this matches option A - a cell gathers compounds until a threshold for each compound based on the construction requirements for all organelles is reached, then the player can choose when to enter the editor. We mentioned the compound deficit before and decided the CPA system could correct for compound imbalances. If we want something more accurate, we could come up with an “average” amount of compounds added during a mutation (based on 100 MP) and add that to the required numbers. It won’t be hugely accurate, but it should be a bit closer than creating compounds from thin air.

1 Like

So the way it works currently in the CPA is that the microbe has a locked bin. The microbe continually moves compounds to the locked bin in proportion to what it is composed of (the sum of all the AA’s, FA’s and NA’s that comprise it’s organelles). This represents compounds which are still in the species but which can no longer be used by the processes, once they are committed they are locked until the cell dies. The population is then the amount of compounds in the locked bin divided by the amount of those compounds it takes to make 1 member of the species (and therefore the population can be a float like 57.062 which is somewhat non physical).

Therefore it might make sense to have the same system for the individual cell. There could be a locked bin for your individual which slowly fills up over time. Once it is full enough the microbe can split. Also the cell could have a “damage” bin which is filled preferentially to the locked bin. So when you take damage the damage bin is emptied and the microbe needs to fill it before it can continue storing up compounds to reproduce.

Moreover storing things in the free compounds stores is a bit complicated because the way we just rejigged the compound processing means a compound will only be made if the microbe is low on it. This means to convince it to make more it’s a good idea to take some out and put it in the locked bin and then it will be low and start producing more.

Anyway yeah any of your options would work with this system. The cell could be shown growing bigger or there could just be a bar which represents the locked bin. Growing bigger is quite a neat way of representing it.

If cells changing size over their lifespan does not cause problems for CPA, I’ll vote for B or C.

However, we’d have to recalculate several factors as it grows.

  1. The cell, as it changes size, will increase in surface area, and thus the absorption rate of the cell needs to be recalculated every time it gets bigger or smaller.
  2. For engulfment, the size has to be recalculated every time it grows bigger because it might gain the ability to engulf previously unengulfable cells.
  3. Do we make all the organelles also increase in size as the cell grows? If yes, then every time the cell grows or shrinks we need to recalculate the processing power of organelles like the mitochondria, and storage space of organelles like the vacuoles. Also, is it very realistic for organelles to grow in size as the cell grows?
    If no, then we could make the nucleus and other organelles stay the same size, so that only the membrane expands. This solves any complications with having the organelles grow too. However, in this case, the cell would have to store all of its extra AA’s and FA’s that it’s going to use to build the new cell in its membrane, so it won’t need to just double in size, it would have to at least triple or quadruple.
  4. As it changes size, it also changes the drag it experiences swimming through the water (For when we implement this feature).

Well of course if you’re doubling your mass then that means something like doubling your volume (assuming constant density) which means you get ~25% longer and ~25% wider so we’re really not talking about anything vast.

Hmm, I’m trying to work out how to present this system in a way that’s least confusing to a new player because you’ve just added 3 new variables that the player needs to learn and consider.
now from a new players point of view plan A is the best followed by plan B & C because its the easiest to learn, now while you can argue its unrealistic all reproducing proves is that you have make a successful version of your cell and really multiple generations have passed after the fact to your new design not just the one, assuming its instant is unrealistic. that said the others are fine its just that when does a new player know when they should split?
just consider two things when choosing what system you want to use: does it add anything to the game? and is it engaging? (or the most engaging)

Some thoughts: when you leave the editor, you’re playing as a new cell of a new species after a few million years, which I think answers one of your questions. When you reproduce, you’re proving that your species is at least somewhat viable, and are not actually creating a cell of the new species. Imo we should have certain organelles grow bigger and certain organelles split as you grow. The rest of this discussion is basically a rehash of the cpa plan - conveniently convergent :stuck_out_tongue:

I was thinking the exact same thing as moopli. If you have a certain number of compounds, you spawn a new mitochondria as this keeps going until you have double of all organelles except the nucleus. This will also allow you to divide even if you are not ready with your new cell having half of all organelles in your species before you divided rounded down.

I think this also fit very nicely with the concept of locked bins. Once you “spawn” an additional organelle, you are no longer able to use those fatty acids/whatever, but before you have enough, they are simply stored in your vacuoles and can be used for anything (organelle repairs, ejected in favor of other compounds, broken down for energy).

1 Like

In that case, this is my proposed model of how this should work (thanks to tjwhale for the “Growth Mode” idea, which is exactly like the growth phase of the cell cycle and ties this together very well). This is just so that we have a concrete model in place that ties everything together and that resolves all of the aforementioned problems. Then, we can alter specific parts of it (like whether there should be a min. size cap before reproducing).

Let’s say you start the game controlling your heterotrophic cell (with no agent capabilities) which is starting at what we’ll call it’s standard size. However, what we care about more than size is it’s “price” in compounds, or R. Rstandard is the amount of compounds (AA’s, FA’s, and NA’s) that you are composed of at standard size. You start with Growth Mode turned off (Let’s call this Survival Mode). Since you are not in growth mode, your cell will absorb glucose to keep producing energy. It may pick up ammonia as well. However, the key point is that it will only produce fatty or amino acids if there is damage to the organelles or membrane that needs to be healed (and if somehow damage was done to your DNA, then it would produce nucleic acids as well). The cell will always, in any mode, heal itself automatically.

While playing in survival mode, you basically only need to worry about glucose. Get more glucose, and you’ll make more ATP. If you take some damage, gather some ammonia and make yourself some amino and fatty acids (yes I realize fatty acids only need glucose) to heal the damage. Your cell will not produce any additional amino or fatty acids, and will certainly not create amino and fatty acids to “lock away”, or in other words, to grow your cell.

However, once you’ve reached a state where you have lots of ATP, plenty of glucose in your vacuoles, and you don’t see any predators around, you decide to hit whatever hotkey to enter Growth Mode. In Growth Mode, your cell will continue to produce amino and fatty acids where necessary to heal damage, but will also produce those to start growing your cell. This growth is primarily through the expansion of the membrane. Organelles, may expand and/or split during Growth Mode as well. Once you turn off Growth Mode, your cell will stop producing these acids to grow, but will also not take back any of the compounds you invested in growing, so you will now be set in your new size.

While playing in growth mode, the only extra variable you need to worry about is ammonia, and where to get it (because, as outlined in the OP, AA’s, FA’s, and NA’s can all be produced from glucose and ammonia).

Once you have doubled your R, to reach 2*Rstandard, your cell stops producing amino and fatty acids (for growth), and your cell stops growing. You might not necessarily be twice as large in size as when you started. Your cell now starts producing nucleic acids to make a second copy of your DNA. In theory, your cell is replicating its DNA. In-game, this is represented by your nucleic acid stores increasing until they’ve doubled.

This can all be represented on the interface by a simple “Reproduction” bar, that fills up as you complete the different steps. Reaching double Rstandard would fill up 90% of the bar, and then creating a second set of Nucleic Acids would fill up the last 10%. Once the bar is full, the reproduction button becomes available. Click it and you enter the editor. Finish making your changes and you return to watch your cell split in half, while you take over one of the new cells. The two daughters will be exact replicas of the mother cell, unless otherwise mutated in the editor. Free compound stores are split 50:50 between the daughter cells.

It might be that you only reach about 50% of doubling your Rstandard, when suddenly ATP levels run low, or predators start to threaten you, and you have to turn off growth mode to go back to surviving for a bit before your next chance to grow. This would make gameplay alternate between periods of growth and survival. Progress towards growth can never be lost, only gained. You cannot grow larger than 2*Rstandard.

Here are some points that I think we should consider. Let me know if any of these are a problem to code, pose a problem for CPA calculations, etc.

  1. How will the game determine which organelles split, and if so how will they arrange themselves in the new cell? I think it’s a bit of a poor design decision to make the player have to spend MP in the editor removing extra mitochondria they received while in Growth Mode. Unless this is only for during the transition, and the cell always grows exactly twice as many organelles which are then identically distributed between the daughter cells (as the mother cell was, unless otherwise modified in the editor).
  2. Will the constant recalculations to absorption rate, engulfment capacity, storage space, processing power, swim speed, and other stats pose a problem for performance?
  3. I put DNA synthesis at the end, but would you guys prefer it happen first, or that it happen continuously in simultaneity with growing your Rstandard?
  4. Should there be an ATP cost to pressing the reproduce button (i.e. the act of physically splitting your cell in two)?

Yeah this sounds really good. I can totally imagine how that would work.

IMO the growth processes should happen in parallel.

I actually added DNA to the CPA model, it seemed pretty natural. I’m very happy to change that if people want. As is you’ll be able to actually make more DNA before you split, which I think will be quite cool. DNA is kind of the star of the show so I thought it made sense to add it.

Is the cell going to be immobile during growth mode?

No it would just increase your consumption of compounds. So if you were going into a fight, for example, you would want to turn it off.

I don’t know if I like that idea. I feel like it would add a lot of confusion for the player. Plus, I’m not sure if that’s realistic. Organelles like vacuoles and lysosomes are spawned continuously throughout the cells lifecycle. If they weren’t, over time we would run out since they are used up in digestion. Others, like mitochondria and chloroplasts, replicate by themselves, copying their own DNA, growing bigger, and then dividing. In addition to this, in reality cells are unable to “go back” in the cell cycle. There are checks that temporary stop you, but if you pass them, you cannot stop replicating your cell and you will either follow it through completion or will undergo cell death (because you had an error in cell division).

Now for your questions,

  1. The extra organelles should be only in the environment (since when you divide you are back to your normal number) and just give you a temporary boost in processing power.

  2. They shouldn’t be too hard to redo, since all we would need to call is addNewOrganellesToMicrobe() and this would take care of recalculating the absorption rate, storage space, etc.

  3. Here is how the cell cycle functions in real life:
    G1 - most organelles divide, this is where the cell spends most of its life (technically G0, but that isn’t too important here).
    S - DNA replication
    G2 - specific organelles, such as centrioles divide
    M - cell physically splits in half

As we can see, in all 4 stages of the cycle there is no dedicated growth/divide mode. At least not in the sense that they are two separate entities.

  1. The cell usually has a large stable supply of DNA which is constantly being used by various processes and disposed of. In particular, one nucleotide of DNA takes one molecule of NTP (similar to ATP) to bond. There are billions of these, so if the cell managed to make it to this part, it likely has enough ATP to undergo cytokinesis

I more or less like this idea but i have one problem with it:

first of all i would not make this just a hotkey because a player would not know to do this (but i feel you where probably just using this as an example) and second of all i agree with @TheCreator this is too complex for a new player, i think that this ‘growth mode’ should be started an stopped by a start and stop triggers on the amount of ATP they have (these triggers would be based off how fast your cell uses up ATP and/or how fast your cell produces ATP) then when in growth mode the progress to the cell splitting is on the growth bar and when the player hovers over the bar it shows them what raw materials they need for that stage of growth (perhaps based off the stages @TheCreator mentioned) and what they are lacking in to grow (if there was something missing then they would still be in ‘growth mode’ but would not progress until they got what they where missing, unless they hit the stop trigger anyway).

Ok, so we could change the model so there is not a survival mode and a growth mode, but simply a single mode through which you will continuously grow. However, I think as meandmy10 suggested, it would be important to have some measures to stop the production of amino and fatty acids when you are low on glucose.

Asides from that point, are there any objections to the rest of the model?

I don’t agree it’s “too complex for a new player”. I think knowing you can turn growth on or off gives you an advantage but if you leave it locked on you will still do fine. It’s about increasing your ability to survive long periods of starvation. You could still play the game without knowing about it.

Oh for some reason i thought that growth would be off by default but as i said on the Health and Combat Overhaul page (I’m starting to realize i probably posted what i posted in the wrong place).

I’m with @TheCreator here mostly.

  • DNA replication as a separate phase after growth is a good idea. DNA replication is expensive, and is worthless unless you know you’re actually able to grow enough to reproduce, which is why most cells have evolved to do so in a specific phase near the end of the cell cycle. We could make this something you could evolve, maybe.
  • The growth of your organelle capacity should be continuous – mitochondria and chloroplasts split after they themselves have doubled in size and processing capacity, so there’s no discontinuity. We just need to be able to scale up an organelle.
  • You still have to produce protein and fatty acids etc, always, for the maintenance of your organelles (particularly ones that get digested and need to be recreated, like lysosomes as he says). Sure, your cell might stop if it’s starving and has to prioritize getting more food over keeping itself running smoothly, but it will deteriorate, take damage, reduce in processing capacity, as long as it neglects basic maintenance.
  • As for states of growth, I see 3: growing, not growing, and starving. problem is, there’s a continuum between them, so I don’t think it would work too well to have a simple switch the player can toggle.
  • And most importantly, remember that ATP isn’t something which gets stockpiled and then used up – a cell generally always has very stable ATP levels (unless it is seriously close to death), and when the ATP need goes up, throughput goes up. So any checks that people are saying should rely on ATP level, would instead rely on the level of glucose/fat free.