tl;dr Agents are the most important part of gameplay. The proposed system allows the player to tailor agent organelles to certain organelles of certain species (while making them weak on other species and other organelles), strike a compromise between the same organelle of multiple species, or make weak agents that attack all organelles of all species, all in an intuitive manner.
Agents are arguably the most important part of the cell stage. They might not be as integral as the CPA system, but the player will likely spend 95% of his time in the cell stage interacting with them. If we fail to implement agents in an intuitive and fun manner, the gameplay will suck, to put it plainly. So let’s begin.
A while back I proposed this system to upgrade organelles. It was revisited a few months back and the general consensus was that it’s intuitive and easy to implement. To avoid having the player learn and the programmer code a whole new system for agents, I think we could evolve agents in the same way we upgrade structural organelles with a few minor adjustments. I suggest you read the linked post first to better understand the diagrams below.
The player will enter the editor as normal. He will see the typical structural organelle tab (with things like cytoplasm, mitochondria, and flagella) and will then click the next tab to see agents. The reason I separated these into various tabs is because they are placed in very different ways and have different functions. See this tab below:
The first section is the damaging organelles. All the 6 organelles I have drawn (all purpose, process, movement, storage, pilus, and membrane) have the main goal of damaging and potentially destroying the organelles of the enemy using the new health system (they will simply decrease the compound bin). As the affected organelles are damaged more and more, they won’t work as effectively until, eventually, they will shut down at zero health. If a cell runs out of mitochondria, it is no longer able to produce ATP and if doesn’t repair its mitochondria quickly, it will take ATP damage and die.
The 6 main types of organelles are simply different “upgrades” or “specializations” of the same agents/protein molecule and can be converted between one another (to specialize your agent against a certain prey species or to make a weaker agent that can target both storage and process organelles). They are provided to the player as presets to stop him from being overwhelmed. If the player adds a mitochondria damaging agent, this agent will damage the mitochondria of all species. It won’t be 100% effective against all mitochondria (because all species have unique “codes” for their organelles), but it will do the job. The general purpose agent is the weakest agent—it is able to affect all organelles but deals very little damage.
Now onto the UI that makes this all a breeze. When you double click on a placed agent organelle and click “upgrade”, it will open the following screen:
On the screen, you see a lot of elements that are common with the upgrade system. The 6 sided star grid is the “active space” where the cursor (yellow star) can move. I failed a bit at the drawing—my outside star was of the wrong dimensions so the lines don’t really fit it well and I didn’t bother to finish drawing all of the internal lines—so please ignore that part. The 6 purple circles on the corners are buttons. By pressing each button, you move the cursor in a direction parallel to the vector from the corner to the center along the white edges. In the image, the agent was already modified. If you took a stock process organelle agent, it would have started in the top left corner, and if you started with the all purpose one, you’d begin in the very center of the star.
The only difference is the GUI element with the checkboxes in the top right corner. This allows you to make sentances like “Show Mitochondria, Chloroplasts of Prey, Predators”. Putting down these checks modifies your star on the left in the following way:
Each icon is an organelle type from some species and the ring around it shows if that organelle belongs to a prey (green circle), predator (red circle), or neither (grey circle). To calculate the effectiveness of an agent on an organelle we will calculate the distance from the yellow star (agent code) to the species-specific organelle code (the circles on the image above). This distance will either be direct or a projection on a parallel vector (from star corner to center), not too sure which one will work better, but that’s an easy thing to change. At the start of the game, all of the NPC microbes’ organelle codes start in their respective star corners and after each round of auto evo they might move around. This means that in the beginning of the game the process organelle agent will be 100% effective on chloroplasts and mitochondrion (to be expected since this is the beginning of eukaryotic life and all cells share a common ancestor recently). This allows the player to focus on understanding other game mechanics and how agents work in the first few rounds before cells diversify and agents stop working as effectively on all different species.
Clicking on each organelle icon brings up a short box on the right that shows some stats about the species, such as population number, kill statistics and allows you to see how exactly it looks.
This allows you to find who kills you the most and how exactly you die so that you can find ways to defend yourself. You can also look at neutral microbes and decide how you could evolve to kill them and turn them into your prey.
I’m sure I’m missing some other things I came up with for this system, but I already spent too much time writing up this post What do you guys think?