Multicellular Stage: The Beginning

Alright, so I am going to go ahead and push this discussion along a little so we have a more concrete foundation for implementing the binding agents.

The binding agent vacuole will be a single (or maybe two) hex eukaryotic organelle that consumes 5 ATP; The same cost of oxytoxy synthesis. Since this value is incredibly easy to change, I think this is a good number to start with before testing to see what works best, there’s not much point to debating it in the mean time.

Once placed, the part will allow cells to bind to others to form colonies. Players will be able to activate binding mode by pressing the B key by default. During binding mode players will bind with other cells of the same species that they run into.

Once bound to another cell, cells will be granted a 5% osmoregulation cost decrease per each cell directly attached to them, and will attempt to evenly distribute resources across all bound cells at a rate equal to half their resource absorption rate. Again, these values are just to start with before testing and balancing.

So that’s the plan we seem to have so far. however, there are still some things we need to determine before we have a complete plan for the binding agents which I will list below.

  • MP cost:
    We need to decide on the cost of placing the binding agents. There are basically two choices here; Make the cost 100 MP so that it takes a full generation to develop it, or make the price more in line with other parts.
    Personally I am leaning on making the cost be around 55 MP or so. Binding agents are undoubtedly a huge goal in Thrive’s gameplay, but I dont feel like they are quite as large an evolutionary leap as nuclei so it would make sense that it isn’t as costly to develop. I might see about having the binding agents be a little more costly to maintain on your cell to preserve the need to progress before placing it.
  • Unbinding:
    I believe there should be a method of detaching from a colony if needed, but finding a good way to do so without being particularly “janky” is a problem. It could be argued that this is uneeded however, and could potentially be complicated if your cell is completely surrounded by other bound cells in a large colony.
    Below are the methods I am proposing:

Method A:
Moving away from cells for a time will pull your cell off of the colony. This could feel somewhat janky however, as you might end up pulling off your colony while attempting to bind to another cell.
Method B:
Holding down the binding mode hotkey will unbind connected cells. I like this idea, but am not sure how to do it without simply unbinding all cells, how can we target specific ones with this method? Maybe just detach a random single cell?
Method C:
Clicking anywhere on the screen while in binding mode will detach a cell nearest to the cursor. Similar to method B, but with different input and potentially a pain to code.

  • Binding Limits:
    Should a single cell be limited to the amount of adjacent cells bound to it? Should colonies as a whole have a limit to how many cells they can contain? The latter is more a matter of performance as large colonies could potentially be laggy.
    I believe cells should be limited to at most 5 adjacently bound cells, as any more could be pretty awkward when it comes to space. This would be specific to each cell, so colonies of more than 6 cells could still form.
    Ideally I wouldn’t want any limits to cell colonies, but we could run into hypothetical issues such as colonies taking up the entire screen, or immense lag from much the same. We could probably just dive in without this preventative measure and just see if it becomes a problem, but just in case, I think we should impose a max colony limit of at most 40 cells. I’ll ultimately leave such a choice to the programmers as they are undoubtedly more experienced with such matters.

As usual, I would like to know what everyone thinks of this so far, and ask that you would please speak up if you find certain concepts disagreeable. I wouldnt be surprised if I am forgetting something important either.

1 Like