Upgrades, Unlocks, & Endosymbiosis Master Thread

I think there is some potential to make these upgrades more interesting. For example the oxytoxy could specialize either in production or fire rate. That way the player could specialize for high rate of fire and long recharge time, or producing a lot of toxin that they can steadily fire / their species is much more poisonous when eaten.

1 Like

A question I have is what should be left as a modification via a slider or toggle and what should be a proper variant upgrade. Currently we have one variant upgrade, the pulling cilia. It needs to be a variant because it comes with a completely new function. But looking at many of the suggested upgrades, they don’t. They’re just tradeoffs between numerical stats. Production vs input need, fire rate vs “reload time”, flagella speed vs ATP cost etc. All of these could just be sliders.

What to do in cases where something could either be a slider or a variant? Variants have the benefit of requiring less fine-tuning from players. The other side of the coin however is allowing no fine-tuning at all. Also, you probably can’t combine variants. So if e.g. faster flagella and turning flagella were both variants, you couldn’t have a mix of both.

Overall, I like handling numerical tweaks with sliders and using variants only for functional changes. In my opinion that’s more consistent and fits Thrive’s detail heavy sandbox gameplay well. Some good examples of fitting variants could be the toxin pilus and the specialized vacuole that only stores one compound but with increased capacity.


Another thing I want to mention is we could get a lot of customizability by adding a tradeoff between speed and efficiency. Here with efficiency I mean lack of waste i.e. the input to output ratio. This is similar to some of the suggested upgrades, but it could be added as a slider for almost all organelles, including organelles with processes, flagella, and lysosomes. It would also add more strategy. Do you want to have a high but inefficient metabolism, allowing you to be a speed demon at the cost of needing food all the time? Or do you want to have a slow but efficient metabolism, that enables you to survive when food is scarce, but leaves you a sitting duck for predators?

One thing to consider with tweakable efficiency is the order of processes. I imagine it would feel bad if your less efficient processes happened to go first and eat up all your compounds. Could processes happen in order of efficiency? Or alternatively could the player choose the order of their processes? I’m guessing this wouldn’t be very easy to implement, but could it be possible?

1 Like

Would you believe me if I said I actually did write something like that down? I just wasn’t sure what is more difficult to implement rapidly so I just jotted down some more traditional upgrade proposals first.

We could allow the player to customize the “potency” of their projectiles or actions, which essentially would be tweaking how much toxin is expelled at a time. This way, people can choose between either a less potent but more rapidly employable toxin or a much more potent and damaging projectile that requires a lot more toxin at a time to use.

Like you said, I think the big thing is having dramatic shifts in organelle function be present as a variant, which will essentially be a button in the Modify menu, and modification as sliders. I’m whipping up a Word Doc right now with several ideas mentioned, and a notation for whether or not a particular upgrade is a modification or a variant, so that will give us a better understanding of what is currently conceptualized and what we can focus on.

The cool thing about variants is that for some parts, we can implement a unique ability without having to create a new model. So one thing we could think about are cool game abilities found in most games that we want to replicate in Thrive, finding a suitable/replicable biological phenomena that reflects said ability, then implementing it as a variant.

This is a cool idea, though I wonder if we should allow the player to mess with their metabolism rate via upgrading individual parts or through the “Process Panel” we have established. We do already have plans to have, for example, to allow the player to “prioritized” food sources. That can be expanded into other things if we see it being worthwhile.

I mean, probably. Computationally that would require calculating the potential speeds and “efficiency numbers” (I used quotes here as just a raw ratio of inputs to outputs is likely not the best in all cases, for example with environmental inputs) then sorting all of those and running. I don’t know the actual impact but I’d guess that would take at least 20% more CPU time.

I wanted to note a change to the upgrade philosophy of Thrive. We previously stated that we were avoiding “flat” traditional upgrades which simply improve stats with only a cost on ATP generation, but this has been switched up a bit. Currently, we are moving towards allowing more traditional upgrades for external parts, such as the flagellum.

These types of upgrades will likely still be pretty rare in comparison to the specialization-focused upgrades; however, I wanted to note this to avoid confusion. I will edit the OP soon enough.

