Cell Division

So a topic that was mentioned a few times and I actually considered myself was the way cell division works right now. Currently, when you collect reproductive compounds it causes your organelles to duplicate themselves(sort of a generalization of mitosis or binary fission). Gameplay wise this basically generates new duplicate organelles for each organelle on your cell, and attaches them at a random available point.

I think this method is more harmful than helpful personally. I suggest it either be changed or removed completely. Because it has a few negatives right now:

  • Itā€™s confusing: the behavior isnā€™t very obvious to the player. It probably needs to be explained in a tutorial at least if it was left in. I didnā€™t even know it was a thing until I looked at the code because it is not self explanatory at all. It causes some weird particular behavior right before you are able to divide as well, by doing things like doubling your compound capacity. A lot of people probably think itā€™s a bug or something even.

  • It doesnā€™t really add anything notable to gameplay: with the current system for reproduction it manifests as you running into compounds and your cell randomly grows/gain new parts, often people donā€™t even notice for a while. Usually this ranges from being annoying because itā€™s uncontrollable, to dangerous since it can cripple your cell by adding more than your ATP generation can handle, or some other issue.

  • Itā€™s destructive: For players at least, it can definitely cause issues with power generation or movement, especially in bigger cells where it can take some time to duplicate so many organelles. Although I havenā€™t profiled it or anything, I suspect it may affect a lot of the NPC cells the same way, putting them into a self destructive state where they run out of ATP and die because they canā€™t sustain themselves.

  • It makes balance more difficult: since cells could be in multiple states besides just their baseline one, it may make ā€˜preyā€™ cells easier to catch or predators less effective in a seemingly random way. This would be fine if it added something notable to the gameplay but it doesnā€™t really seem to right now.

  • Itā€™s not really scientific to begin with: Iā€™m not actually sure if anyone has this issue with removing or changing it, but science wise itā€™s a rather odd approximation of cell division, since a cell usually wouldnā€™t be actively moving and collecting compounds during cell division (as far as I know). A quick look online showed me that in many cases cells become borderline inoperative during cell division because organelles can be in a fragmented state or moved around the cell even. Gameplay wise, itā€™d make more sense to do all this at the point of dividing since it is a sped up version of it anyway.

Though if anyone has alternative thoughts on making it more interesting or useful those would be great to hear too.

1 Like

If it is properly designed how the division process works and it isnā€™t annoying to the player, Iā€™m not against switching to such an approach.

That would make https://github.com/Revolutionary-Games/Thrive/issues/1622 obsolete.

This might take a bit to design and implement. So in the meantime maybe the tutorial should have one sentence added about organelle division? Or maybe it should be a separate popup that comes when non-cytoplasm hex is duplicated.

I want to explain a bit of history why the game is the way it is. This might not be the entire picture as this story starts at 0.3.4.

First it was so that the cell health was defined by the total health of all the organelles in the cell. In turn the organelle health was defined by how many compounds they had.
If an organelle had 0 compounds it was made out of (due to player taking damage) it wouldnā€™t perform any processes. If all organelles in a cell hit 0 compounds, the cell would die.

Organelle division worked so that once an organelle reached 2x the initial compounds it was made out of, it split and was reset to initial composition. If a split organelle took enough damage the split organelle would be destroyed and would have to be recreated. So with this system collecting phosphate and ammonia was the health of a cell and the reproduction progress. This was decided to not feel good for the player to lose reproduction progress by taking a bit of damage. The system was changed to have a separate health bar and compounds now only being used for reproduction, so taking damage didnā€™t anymore hinder reproduction progress.

Also at some point the speed at which organelles absorbed compounds was not immediate, so after collecting compounds you needed to wait a bit for your organelles to grow.

1 Like

Yeah interesting points.

A note on the history. Originally it took ammonia and phosphate to heal wounds and you needed to be full health for the reproduction process to continue. However we made it take a constant amount of a + p because you could get stuck in an infinite cycle of nearly being healed and then getting hurt again, that made things much better.

I agree with your points, it does make planning your cell harder and if thereā€™s a problem with the NPCs that isnā€™t great.

