Agents Discussion

To me this sounds way more like organelle upgrades. As the behaviour is the behaviour of the AI members of your species, and not how your toxins “behave”.

1 Like

Recently, I had an idea to increase the depth of the toxin system. Right now, it’s as surface level as it gets. My idea is to have toxins that can specifically target different functions of the cell, or just a generally bad toxin.

Each toxin can affect components of each cell, like disabling flagella, ATP production, of membrane integrity. When a toxin specifies a component to attack, it loses the effectiveness to attack other components, which enforces specialization. Then, each cell would also come with an antibody system. If a cell produces some toxin, it would also have to produce the antibodies for that toxin, which would require energy. The amount of energy each antibody requires is based on the disruptiveness of the toxin. So, a toxin which shuts down the flagella would not require much energy, but a toxin that destroys the cytoplasm would need a lot of energy to maintain.
This would cause more interesting prey/ predator relationships. A prey microbe might develop a toxin that disables the flagella of their predator, and allow them to get away easier. But the predator would probably develop cytoplasm toxin to damage their prey, without needing to be right next to them.

Here are the values I think would work well:
flagella toxin: 1 atp/s to make the toxin, 0.1 atp/s to make the antibodies.
Glycolysis toxin: 1.15 atp/s to make the toxin, 0.15 atp/s to make the antibodies.
ATP toxin: 1.3 atp/s to make the toxin, 0.2 atp/s to make the antibodies.
membrane toxin: 1.6 atp/s to make the toxin, 0.3 atp/s to make the antibodies.

In addition, a microbe who doesn’t make the toxin, can also create antibodies, but it requires the amount specified above.

What do you think? I remember seeing some stuff a while ago about adding better toxin mechanics, do you think this fits?

1 Like

I hope you don’t mind, I moved your post to the thread where various possible different agents have been discussed (the general term we use for toxins).

I don’t mind. By the way, do you know where the agent actually harms the microbe? I’ve spent about an hour and a half looking for it, but I just don’t know the codebase well enough yet. I’m trying to see if I can make a fledgling prototype of my idea, but can’t really do anything until I can change how the microbe is harmed.

Look in the AgentProjectile class. Specifically AgentProjectile.OnContactBegin calls Microbe.Damage.

I’ve been proceeding through the roadmap and have been attempting to generate discussions to finally nail down concepts which have yet to be fully concluded. Discussion has started for combat (Comprehensive Combat Revamp) and the upgrade system (Upgrades, Unlocks, & Endosymbiosis Master Thread) so up next is the Toxin/Agent discussion.

I’ll kick things off by listing pre-established ideas, providing some commentary, and noting where things are less established. I’ll propose a baseline idea to get the ball rolling.

Delivery Methods

Discussion of the methods of agent delivery have been pretty productive recently, and is probably the most finalized part of this concept. The combat thread provides more details, but generally, there are three ways of using toxins…

  • Spewing toxin clouds. This will be the only way prokaryotes will be able to use agents. In Discord, @Buckly mentioned the idea of not necessarily having this toxin be a “cloud” but more like an “aura effect”, where cells in a certain proximity to a toxin-spewing organism get a poisoned effect and take damage. I was skeptical at first, but I think this accurately reflects how bacteria use agents – not necessarily “predatorily” like shooting it at something to eat it, but rather, passively in an attempt to carve out more ecological space in accessing a nutrient. This paper (Bacterial competition: surviving and thriving in the microbial jungle - PMC) provides a very good overview. I like the aura idea, but we should make sure that, firstly, players aren’t constantly boxed in by a toxic prokaryote, and secondly, that players are able to see where exactly an aura begins and ends.
  • Utilizing it in a specialized combative organelle. There are various organelle concepts laid out in the combat thread listed at the beginning of the thread, but the basic idea is that certain eukaryotic organelles will utilize toxins to inflict direct damage on another cell. For example, the most well-developed of these organelles is the nematocyst, which essentially is a poisonous spike which rapidly thrusts forward and is discarded. This will represent the more predatory and direct method with which eukaryotes utilize agents.
  • Endotoxins. Essentially toxins which aren’t spewed, but are instead kept within a cell as a means to deter predation. These are defensive, and are able to be utilized by both eukaryotes and prokaryotes.

Agent Customization

