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).

2 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.

1 Like

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.

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.

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