However I also think that the viability of NPC cells is more an issue with auto evo and the AI than anything else. For example in the AI stuff Iā€™ve been doing I have made it so a cell will stop moving when it is out of ATP, which fixes one of the problems with them. I agree that there is the issue of cells which are viable before their reproduction starts and not during.

I think, in terms of making the game better, thereā€™s a lot of stuff that would have more impact than this. For example thereā€™s auto-evo and AI which need a tonne of work. Then thereā€™s the spawn system. Then thereā€™s all the issues around combat and movement. That doesnā€™t mean not to work on this, just that itā€™s not going to make things really come alive as those are the major areas which are holding the game back.

Iā€™m not sure I agree with this ā€œItā€™s not really scientific to begin withā€ as it feels a bit like youā€™re arguing that if something isnā€™t 100% realistic then it isnā€™t adding to the realism. I think putting some representation of mitosis in the game, even if itā€™s not the same as on Earth, is helpful.

However I can see the point that maybe having it all sped up as an animation when you press the button or something might be a better way of doing that and balancing gameplay than the current system.

2 Likes

I agree, but this thread is more like, do we want to accept this kind of design choice.
I suggested making this thread as I didnā€™t want to make this kind of pretty big design decision by just opening an issue on github to put this change on the backburner TODO list.

1 Like

Yeah I can see why it made more sense with the old system of the past, sorta like a bodypart damage system youā€™d see in other games. But I sorta feel like since all of that stuff was ripped out it makes the current implementation seem more one dimensional and confusing as to why itā€™s even there, like a needless simulation or something.

Itā€™s not necessarily that it is messing up the viability of NPC cells, I was just using it as an additional point that, in much the same way player cells can end up rather crippled by organelle duplication, NPC cells can as well. If anything itā€™d always be worse for NPC cells because by the nature of them being auto evo generated, even if we switched to letting players control duplication order or something, NPC cells would still likely use either randomness or a heuristic. So in a lot of cases weā€™d probably see them absorb compounds, duplicate the wrong organelles and then wander a bit from a cloud and start dying. Or something like that. There are ways around that, but I thought it worth mentioning as a negative.

This wasnā€™t necessarily meant as a sudden, critical feature. If we decided to remove it, it wouldnā€™t take that long to remove at all to be honest. If we decide to change it to something else then that might be a bit more complicated and take some design time. My opinion at least, as someone that plays the game is that the duplication usually ends up feeling more like a negative than a fun addition, that part I thought warranted it being discussed.

Thatā€™s a bit of a debatable argument because currently the only parts of mitosis or fission you see are you are technically duplicating organelles, and then cells instantly split. Itā€™s not like we see the other phases, itā€™s very cherry picked to just be duplicating organelles and then a magic ā€˜splitā€™ button. The only reason I added that in was because, to me, it feels like we could modify the splitting part with an animation or something even(even just for NPC cells) to make it seem more realistic than the way organelles are currently duplicated. So I was saying it doesnā€™t seem like we need to leave it in as it is for the simple scientific austerity of it, since alternatives might be viable as seeming as realistic while still staying simple.

Me bringing this up was more me bringing up something that I always felt was rough (to me) when I tried the game, and it contributes to a lot of little confusing behavior like why your compounds suddenly drop when you fill your bars and the capacity doubles, and all these other little quirks. Iā€™m saying it feels rough in the current game. At least to me, others may disagree. My goals were much the same as you though in adding major missing elements to the game right now, but I also like to change or chop out things that seem rough or out of place so the game feels simple, fun and intuitive when you play it. Awkwardness can take away from the other features even as we add more stuff later on.

2 Likes

Yeah I think fundamentally I agree with this, it does feel grating and off when it happens and smoothing out the process would definitely be an improvement I think.

Re the NPC cells I agree if it cripples them then thatā€™s not good. Though I do think sick or pregnant members of a species is an interesting angle for later in the game. I mean we talked a little about viruses at one point, being invisible but just messing some cells up, for example. And so if a cell is extra vulnerable while it is reproducing thatā€™s quite interesting.

