Growth Rate, Reproduction and Maturity Time / Cost

Once the Nutrient Cost trait is implemented for organisms, the foundation will be set to create a more realistic Reproduction System that can apply from Microbe until the end of biological evolution. After having discussed the idea with Deus a bit, I’ll present it here.

Nutrient Cost

To recap, your Nutrient Cost represents the total molecular composition of an adult organism of your species. It’s comprised of the total amount of ammonia, phosphate, glucose, and other nutrients that constitute you. This value actually already exists in-game but just needs to be tweaked to be an official trait with a name and icon and displayed to the player.

Reproduction Cost

This represents the portion of your total constitution (AKA your total nutrient cost) that is produced during reproduction. For example, if offspring spawn with 50% the size or organs of their parent, then the Reproduction Cost of the species is 50% of the total Nutrient Cost. Another way of looking at this is that it represents the nutrients it costs for a parent organism to spawn a child organism.

Maturation Cost

Your Maturation Cost is the remainder of your Nutrient Cost to grow you from an offspring to a full adult. In the previous example, since your Reproduction Cost was 50%, your Maturation Cost will be the remaining 50% of your total Nutrient Cost.

Your Reproduction Cost + Maturation Cost should always equal your total Nutrient Cost.

Reproductive Systems

The Reproductive System you evolve determines what portion of your Nutrient Cost falls under Reproduction Cost, and what under Maturation Cost. In Binary Fission, your cell reproduces all of its organelles before spawning a fully formed daughter cell, so the Reproduction Cost is 100% and the Maturation Cost is 0%.

In Budding, your organism spawns a small bud with only basic organs. This then detaches and spends the rest of its life growing to the size of an adult organism. Therefore, in this case, the Reproduction Cost would be lower (let’s say around 25%) and the Maturation Cost would be the remaining 75% of the Nutrient Cost.

As organisms become multicellular and macroscopic, they will evolve plenty more modes of reproduction, and so this system would be able to handle all such examples.

Growth Rate

All organisms will have a Growth Rate. This represents how many nutrients the organism can “invest” from its storage into reproduction or maturation progress every second. Your Growth Rate can be affected by your mutations.

This trait actually now exists as a result of HH’s new testing Pull Request that adds passive resource absorption of phosphate and ammonia, but just doesn’t have a name yet.

Reproduction Time and Maturation Time

Using your Growth Rate, your Reproduction Cost, and your Maturation Cost, you can calculate a Reproduction Time and a Maturation Time for each organism. Reproduction Time represents the time it takes, in ideal conditions (full compound storage and no damage) to reproduce one full offspring of your organism/cell. It’s just your Reproduction Cost divided by your Growth Rate.

Maturation Time represents the time it takes in ideal conditions for one offspring/juvenile to mature into an adult, and is calculated as Maturation Cost / Growth Rate.

Summary

Such a system will handle reproduction from Microbe to Awakening. It ties the complexity/size of your organism (Nutrient Cost) directly to making reproduction slower and more expensive. It introduces a new Growth Rate trait which can be evolved to be increased if you want to grow and reproduce faster (which will need appropriate tradeoffs). It also makes different Reproduction Modes feel different, by allowing time spent reproducing and time spent maturing allocate differently based on your organism’s reproductive system.

If no one has the availability to work on such a task, I could take it on as it’s nothing too intricate (provided the agreement is there that such a system is a good idea).

3 Likes

Let’s start the conversation about balancing. The big question obviously is how long various builds should take to get to the editor. This is a bit of a difficult question to concretely answer because growth rates can be variable, so what looks good on text probably won’t play the same way as intended in game. I think this is something we need to continuously discuss, playtest, and tweak; for right now, I’d like to hear some opinions on these questions…

  1. We are probably going to have certain very simple prokaryotic builds which can realistically reach the editor before facing a significant threat of starvation. A certain level of this is okay I feel as it is actually a common strategy used by bacteria (requiring barely any resources to successfully reproduce), but we have to make sure that this strategy is limited to builds that are very simple; we want it to be a strategy with detriments, not a default. At what level of complexity do we want this strategy to stop being viable?
  2. With the above in mind, we don’t want to make the total nutrient cost added by adding parts in the editor so severe that eukaryotes which aren’t particularly large have incredibly long lifespans. How do we reconcile the two?