I went down a huge rabbit hole of thought, trying to make a decently customizable “lock-and-key” method of toxicology and immunology. But I couldn’t settle on system that was easy to comprehend and without major flaws. These concepts included:

  • Having preset types of toxins which are more or less effective depending on the player’s morphology. So Toxin A would be more effective against cellulose aerobic organisms but less effective against chitinous iron-respiring cells, toxin B would be different, etc. But I figured that, firstly, this would mean the player wouldn’t have much of a capacity to build immunity if we made these buffs and debuffs mean anything (they’d always be weak to something), and secondly, most players will realistically go either with a purely aerobic organism or a photosynthetic organism as they transition to the multicellular stage.
  • Having toxins be either A, B, or C toxins and having immunology be focused on splitting three sliders in the nucleus between investment against A, B, or C toxins. Then there was the question of what stopped a player from just rapidly shifting between toxin A, B, or C to make sure nothing could adapt to them, or how much attention the player would give to immunology after figuring out an optimal blend of resistance.
  • Having X types of toxins and X amount of immune system patterns, with each immune system pattern having different resistances and weaknesses. It was too rigid in my opinion.

Ultimately, I began to ask myself: as cool as a constantly changing immunology landscape sounded, would it really be necessary considering the presence toxicology has in the gameplay loop? Ultimately, the only thing we need from a toxin system is an ensurance that…

  • The various toxin-parts we have conceptualized are viable, and
  • That cells have atleast some measure of shielding themselves against toxins.

We don’t need a constantly adapting network of locks and keys between toxins and immune systems in the cell stage; in-fact, it would probably be too much to pack in, considering the fact that players would also have to manage their environmental tolerance ranges, their upgrades, endosymbiosis, etc., and considering the fact that we would have to refactor this system for the macroscopic stage continuously. If the toxin and immunology system was the major focus of combat in the Microbe Stage, then such a system would be warranted; again however, toxins are simply an avenue of the combat system in Thrive, used by, at the most, 4 parts.

I think we’d want a slightly more complicated toxin system for the macroscopic stage. First, there actually are more things we can play around with in regards to agent-warfare in the Aware stage (certain toxins target certain systems for example). And second, we understand toxicology in that regard better. We have more room to create an easily-comprehend system there I feel.

Baseline Proposal

You will be able to customize the effect of a toxin. Each delivery method will deliver a base amount of damage, but additional effect damage (and, well, effect) is customizable by the player. There are various effects available depending on the nature of the part:

  • Pure Damage: Increases damage. The default, so it isn’t a specified toggle; it’s just what is applied if another effect isn’t specified.
  • Damage-per-Second: Akin to the more traditional poison effect in most games. Lasts up to 10 seconds. (Isn’t an option for toxin clouds/auras because that part is inherently DPS).
  • Disable Movement Parts: Disables cilia and flagella. Without resistance, lasts up to 15 seconds.
  • Obscure Vision: Constricts how far you can see. For AI, this would stop threat detection and scramble movement. Lasts up to 20 seconds.

Of course, more ideas for effects are welcome. I would like to note now that toxins still apply damage if another effect is chosen, just not as much as the default “pure damage”.

There are two methods of immunology:

  • Modification of certain organelles: For example, the mitochondria will have an anti-toxicity slider which will slightly boost generalized resistance to all effects. This will take away from the energy-production capabilities of said parts, however. You can get up to a 2% generalized resistance, at a cost of 30% of the organelle’s total energy production (obviously we should rebalance if inadequate).
  • Peroxisomes: Peroxisomes are essentially small organelles containing enzymes which assist with metabolism. Also relevant to this concept, they can breakdown toxins. Peroxisomes can be placed down like lysosomes and will provide 5% resistance to a specific toxin effect for 3 ATP. You can select what toxin effect is targeted in the Modify tab.

Note that immunology nullifies the total damage (base+effect) and the actual effect itself. So, damage gets reduced, and, for example, vision gets obscured for 15 instead of 20 seconds.

I think it is important to ensure that a toxin can never fully be nullified. Even the most resilient animals we can think of, such as the mongoose and honey-badger, aren’t completely immune to venom, for example. And in cases where animals are able to completely ignore a toxin, such as in clownfish or in sea turtles, the resistance is more due to morphology rather than some innate immunity in the blood; leatherback sea turtles have tough skin and a digestive system finetuned to eating jellyfish, while clownfish secrete mucous which prevents their skin from coming in contact with sea anemone stingers.

Concluding Thoughts

There’s a minimally viable system I feel can serve as a good baseline for toxins in Thrive. It’s pretty easy to understand while still offering some customization options.

If there were concluding thoughts I would like you guys to think of after reading this proposal, it would be a few things.