I really agree about the communication with the player, the game can be pretty confusing I think. I also agree that without this feature, or with it being post button press, does make everything quite a lot simpler.

I also think there itā€™s a good process to focus on ā€œhow does it feel to actually play the game,ā€ thatā€™s a good source of inspiration.

2 Likes

Seeing that the idea about adding a tutorial about organelle division wasnā€™t objected to, I opened an issue for it:

2 Likes

If we are to remove the gradual duplication of parts during game play, I would prefer to instead migrate that feature to a sort of animation that plays once you hit the editor button. This would preserve the functionality, potentially look cool, and provide a gameplay incentive to make sure your not in immediate danger when you try to reproduce. We would probably want the animation to go by somewhat quickly however, to avoid any frustration from having to wait.

4 Likes

Good initiative on creating this thread! After thinking about your points, I think I agree with all of them. On the last point, I do think it is partially scientifically accurate, but I also think that that is irrelevant since it negatively impacts gameplay and balance.

I think the current main advantage of the system is: It allows your cell to progressively gain and maintain its reproductive progress. Every organelle that gets replicated progresses you closer to reproduction. Plus, the compounds you ingest and use for replication are not stored in your cell, and it might even be impossible to have enough storage in your cell to store all the compounds needed to reproduce all at once.

If we wanted to replace this system, I think the best way to do it would be to remove the ā€œorganelle replicatingā€ part, but keep the ā€œcompounds stored in your reproduction bar and not in your cell storageā€ part. Otherwise, we would probably have to redesign storage around storing compounds for reproduction and I feel like there would be a lot of problems there.

And lastly, yeah I agree a reproduction animation would be a nice addition in the wake of removing this system, where you could see all organelles get replicated in fast motion.

1 Like

Technically speaking, as you collect ammonia and phosphate, they either go into your storage or are first ā€˜fedā€™ to your organelles until they duplicate. But that feeding is specific to each cell so if your cell dies and you are given a new one you lose all your reproductive progress anyway. In that sense there isnā€™t really any inherent advantage to it going into organelles vs just being held in your storage until you hit the button, in both cases you donā€™t actually ā€˜saveā€™ anything until you can go into the editor. If Iā€™m remembering that right.

That said I think your other points are obvious solutions to the problem. The two main methods I can think of are:

  • Change how storage is set up and the properties on organelles, so at minimum your cell always has storage space for at LEAST the minimum compounds you need to reproduce. I.e. if a protein needs 2 units of ammonia and phosphate then it contributes 2 units of storage to your cell, meanwhile something like a vacuole may need 2 units to reproduce but then adds like 12 units of general storage to the cell, so youā€™re always guaranteed to have at least as much as you need. In that scenario youā€™d have 16 units of storage in total, and need 4 to reproduce.

  • Second would be as suggested and just have the bar serve as a ā€˜magic storageā€™ and as soon as compounds go to your cell they are fed into the bar, and never actually added to the compound system. This is technically closer to how the system appears to work right now. Since from the perspective of the player the compounds never go into your storage until the bar is filled anyway, so it just looks like the bar is filling up as a measure of your progress.

Gameplay wise both are pretty similar, the first might give more of a sense of you seeing the compounds in your cell vs just dissolving into ā€˜the barā€™. Of course we could also have that absorption be gradual, i.e. you collect x units of ammonia and phosphate and they begin to slowly drain from your storage and fill the bar, like itā€™s being moved from general storage to being ā€˜preparedā€™ to duplicate your organelles, or something. That would be more of a visual detail than anything and not have much gameplay effect. Just a variant that popped into my head. Although I guess technically you could do something like make that conversion really slow and have organelles that speed it up as well, if you wanted to make that a gameplay thing. But Iā€™m not sure that would add much fun.

Generally speaking our storage is currently generic, things that give you storage space just give you storage space for all compounds, meanwhile in current gameplay you never actually need to store ammonia or phosphate, since I donā€™t believe any cell processes use it. So seeing those two compounds go into your storage is actually rather superfluous since it never gets used, and the only gameplay effect it has at all is that you retain some after dividing, but that may go away in the future anyway if we change to resetting your compounds after division because youā€™re a new cell, due to the time warp. We could actually remove ammonia and phosphate from your storage altogether if we went with method B, if we wanted, since other than going into the bar it doesnā€™t really do anything.

