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.
- 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).
- Will the constant recalculations to absorption rate, engulfment capacity, storage space, processing power, swim speed, and other stats pose a problem for performance?
- 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?
- Should there be an ATP cost to pressing the reproduce button (i.e. the act of physically splitting your cell in two)?