Right now, three methods of balancing jut out at me.

  1. Tweaking Rate of Passive Intake and Maximum Phosphate/Ammonia Intake - Essentially, making passive growth faster/slower and/or making it so that gathered ammonia and phosphate go into the reproduction bar quicker.
  2. Tweaking Amount of Phosphate/Ammonia Needed for Each Organelle - Going through each organelle’s statistics and potentially increasing or decreasing the amount of ammonia/phosphate needed to reproduce. If we do this, I’d say we slightly decrease the phosphate/ammonia cost of parts, but add a flat phosphate/ammonia nutrient cost constant. So even as a cytoplasm with no extra parts, you would have, for example, 5 extra phosphate/ammonia cost. This makes it so that the player can’t spend too long in that “no need to eat to reproduce” window without making the reproductive penalty for adding parts so severe, which can lead to unnecessarily long lifespans if we just stuck with tweaking the passive intake rate.
  3. Messing with Compound Amounts a Player Spawns in With - We can tweak the amount of food a player spawns in with so that they spawn in with a decent amount of food, but not enough to entirely ignore the need to hunt. Right now, excluding ammonia and phosphate, you just spawn in with the compounds you’ve absorbed in the previous life. I previously had a major issue with the player spawning in with the compounds they gathered in a previous life; considering the vast distances in time, it just didn’t make much sense and screwed with the gameplay loop since phosphate/ammonia would act as a free bonus. Implementing a growth system alleviated my concerns regarding the effect on the gameplay loop, but I think we should still atleast standardize the amount of resources you spawn with.

I think option 1 will be a given, and I really like option 2. And though I would like to eventually see option 3, that should be its own conversation at its own time since it also effects more than just reproduction times.

I also think that we absolutely should display the expected amount of time it’ll take the player to fully mature in the editor. It doesn’t have to be exact at all, but it should atleast provide a ballpark answer.

2 Likes

Here are the open issues on Github about the rebalancing of the new reproduction systems:

I wrote a tiny bit in those how I think they might be fixable.

I agree with this.
I think this should only really be discussed once we have the multicellular stage done, because I want to use that stage to show how much sense it makes to keep the immediate surroundings of the player constant, even if they jump forward millions of years. And for internal consistency I really want that to also apply then to the microbe stage. But yeah, let’s leave that discussion for later.

1 Like

All three proposals seem like very sensible measures for balancing out reproduction time!
I will call into mind a fourth option for balancing out the reproduction times of small vs large microbes: A nutrient cost for the membrane which is independent from the organelle costs themselves. As I have layed out in the parallel thread ‚Nutrient Cost Trait‘, this cost would increase less and less with each added hex.

Nick and I have proposed two different ways by which such a cost might be implemented.

1 Like

To solve the issue of “Balance the new time based reproduction”, I think we need to implement a rudimentary “Diffusion Rate” trait, that scales with the size of the player’s cell/colony. It will make larger cells also absorb more compounds from the environment (but with diminishing returns cause of the Square-Cube law).

I think a large chunk of the balance though will be hard to anticipate until we’ve started implementing such a system. Then as we implement, we can constantly experiment with different values for each stat and see what feels best through playtesting.

1 Like

I’ve started initial attempts at balancing times reproduction, and although slower a bit because of my brush with COVID-19, I think we’re getting a better idea of what the values should look like through play testing.

I wanted to discuss how long an average lifespan should last, with the idea that the unicellular stage should probably last anywhere from an hour to 2 hours depending on how intent the player is on rapidly progressing. I initially thought each lifespan should be short (under a minute at start with the longest lifespan being 3 minutes), but I am starting to think that the lifespan should be around 2 minutes at start, should average around 3 minutes for most cells, and should be at most around 4 or 5 minutes. Perhaps even a bit longer. What do you guys think?

We also need to address colonies and early multicellular timed reproduction. For non-multicellular colonies, I reckon adding a small flat ammonia/phosphate cost to your initial cell’s cost (so for example +2 ammonia/phosphate for each additional cell) would work. But for multicellular, it would obviously have to look different to prevent fast growing organisms just because your stem cell is very simple.

What are some thoughts on this?

2 Likes

I think those timespans sound good.

What do you mean by non-multicellular colonies?

Also, is it necessary to add extra arbitrary nutrient cost to colonies? Aren’t they already going to be slow and expensive enough to reproduce by nature of being several cells? And complex eukaryotic ones at that.

1 Like

Good that you bring this up! This got a bit overlooked in the audio meeting, didn’t it?
Before I can answer I need to ask a crucuial question for context:
Are you assuming the same compound concentrations when making your estimations? Are we talking about high concentrations (early game), middling concentrations (mid game) or low concentrations (late game)?
The crux is that the compounds are the most abundant when the player cell is the smallest, so while
2 minutes for smallest cell
3 minutes for average cell
4-5 minutes for huge cell
might sound good if we suppose equal compound concentrations, that might not work with dynamic compounds in mind.
I’ll post a graph shortly to make a suggestion with compound levels in mind.

I think he means cells which have binding agents but haven’t properly entered the multicellular stage yet (the equivalent for the player pressing the “become multicellular” button).

1 Like

Actually you’re right. For some reason I was thinking reproduction for colonies worked rather arbitrarily when it was literarily just adding two total nutrient costs together. I assume then we should just multiple the passive growth rate by the amount of cells and slightly increase the maximum amount of ammonia/phosphate able to be absorbed in an instant depending on the number of cells. Still leaves officially multicellular organisms up for questions though.

And by non-multicellular colonies I meant colonies who weren’t yet multicellular organisms, so bound together but still technically unicellular and not yet at the multicellular stage officially. I probably should have been more clear.