1 Like

So I have a bit of an idea to how this could be done better. First off I agree that the random duplication of organelles is annoying, and problematic. I have two suggestions

First, weā€™re forgetting that even though the microbe stage plays as 2D the cell is actually 3D, what if we just made the organelles ā€œduplicateā€ below/above. They wouldnā€™t actually duplicate instead they could just have a value set saying that they are 2X effective because thereā€™s ā€œ2 of them stackedā€ from this we could also make central most organelles duplicate first moving outwards. Which even though we canā€™t see it, it would make more sense that way in termā€™s of the shape of the cell in my opinion.

Second, Remove it entirely and simply make the cell wall and spacing between the organelles expand as you gain phosphate and ammonia simulating your cell getting bigger. Effectiveness of all organelles could be increased by this factor making you more effective when capable of splitting.

Just my thoughts.

What problem does this solve? This would just change the visuals, without affecting anything else. Though, I suppose with the new 3D membrane that may be too expensive to regenerate, this would be an option to solve that, without moving to the model where all your organelles duplicate only after you press the editor button.

Is there a non-gameplay reason why cellular processes become more effective as the cell expands (like some kind of scientific basis for this feature)?

Btw I canā€™t remember where this was, but another idea (besides the one that organelles only duplicate when you go to the editor, so it is only like an animation and doesnā€™t impact gameplay), is that the player can select the order the organelles duplicate in the editor, to fix the problem where your ATP producing organelles divide last and cause problems.

I wanted to revive this topic because @Nunz mentioned that it would be really difficult to implement convolution surfaces in the Microbe Stage with how we currently deal with organelle replication. He mentioned that because the membrane is redrawn every time an organelle splits, it would be pretty expensive to implement convolution surfaces in terms of performance. I also remember something about how the game continuously checking for whether or not an organelle should split makes things a bit harder too, though I forgot exactly how.

Besides being a sucker for graphics, I also agree in terms of gameplay - it is a bit uncontrolled and unorganized to have organelles continuously split. I do think having to carry around duplicate organelles is a cool part of the loop, but I think it would be better if organelles split at the same time once enough ammonia/phosphate is gathered rather than continuously. Perhaps once you gather 70% of your total nutrient cost, replication will occur all at once.

Iā€™m not sure how difficult this would be to refactor, but it might not be the highest priority. It just depends on how soon we want to implement 3D membranes (yā€™all know my affinity for a graphics revamp). Any thoughts? I know @hhyyrylainen mentioned that it would require some effort to change things since organelles each require a set amount of phosphate and ammonia to replicate, which ties into your organismā€™s overall needs for ammonia and phosphate, and then obviously, reproduction itself.

This was already talked about the last time Nunz mentioned that, though it may have been only on discord.

And the conclusion was that weā€™ll just have to move to a model where organelle duplication becomes just a going to the editor animation. So basically we could just put the growth compounds into some kind of extra storage (similarly to how remaining required compounds are tracked in multicellular). That way we donā€™t need to tweak cell storage or anything like that. Just need to remove the organelle growth and instead keep track of the progress somewhere, and then convert the editor button action to play a short division animation before switching to the editor.

The problem is that you need to basically check all organelles if any of them can use any of the stored compounds each time reproduction progress is checked.

For multicellular I went with a simplified model where only one thing can grow at a time and the next thing can start taking compounds only after the first thing has grown. That simplifies the checking logic and performance quite a bit.

Itā€™s not very hard to change the system, the animation will be the hard part. Once Nunz is done with the convolution stuff, Iā€™d say itā€™d take a couple of days, at most a week, for me to make the reproduction changes. And as convolution surfaces is something weā€™ve been waiting a really long time for, those being ready will be such an important thing that Iā€™ll clear my calendar of every other task to get it done ASAP.

1 Like