Working through upgrades, I have found external parts to be the easiest to navigate through. Internal parts are a bit difficult to work with because they represent processes, but more scientific research about variations in metabolic strategy can offer interesting alternatives. I think ultimately, editing metabolic processes would represent different niches, while external part upgrades will largely represent different abilities and powers for the player to use. I think we should consider a larger discussion about the controls players will have over metabolism before we dive very deeply into various parts.


Here are some external part upgrade proposals. Note that I didn’t come up with the majority of these, I just compiled previous discussions and added a few bits of commentary or a few new proposals.

Also note: (V) indicates a variant, while (M) indicates a modification.


Oxy-Toxy

Structural

  • Increased Production (M) – Increases the rate of oxy-toxy generation, but increases the ATP costs attached.
  • Potency v. Rate of Fire (M) – Choose between a slow-firing and expensive but destructive burst of toxicity or a rapid-firing and cheap but less damaging toxin projectile.

Toxicity

This will be a drop-down menu with choices.

  • Damage – The default toxin, inflicts max damage.
  • Damage Per Second – Inflicts less damage over a large amount of time.
  • Disable Movement Parts – Disables Cilia and Flagella for a duration of time.
  • Obscure Vision – Darkens the vision of cells. For AI cells, slows them down slightly and reduces the propensity to flee or attack.

Flagella

Structural

  • Fast-Twitch (M) – Increases max speed, but increases ATP consumption.
  • Thickness as Max-Speed v. Current Resistance (M) – Less thick flagella are more quick, but are weaker against currents. Thicker flagella are less quick, but are resilient to currents.
  • Length as Short, Rapid Sprint v. Long, Paced Sprint (M) – Longer flagella makes sprint speed faster, but lasts much shorter. Shorter flagella makes sprint speed slower, but stamina much longer.

Pilus

Structural

  • Length as Damage Range v. Damage (M) – Shorter pilus inflict more damage but at a shorter range. Longer pilus inflict less damage but at a longer range.
  • Thickness as Damage v . Mass (M) – Thinner pilus inflict less damage but slow down cells much less, while thicker pilus inflicts more damage but slow down the cell more.
  • Straw Pilus (V) – Less damage, but hostile resource transfer occurs. Goes through most armor.
  • Toxic Pilus (V) – Less damage, but toxin transfer occurs. Goes through most armor.

Slime

Structural

  • Increased Production (M) – Increases the rate of slime generation, but increases the cost on glucose.
  • Force v. Amount Expelled (M) – Increases the speed gain from expelling slime, but requires much more slimeto be expelled at a time.
  • Mucocyst (V) – A shield ability. When toggled, instead of expelling gel, the cell casts a hardened casing which completely negates engulfment and damage. However. Players are immobilized, and processes are paused. Has a minute cooldown.

Chemoreceptor

Structural

  • Cell-Tracing (V) – Can trace cells, but not compounds.
  • Max Range v. Minimum Amount (M) – A greater detection range allows players to trace compounds across greater distances, but requires a greater concentration of compounds to be detected. A smaller detection range doesn’t give players the same vision over distance, but allows the detection of more minimal amounts of compounds.
2 Likes

This is a good summary of the various ideas we have come up with, and the new ideas you’ve thrown in are pretty nice, lot’s of fun things to work with here.

Could we not just… provide cells as a tracking option and be done? Chemoreceptors can only track one thing at a time afterall. I suppose tracking cells directly could be seen as an upgrade compared to tracking potential signs of their presence…

I will admit I’m still pretty undecided about the idea of direct upgrades. I’d personally say the philosophy has not changed and largely remains the same, but there can perhaps be exceptions.

1 Like

Yeah, this is pretty much the plan. There’s even an open PR, though the author doesn’t seem to have time often to work on it:

Pretty good talk happening on the community forums regarding this. If we have a bunch of just flat upgrades, people will want to upgrade all of their organelles of that type, which brought up again the concept of editable organelles. Which I still absolutely do not want as that is the entirety of the hard part of the full endosymbiosis concept.

1 Like

Yeah I don’t want upgrades to be any more complicated than they already are. I agree with you, thus I feel our philosophy has not really changed.

That being said, it would be nice to have some method of quickly placing the same upgrade on multiple parts… Upgrades like the pulling cilia benefit a lot from having multiples of the same upgraded part so there’s a good reason to have such a feature eventually.