First, there is room for a more elaborate toxin system in the future, since, again, there is a good amount of easily accessible information out there regarding the use of venom, poison, and other toxins in multicellular life. However, perhaps we would infact benefit from a lock-and-key method in the Microbe Stage. If you feel so, don’t hesitate in bringing it up.

Second, I’m starting to wonder if an idea like the enzyme concept menu from a bit ago is becoming more necessary. We have lysosomes and now potentially peroxisomes implemented; though they aren’t exactly enzymes, those are rather small and abstract organelles which might not cohesively be represented by the traditional part-placement for other components in the Microbe Stage. Honestly, I forsee us potentially using a similar solution for environmental tolerances in the future, which would mean three very small and abstract types of parts that can clutter the editor.

A whole other tab in the editor or something like that is unnecessary, but I wonder if we can put a Modify button on the nucleus which would essentially compartmentalize things down and provide the same effect. A nucleus Modify menu could essentially condense everything, showing the enzymes/microcomponents as a graphical list of sorts and providing options for the player to add or subtract to the number of each component present.

One thing is that prokaryotes obviously don’t have a nucleus. So perhaps the origin cytoplasm is treated as a plasmid until the nucleus is placed, which allows you to tweak your enzymes.


Otherwise, maybe it is time to more seriously consider a passive protein/enzyme system. A previous concern I had was related to how many proteins we could come up with and how far down the macroscopic stage we could make it a relevant system. Perhaps the protein system can have perks which are the closest thing to an outright flat upgrade in Thrive, and perhaps that can open the door for more customization and gameplay.

2 Likes

This is a good overview of our current concepts for everything agent related!

I must admit I have always been apprehensive of the lock and key concept. In any form of implementation it introduces a nice amount of depth that encourages players to adapt against new threats or specialize towards familiar ones, but at the cost of greater complexity and steeper learning curve for players to surmount. Thrive is already a pretty complex game, and any player with a shaky understanding of biology tends to have a lot of trouble figuring things out.

My biggest concern being that players might easily be stumped by their toxin resistance not working against species, not realizing their resistance is not effective to the toxins they encounter.
The biggest thing that would cause this is identification. How would players be able to recognize one toxin from another? Different colors?
Would cells have a clear indication of what form of toxin they possess? Normally players would be able to learn what is safe or not through trial and error, but when your reliable source of food is suddenly using a different toxin, you’re in for some unforeseeable trouble.

My only idea at the moment to remedy this, should we decide to implement this feature, is to lock additional toxin types behind a game setting as part of difficulty settings. That way, players would be able to play with just a single toxin type, and not worry about being overwhelmed by additional types until they are ready to take it on. Perhaps a part of hard mode?

The history behind the enzymes system is a messy one; It was hotly debated on what parts should remain as parts, or be transitioned into the passive slots concepts. On the extreme end, prokaryotes were proposed to not have any parts outside of external and cytoplasm. In a way, it represented a sort of crossroads for Thrive’s development, and a potential paradigm shift on how editor gameplay would play out.

In the end, we decided that keeping enzymes/proteins as placable parts was the better option, as that provides a more visual and interactive way for players to design their cell. Hh personally compares the building of your cell to that of a factory such as in games like Factorio, which is the sort of constructive sensation we decided to preserve.

Personally I think the enzymes system as it was originally envisioned should be laid to rest. If we do indeed have need for something like it, I would consider a revisioning of the membrane tab as a home for all adaptations cell-wide.

Cell-wide features such as protein temperature tolerance, internal osmotic concentration (salinity control), toxin characteristics, etc, could be fine tuned from this tab in a similar way to selecting a membrane or using a slider. This would eliminate the need for a new tab, while still keeping things sensibly ordered. These wouldn’t be enzymes or proteins, because they are traits unspecific to any part.


Now’s a good time to remind everyone that with each new layer to the editor, there is a steeper learning curve for new players, so simplicity is a major factor to consider at all times. It’s always important to review what we already have and consider if more is yet needed.

New players will always want very little on their plate, so that they can get a tentative taste for what is to come, old players will want more and more, as they’ve already enjoyed much of what is available.
With new features, you must consider this balance, and try your best to uphold it. This is why many games gradually introduce new features and forms of customization as you progress, and is a big reason behind my designs for the unlocking system. Difficulty options too, can serve well for this purpose.

Thank you for taking the time to dig through these concepts! It’s always excellent to review what we’ve gone over, and further solidify our concepts as a result.

2 Likes