I'd like to clear up some terminology since I think I did a bad job with it in the first.
Organelle code: a species-specific vector that shows what agents will work on an organelle.
Agent code: a hex/3-dimensional vector that specifies the location of the agent on the upgrade space.
The agent code and the organelle code are compared to determine potency of the agent.
Upgrade space: the pointed star in this example that shows where the agent code could be located.
Yep, not a bad idea. We do need to be careful to prevent the UI from being over cluttered with various pieces of information. There also needs to be a screen where we can bind numbers to agent organelles (so pressing 1 releases agent A and pressing 4 releases agent B).
Dang, I knew I was forgetting someone. There are different sections on the organelle box. The one I talked about were the damaging organelles. There are also defensive ones, we could probably add communication, miscellaneous, and a bunch of others. I'd like to start with only damaging ones for 0.4.0, but we'll obviously add the whole array of agents described in the GDD in 0.4.1+, so post your ideas on how they would work. Could you pm me the link to your prototype on slack? I don't have time to check it out right now and am worried I might forget.
I assume you mean the organelle code. We could either let auto evo handle it using the same system as for NPCs, or we could add another tab in the upgrade screen that shows the agents of all other cells to let the player modify, or we could do both: have it be modified automatically, but allow the player change it.
Communicating agents deserve a whole thread dedicated to them (I changed this one to damaging agents to keep discussion more focused). It would be cool to tie in communicating agents with the behavioral editor to specify your own behaviors and to change the behaviors of other species.
I don't really know how auto evo will decide which mutations are beneficial or not, it really depends on how we end up calculating population dynamics offscreen. If it's some simple formula, we could use the gradient to find the mutations that result in the greatest population increase, if it's more complex, we could try 5-10 different mutations and choose the best ones effect on the population size (anything to add @tjwhale?) . But ideally auto evo will change both organelle and agent codes.
These will all be separated into differenent sections.
* Neutralising agents - would work the same as damaging agents, but instead of plotting organelle codes, you'd plot agent codes of different species. Then during gameplay you'd compare the two codes and if they are close enough, the enemy agent is neutralized, if they are farther apart, the enemy agent is not as potent and more diluted.
* Bioluminescent agents - This would likely fall into the category of secretion organelles (which includes glucose secretion, oxygen secretion, co2, etc), except that you will be excreting a cloud of luciferin. The agent upgrade box will likely be almost identical to the organelle upgrade box (actually, excretion organelles could very well be put under structural organelles)
* Bonding agents - Bonding agents aren't actually agents. They're more of protein/glucose hooks sticking out of the membrane that allow other cells to grab onto them and as such should work as membrane upgrade or an external organelle.
* Signal agents - I'd like to divide these into two types. The first ones is cell signaling over gap junctions and will be the one used to create multicellular organisms, this will be a membrane upgrade. The second is paracrine signaling and involves releasing agents into the environment. I don't know how this will work exactly, since I want to tie it into the behavioral editor, but you're right that we will probably have to use something else for that class of agents. It would still probably be an upgrade window of some sorts, it just won't have the upgrade space star.
* Inhibitor/stimulants - these agents will probably not damage organelles (lower their compound bin), but will simply affect their process rate (process organelles) or capacity (storage organelles). They offer the benefit of lasting longer (a cell can quickly fix a damaged organelle if it has enough resources, but inhibitors will last a certain time). I think the upgrade system described above works perfectly for this types—the closer the codes, the longer the duration and th stronger the effect.
In my opinion it works fairly well for most of them. For the ones it doesn't, we could devise a separate system. I'd prefer consistency, but you bring up a good point that some agents are too different from each other to be modified in the exact same way.
I'm not too sure what you are saying. Are you talking about organelles taking up more space, in which case I think all organelle will still occupy the same amount of hexes regardless of updates (e.g. mitochondria will be 4, chloroplasts will be 6).
Exactly, this is basically what I wrote in the beginning of this post.
Once again, you're taking words out of my mouth which is good, since it means the answer will be intuitive to other players.
Dammit wayward! You could have saved me a lot of time if I read your post before I started mine.
Each division of the grid is a set amount of mutation points (lets say its 10). A 3d slider would be less intuitive and physically appealing in my opinion than clicking where you want to go.
These are just preset positions for the agent code. The pilus would start in the the lower right corner (in the general viscinity that the pili of NPC cells will start). This makes it so that placing a pilus-affecting agent without doing any upgrades will hurt the pilli of other cells.
It really depends on how long the time between each mutation cycle is, and how much auto evo changes the organelle codes. If each cycle is 5 minutes and auto evo only moves 1 edge at a time, you'd be able to play for around 30 minutes with your agent still affecting your prey. Personally, I love micromanagement in games, provided that I can micromanage when I want and I'm not penalized for not micromanaging. This is what I'm trying to go for here—if you want to constantly upgrade your organelles and agents, you can (which adds depth to the game and more complexity for the experienced player), but if you're a casual player, you could very well pass the cell stage without opening the upgrade window once.
This is the purpose of stock agent organelles. You can just plop a process damaging organelle and it will damage the mitochondria of all species.
Boo! In all seriousness though, a small minority of cells use pili in real life, and I'm hoping to keep it that way for the cell stage. Engulfment on the other hand (or burrowing through the membrane of large cells if you're small) I'm all for, and I'm hoping that people will use it instead of a pilus. I'd say that agents are more of flamethrowers or freeze guns that traps in a shooter (I'd say that signaling/communication agents are more landmines/traps). But as you said a while back, agents are really a mechanic that we have to implement before we can see how fun they are.
We could probably have both. Your organelle code changes as time goes by automatically, but you could come in and tailor it using mutation poitns.