Something like selecting multiple organelles at once and then opening the upgrade popup menu could work. That’s also super complicated if we were to allow differently upgraded organelles to be selected at once. For example imagine 5 organelles where 3 have the same upgrades and 2 have unique upgrade options selected, trying to display that in a smart way would be a pretty complicated thing to try to add.

And also controller support would be hard to add as it this would probably need to be skipped as-is due to controller input being more limited.

But this could be doable, still a relatively difficult feature to implement.

2 Likes

I was thinking perhaps we could do something very similar to part placement, where you selected an upgrade from a drop down and could place it on applicable parts much like if you were placing the parts themselves in the grid. Perhaps that would be more clunky than your own suggestion though.

1 Like

I mean that would need a pretty huge amount of GUI work… like where to pick which organelle type organelles you want to upgrade, then another place to show those upgrades (which can be an entire sub-view by themselves, for example the chemoreceptor configuration). And also I think such a feature would also need a colour highlight on the organelles of that type to guide the player where they can place the selected upgrade, otherwise they might happily click any old organelle and not manage to place the upgrade on anything.

2 Likes

Once you get an upgrade for the first time, is it free to change the rest of your organelles to it, or cheaper, or is it full price every time?

Full price because that’s how it fits in the MP calculation design. It would take a new functionality in MP calculation to let upgrades detect when there’s another upgrade earlier in history that makes the current one free (or in the general species data). That’s the kind of complexity I would not be confident in being able to make without a ton of bugs. The current MP calculation system is basically at breaking point in terms of how complex it is.

I would think we would need some sort of accommodation for placing down a variant/modification. Especially once we factor in environmental tolerances or if we include variants for metabolic parts which use slightly different metabolisms from the base part, it could easily lead to placing down a part and having to do some more modifications right away to make the part useful which will end up costing a lot of MP. I guess we could factor that in when we consider the costs of upgrades.

There’s atleast a copy/duplicate function, right?

There is no such feature.

That’s kind of also why I don’t want this to be handled with the upgrades system.

The system is really only right now designed to handle fun alternative ways organelles can function. For example the chemoreceptor where you pick a unique compound for each chemoreceptor is the prime example of what kind of upgrade the system is designed for.

Doing a repetitive organelle upgrade applying is not designed into this system. And I think that shows how many times I’ve said in this thread on how badly the code would flex to accommodate many of the ideas. It can be changed to support some of the ideas, but it will take a bunch of work to do so. And for the more extreme cases I wouldn’t really attempt it (things that require major redesigns of the MP calculation system is not something I would consider unless absolutely necessary).

So would variants to external parts, like the suction cilia and toxic pilus, also warp the existing code? Or is the difficulty more about ideas to change the metabolic processes associated with parts?

The difficulty doesn’t exist there, as you would just have like 5 pili, and maybe you update 2 or 3 of them to be toxic. That’s vastly different use case than assumingthe player has to modify each of their organelles of a certain type to do a basic thing.

No, this is easy. The hard part is how the editor works, it has a bunch of complex systems related to editing, with the most difficult being the dynamic MP remaining calculation. And it not supporting the concept at all of duplicating organelles or making a preset / applying a preset upgrades to an organelle.

2 Likes

Okay, I see. I think an immediate solution that doesn’t need a big rework of the editor (if we still want to maintain variants as being an upgrade rather than an individual part) is just to make certain variants cheap. I think for the metabolic parts especially, we don’t really need to make whatever variant or modifications very expensive. Most of them would be environmental or metabolic changes regardless; we wouldn’t want to make environmental tolerances very expensive to offer some flexibility, and changing your metabolism definitely comes with risks beyond just the costs which we would want to give the player an option of undoing. We could maintain expensive variants for external parts since they really aren’t as essential.

1 Like

Yeah, I’ve always had the idea in my mind that upgrades should be cheap, because the player needs to first get the part and then the upgrade so the cost would add up fast. I think the cilia pull upgrade which costs 30 MP and unlocks completely new gameplay options is an excellent example. Though, now that I’m thinking about it the upgrade is as expensive as the organelle. I think that should be rare so that most upgrades would be cheaper than the organelles.

1 Like