And @MirrorMonkey2 good point. I’m assuming constant concentration amount as is seen now. We will have to rebalance these numbers when we get to the point of dynamic ammonia/phosphate amounts, but that’s fine. I’m already assuming growth rates are something we will need to adjust time and time again as content gets added and as we get feedback from the community.

Based on the rough estimates which you layed out, I made an extremely simplified graph which takes into account dynamic compounds:

One thing which we should also keep in mind is that as a heterotroph you will most likely shorten this timeframe since you consume ammonium and phosphate via your prey.
The two extremes we have to strike a balance between are basically:
a tiny mobile heterotroph <-------> a huge sessile autotroph

2 Likes

Yup. In fact, Membrane Size would be a necessary trait to add in before we add in a Diffusion Rate/Absorption Rate trait. Because Membrane Size can also be calculated for colonies, and then we would just use the colony’s aggregate Membrane Size to determine it’s Diffusion Rate.

I think the time range @Deus gave of 1-5 minutes of increasing reproduction times is a good choice.

I brought up colonies for two reasons:

  1. non-multicellular colonies make no reproduction progress. This means that they are currently entirely excluded from the passive reproduction system. I’ve at least now added a tutorial that triggers if the player is in a colony with full compounds telling them they need to unbind to continue growing.
  2. Multicellular colonies can grow, however they currently get no buff on top of the passive reproduction of the lead cell, so fully growing a body plan is probably very slow, especially with 20 cells which is the limit for reaching macroscopic.

Let’s make sure we finally get around to hooking up the new growth system to colonial gameplay (by that, I mean the situation in which players can bind to other cells but only temporarily).

I’d say the best course of action is to have it so that the cost to reproduce doesn’t grow with every new addition - which is what we currently have - and instead have reproduction cost stay the same, as if you were still a single cell. However, as a detriment to binding, the rate of passive absorption and max absorption can incrementally slows down a bit. This might not be too noticeable at first, but becomes significant if you reach high numbers in your colony. We obviously would have to balance it so that Thrive doesn’t become watching paint dry.

Would that be possible to do?

How would that work? How do we map growing individual organelles to growing additional cells? Or did you mean that just for the early colony gameplay.

So your suggestion would be that the colony lead cell is greedy in that it steals the growth compounds from the colony to itself first before the overflow goes to the colony?

This is doable, but how would that be explained thematically? Cell colonies have more surface area than individual cells (Thrive can’t handle so many cells that surface area to internal volume ratio wouldn’t have much of an effect).

I think a much better thing would be to add a passive absorption buff (and of course first adding passive growth absorption for early colonies that go into the storage) for cell colonies. Which could then be balanced so that the overall effect is that small colonies fill up the colony’s total reproduction compound storage fast and big colonies are less efficient. So I think the effect you want to see is possible, but the actual technical way to get there should be approached from a different direction.

1 Like

Yeah, it would essentially end up being the lead cell in an early colony taking up compounds first. My main “suggestion” with this I’d say is having the nutrient cost be set to your own cell’s max. My thought was it would be a bit awkward if we had the total reproductive cost fluctuate with the number of cells you have as an early colony (since right now you can basically add or deduct cells at will). That could lead to situations where adding a cell means you can’t reproduce anymore with an added reproductive cost, or where you can subtract a cell and then be able to reproduce without the additional reproductive cost. Unless my understanding of your idea is wrong and you aren’t suggesting we use the total colony reproductive cost.

I think this reflects the difference between colonial cells and “truly” multicellular cells in Thrive pretty well. What makes colonial cells distinct from complex multicellular cells is the fact that they aren’t necessarily specialized and codependent. If you split a colony apart, each cell would generally be fine as an independent cell, whereas splitting a multicellular organism leads to catastrophe since each cell depends on the existence of other cooperative cells. It’s often said that a colony of cells is more accurately referred to as a bunch of individual cells grouped together rather than a cohesive unit of cells unified. Here is a source with some relevant information: 2.12: Organization of Cells - Biology LibreTexts

I would like to note though that this distinction isn’t necessarily night-and-day; sponges are soundly referred to as multicellular organisms and their cells exhibit a strong capacity to survive independently. But I think having the player be responsible for themselves as an early colony would be a pretty cool reflection of the above facts mentioned. And I think the decreased passive intake rate could be justified by the fact that other cells are (theoretically) taking in compounds as well. They wouldn’t be technically, which is an issue since the other cells wouldn’t be able to reproduce, but I think that’s justified if we assume early AI colonies won’t be frequent enough where the player realizes this.

It is. Just that because all compounds are shared equally between colony members (as it is a fair partnership) the player effectively needs to have enough ammonia and phosphate in the colony so that the average amount of the compound is more than their reproduction cost after they split from the colony.

Which is why the resources are shared equally. It wouldn’t make sense from evolutionary (and game theory) perspective that other members of the player species would be willing to bind with the player if they are worse off (because the player cell would steal all their reproduction compounds to fill the player cell first).

2 Likes

Okay I see what you mean now and think that’s a very sound way of achieving it. Tie reproductive costs to only your own individual cells and have cells share compounds, but boost absorption rate to not make things proceed at a crawl. I think it’s a good idea.

2 Likes