Agents Discussion

I have been given permission to start a new thread about agents and how we will handle them.Agents are compounds that effect the environment and other cells around you. Enzymes as we were calling them before.

So far we have decided that at first agents will have random effects at low efficiency. However they have not been discussed much so here is what we need to discuss on this thread.

What effects are possible

How and how much do they scale

What is available for different species and how do they unlock new effects

Let us begin.

New effects should be handled this way:

Spoiler:

------------------------------------Effect Name, and what it does

How does it scale

------------------------------------

Discussion of Agents is also allowed. We should figure out a way to scale them all and how they are unlocked etc.

Ok, so a few of the effects we've alredy mentioned somewhere would be:

Decrease/increase efficiency of certain organelles. That would be used for most things. The question would be, when a certain organelle gets its eficiency to 50%, for example, would it consume as it was at normal functioning, or would it consume 50% of its normal consumption?

Making certain other species be atracted/fear away from you. How would it target other species? Your specie/other species? Targeting specific species?...

I suggest the nature of the agents secreted are determined with the upgrading of the Agent Vacuole. Now i'm not sure if one vacuole should produce multiple agents with upgrading or one agent per vacuole. A "fresh" agent vacuole could be secreting default agent 'glycoproteins'- basically a slime that is slowing other microbes movement by 5%? I can't see any other method of unlocking agents except upgrading and finding something in the environment it's the same as unlocking organelles question. Anyway here is some idea of agent types:- damaging agents (attacking membranes, movement organelles)- decomposing agents (turning dead microbes to food)- inhibiting agents (reducing the efficiency of enemy organelles)- defensive agents (i can only think of hiding from other)- signal agents (especially towards the multicellular)

Ok.Each agent has these Components:Effect: What the organelle does: change efficiency, change speed, change behavior, etc.Efficacy: How well it does its job- an efficiency change, a speed boost/drain factor, or a probability of affecting a targetTarget: What organelle does it target? What species does it target? Does it target anything at all?

Editing an agent's properties is simple: You click on the agent's vacuole (you can only have one agent per agent vacuole) when in the behavior tab. From here, an agent behavior window appears, which contains drop down lists of agent options for the properties above.

Efficacy Rules:When an agent targets an organelle and changes its efficiency, it simply changes the rate at which that organelle converts compounds into something else. So, as Dani said, a 50% cut to mitochondrial efficiency means the mitochondria can only take in half of the glucose that it took in at full efficiency. If you cut a flagellum efficiency by 50%, it can only use half of the ATP that it normally would, and thus speed is halved.for agents that do not target organeles, efficacy may be a bit more difficult to implement. Here are a few ideas that have been proposed that are not targeted:

Slime- fairly simple, this decreases movement speed for anything moving through it. The efficacy decides how much it reduces speed.

Agent destroying enzyme- would be a bit more difficult to implement, this would break down any agents it touches (would only work if we use an agent cloud system, not an individual entities system), with its efficacy measured in how much it reduces agent cloud density per second, or something like that.

Targeting the Nucleus:If an agent targets the nucleus, it targets the cell's AI. It could tell a prey cell to swim towards a predator, and also is what we use to communicate between cells. Efficacy might be how long the AI change lasts.

Actually, in regards to efficiency changes, the organelle should consume the same amount. If the consumption rate was reduced as well as the production rate, then it is no longer a case of a drop in efficiency, but a case of a drop in processing speed/power. If the output drops and the input stays the same, that is less bang for your buck, aka efficiency. If both input and output are dropped, that is less bang for less buck, so equal efficiency, but decreases processing power. I think both efficiency and processing power should be available to target with effects.

Efficiency: The target organelle(s) increase/decrease in their output.

Processing Power: The target organelle(s) increase/decrease in the rate at which they process.

I think the magnitude, or efficacy, of the effects of any agents should be dependent on how many times the agent vacuole has been "levelled up". I know organs in the Aware Stage can be levelled up, so can organelles be levelled up to improve efficiency and processing power?

Now bear with me, this will sound very arcade-style, but I cannot think of another way to explain a levelling system involving organelles. Here is an example Agent Vacuole and the effects at each level.

Agent Vacuole:

15% decrease to target cell mitochondria efficiency

30% decrease

45% decrease

60% decrease

75% decrease

Each time it would level up, the effects would scale up, until eventually reaching a set maximum, in this case 75%.

_________________Look at how far we've come when people thought we'd get nowhere. Imagine how far we can go if we try to get somewhere.

Last edited by NickTheNick on Wed Jun 26, 2013 3:08 am; edited 1 time in total

Each time it would level up, the effects would scale up, until eventually reaching a set maximum, in this case 75%.

That sounds like good maximum, if we would give player 100%, he would be almostly undestructible.

He wouldn't really be indestrucable, but it's next to impossible finding 'perfect' examples in nature. There will always be some things, no matter how small, which will still hinder the work of these organelles and it will probably never reach 100% efficiency.

First off, an agent that reduces other organelles eficiency by 100% doesent make the cell bearing it unkillable, it just gives them a great advantage. Opposing cells can still avoid the agent, or develop some resistance or immunity to that agent (that's another concept we need to talk about).

Second, i agree on the "leveling up" the vacuole to make it produce better agents. There are other ways of leveling up that i would like to point out, however:

Fixed cost through a list of eficiencies. Thats the method proposed by Nick. Each "leveling up" costs a fixed amount, and you just climb the list. Once you are at the top, you just cant upgrade.

Fixed cost through an infinite list. Every leveling up costs a fixed amount, but every time you get less eficiency gain. For example, that would mean that going from 10% to 30% would only need one "level up", but from 70% to 80% would need five. If you try to go to 90% from there, you need 25 "level ups".

Increasing costs through an infinite list. On top of the last one, each susequential "level up" costs more than the last. That would make it even harder geting to the higher percentages. For example, each upgrade costs 1 MP more than the last one.

All above amounts are examples, don't take them as final values.

The reason I'm proposing this is because it eliminates the "hard limit" the list presents. With the list, once you get to the last value, you know it is as good as it can get, and you forget about it. With an infinite amount of upgrades, you never reach the limit*, but there is a point where you are better off spending those points somewhere else. This is usually called a "soft limit".

*:

Computationally, there would be a limit, but getting to it would be just impossible and impractical. For example, getting 500 upgrades into an agent (apart from requiring enough MP to get to multicellular multiple times) will make it behave so close to 100% eficiency that any of the other few thousand of million of upgrades is worthless

That's a good point Daniferrito but it seems better to just reduce the percentage with upper levels, something like:

Spoiler:

-10%-30%-45%-55%-60%-64%-67%-70%-73%-75%-78%-80%

That way you don't spend lots of MP for "ghost" level ups that don't do anything, you are always improving the agent but its get less upgraded with each level and i think it's easier to understand don't know about implementation though.

About the resistance gaining, i've said it before, what do you guys say about plasmids?http://en.wikipedia.org/wiki/Plasmid

Spoiler:

A plasmid is a small DNA molecule that is physically separate from, and can replicate independently of, chromosomal DNA within a cell. Most commonly found as small circular, double-stranded DNA molecules in bacteria, plasmids are sometimes present in archaea and eukaryotic organisms. In nature, plasmids carry genes that may benefit survival of the organism (e.g. antibiotic resistance), and can frequently be transmitted from one bacterium to another (even of another species) via horizontal gene transfer.

NickTheNick i agree with you that the environment should be rich with lots of stuff to be explored by the player and give him just rewards for this but there are other things that could serve this purpose besides organelles.Another thing, about unlocking new agents so 1 agent vacuole produce 1 agent max, does this mean that there would be at least 10 types of Agent vacuoles each a different organelle or The Agent Vacuole is one organelle that can be upgraded to different kinds like so:

Spoiler:

Last edited by Tritium on Wed Jun 26, 2013 7:35 am; edited 1 time in total

Increasing costs through an infinite list. On top of the last one, each susequential "level up" costs more than the last. That would make it even harder geting to the higher percentages. For example, each upgrade costs 1 MP more than the last one.

I personally like this one the most. The player won't have any strict upper limit to the agents efficiency (except for 100% which is technically, like I said, impossible to achieve) so we would give him more freedom, which is good.

Here is a proposal, the Agent vacuole is a organelle unlocked at some point, not upgraded it doesn't do anything besides storing some compounds in it- serves as a container. If the player finds a Plasmid DNA from enemy he gets the option to upgrade the Vacuole to produce that agent the plasmid coded, further upgrades only require MP and only increase efficiency. The plasmid also gives % resistance to the same agent produced from enemies upgrading the vacuole upgrades the resistance also. One Plasmid only upgrades one Agent Vacuole so in order to make 3 different types of vacuoles the player would need to make 3 default vacuoles and find 3 different plasmids. Only one of each type Agent Vacuole is permitted to the player i.e. player cannot make 3 lets say Lysosome Vacuoles.

That way you don't spend lots of MP for "ghost" level ups that don't do anything, you are always improving the agent but its get less upgraded with each level and i think it's easier to understand don't know about implementation though.

Actually, that is what i meant. Lets put an example (it is the easies one to understaund, althrough it is definetly not the best one):

Each upgrade gives you half the percentage missing to 100%. You start of at 0%.

Spoiler:

0%

50% (100% missing, so 100/2=50)

75% (50% missing, so 50/2=25)

87.5%

93.75%

96.875%

98.4375%

99.21875%

99.609375%

99.8046875%

99.90234375%

99.951171875%

99.9755859375%

...

This grows WAY too fast, put it gets the point. You can keep upgrading, but you will never reach 100%. Once you get to level 7, further upgrades barely do anything, so it is better to spend points somewhere else.

The only thing needed to implement this is a formula where you give it the level you are in, and it returns the percentage.Acording to Mathematica, the formula for this sucession would be: . Dont worry about the formula, however. Almost any kind of sucesion can be converted into a formula.

A quick note about changing the 'efficiency' of an organelle, we can't arbitrarily change how much of an input is required to produce an output. In photosynthesis, for example, you need 6 water (h2o) + 6 co2 to make 1 glucose (c6o6h12) + 6 oxygen (o2). You can't increase efficiency by 50% and now produce 1 glucose + 6 oxygen per 4 water + 4 co2 (i.e.: 1.5 glucose per 6 water).

Apart from being scientifically ridiculous, the main reason for this is that the compound system is supposed to be closed, it doesn't lose compounds, and they're not generated either, they're only converted from one form to another.

There are a few exceptions which we could play with. One is energy input to the system (light + heat), so that we could make chloroplasts/thermoplasts use more or less light/heat in order to produce sugar. The other is stored energy (ATP) used/produced by various processes, as for most processes the energy requirements is arbitrarily chosen by us (we simply don't know the true values), and even where we do know (aerobic respiration) we have a range of possible values (32-38 ATP per glucose?) and we can reasonably say that primitive aerobic respiration produced less (and more advanced versions may produce a little more).

Effectively, changes in process efficiency (due to either agents or upgrades to organelles) can change the rate at which they occur, and the amount of energy they produce/use, but not the amount of input/output compounds they require/produce, if we want to keep this scientific.

I agree with Dani's diminishing returns leveling process. So at the moment, we're pretty much in agreeance that, in terms of efficiency:

Agents will begin at low efficiency, and you can level them up: each increase in efficiency becomes smaller as you progress.

Organelle efficiency reductions simply limit how much of a compound the organelle can take in, making its production rate effectively decreased.

Now, my suggestions/answers.On Plasmids: Plasmids are (to my knowledge) only used by bacteria, and you won't be a bacteria in-game. Beyond this, as we've stated before, we don't want the game to be about running around and collecting parts- we want it to be about survival and more importantly reproduction. We do want a lush environment, but I think that can be achieved easily simply by having a high degree of biodiversity.

On Unlocking AgentsThe Agent Vacuole evolves from a standard vacuole: you are granted the ability to use the vacuole randomly, but only if you already have a vacuole. When you add the Agent Vacuole, it gives you a random agent at low efficiency. From here, you can be granted (again, randomly) different types of agent which you can then manufacture in the vacuole (which will again begin at low efficiency): you can only manufacture one type of agent in a vacuole, so if you want to make 2 different types, you need 2 vacuoles, and so on.

I may not be a programmer but I agree that the limited leveling sounds good. As a gamer myself I can vouch for the mentality of "It's at 100% so I can just forget about it." Makes for a choice of, "Well, I can increase my agent's efficiency, or I can get something else that may make my cell survive better."

As for using vacuoles, what about the supply of them once they are made, with some a constant excretion would be better, such as the slime, but for others, what about storing them in the vacuole until they are needed, the size/shape of the vacuole would have some effect I would imagine. If that's a non-issue then never mind :lol:.

A quick note about changing the 'efficiency' of an organelle, we can't arbitrarily change how much of an input is required to produce an output. In photosynthesis, for example, you need 6 water (h2o) + 6 co2 to make 1 glucose (c6o6h12) + 6 oxygen (o2). You can't increase efficiency by 50% and now produce 1 glucose + 6 oxygen per 4 water + 4 co2 (i.e.: 1.5 glucose per 6 water).

Apart from being scientifically ridiculous, the main reason for this is that the compound system is supposed to be closed, it doesn't lose compounds, and they're not generated either, they're only converted from one form to another.

There are a few exceptions which we could play with. One is energy input to the system (light + heat), so that we could make chloroplasts/thermoplasts use more or less light/heat in order to produce sugar. The other is stored energy (ATP) used/produced by various processes, as for most processes the energy requirements is arbitrarily chosen by us (we simply don't know the true values), and even where we do know (aerobic respiration) we have a range of possible values (32-38 ATP per glucose?) and we can reasonably say that primitive aerobic respiration produced less (and more advanced versions may produce a little more).

Effectively, changes in process efficiency (due to either agents or upgrades to organelles) can change the rate at which they occur, and the amount of energy they produce/use, but not the amount of input/output compounds they require/produce, if we want to keep this scientific.

So agents would affect the processing power of organelles, or their efficiency when the input is specifically some sort of energy like light, heat or ATP.

I agree on the idea of the compound system being a closed system, but isn't that impossible to avoid? When a cell converts a compound to ATP, and then uses that ATP to move, isn't the ATP expended and not converted? (Nevermind I completely forgot one of the basics of biology). For later stages in the game, such as the Strategy Mode, when your population consumes a certain mass of food, it just gets consumed and does not turn into anything. I guess this means we should introduce waste production system to keep the balance of compounds.

_________________Look at how far we've come when people thought we'd get nowhere. Imagine how far we can go if we try to get somewhere.

A quick note about changing the 'efficiency' of an organelle, we can't arbitrarily change how much of an input is required to produce an output. In photosynthesis, for example, you need 6 water (h2o) + 6 co2 to make 1 glucose (c6o6h12) + 6 oxygen (o2). You can't increase efficiency by 50% and now produce 1 glucose + 6 oxygen per 4 water + 4 co2 (i.e.: 1.5 glucose per 6 water).

Apart from being scientifically ridiculous, the main reason for this is that the compound system is supposed to be closed, it doesn't lose compounds, and they're not generated either, they're only converted from one form to another.

There are a few exceptions which we could play with. One is energy input to the system (light + heat), so that we could make chloroplasts/thermoplasts use more or less light/heat in order to produce sugar. The other is stored energy (ATP) used/produced by various processes, as for most processes the energy requirements is arbitrarily chosen by us (we simply don't know the true values), and even where we do know (aerobic respiration) we have a range of possible values (32-38 ATP per glucose?) and we can reasonably say that primitive aerobic respiration produced less (and more advanced versions may produce a little more).

Effectively, changes in process efficiency (due to either agents or upgrades to organelles) can change the rate at which they occur, and the amount of energy they produce/use, but not the amount of input/output compounds they require/produce, if we want to keep this scientific.

So agents would affect the processing power of organelles, or their efficiency when the input is specifically some sort of energy like light, heat or ATP.

I agree on the idea of the compound system being a closed system, but isn't that impossible to avoid? When a cell converts a compound to ATP, and then uses that ATP to move, isn't the ATP expended and not converted? (Nevermind I completely forgot one of the basics of biology). For later stages in the game, such as the Strategy Mode, when your population consumes a certain mass of food, it just gets consumed and does not turn into anything. I guess this means we should introduce waste production system to keep the balance of compounds.

Yes, there are a few places where we need to be careful about the system being closed or not. ATP for example is really made from ADP + phosphate, and when used is converted back to those, but there's really no point modelling that in the game. Basically, the only thing that should leak from the system (in the early stages) is ATP, and the only thing that should be added is light/heat energy.

For the later stages, as scio said, we don't need to be so strict. However, if we want a closed system (there are advantages, but I don't yet know if it's necessary), we would need to model waste. In your food example, that food would be converted to a mix of sewage and atmospheric gases when consumed, and we would probably put the nutrients in the sewage directly back into the environment as soil nutrients... unless we want to properly simulate fertility.

Yes, there are a few places where we need to be careful about the system being closed or not. ATP for example is really made from ADP + phosphate, and when used is converted back to those, but there's really no point modelling that in the game. Basically, the only thing that should leak from the system (in the early stages) is ATP, and the only thing that should be added is light/heat energy.

Actually, we do have an exit when compound clouds fade out. That could present a problem. One workaround I can see is having background compound levels, where no matter where you are, the concentrations of compounds are at some constant low base.

For the upgrade system, I think we should use levels as described by the sequencean=an-1+(13-n) wherea0=22We then get the sequence22,34,45,55,64,72,79,85,90,94,97,98,100

Assuming that all agents are made from some mixture of compounds (otherwise they would be pure energy and we don't need to worry about it), when they break down/dissipate we can return those compounds to the overall environment, and they would be averaged over the environments area to give the back ground levels you suggest. The same background level would apply to other ubiquitous compounds such as dissolved oxygen/co2 etc.

EDIT - just realised your post was compound clouds in general, not agents specifically, so what you said is pretty much what i would've suggested.

Assuming that all agents are made from some mixture of compounds (otherwise they would be pure energy and we don't need to worry about it), when they break down/dissipate we can return those compounds to the overall environment, and they would be averaged over the environments area to give the back ground levels you suggest. The same background level would apply to other ubiquitous compounds such as dissolved oxygen/co2 etc.

EDIT - just realised your post was compound clouds in general, not agents specifically, so what you said is pretty much what i would've suggested.

Ok, glad we got that figured out, otherwise we'd have serious ecological issues. Also, what do we want to make agents out of, and how much energy does it take to make them. I'm going to say right away that I want all agents to be made of the exact same ingredients to save us a whole lot of work down the line.I'm going to say we make agents out of a little bit of everything._Protein+_H2O+_Sugar+_Fat___________= 1 CompoundI'm just going to take a shot in the dark and say 3 Protein+6 H2O+6 Sugar+2 Fat

Pretty much agree with that. Definately have them all made of the same thing, primarily protein and some sugar, not sure if they'd need fat or water.

At this point we could have them made of a bit of everything as you say, but in terms of gameplay we might want to consider having different basic compounds (protein, sugar, fat) be useful for different things:sugar -> energy, signalling molecules (that's a guess, I know they're used for cell surface receptors)fat -> energy, cell membranes and organelle constructionprotein -> agents, flagella and other structures, organelle construction...

Pretty much agree with that. Definately have them all made of the same thing, primarily protein and some sugar, not sure if they'd need fat or water.

At this point we could have them made of a bit of everything as you say, but in terms of gameplay we might want to consider having different basic compounds (protein, sugar, fat) be useful for different things:sugar -> energy, signalling molecules (that's a guess, I know they're used for cell surface receptors)fat -> energy, cell membranes and organelle constructionprotein -> agents, flagella and other structures, organelle construction...

That's something more for a general compound management thread.I put the water drain in to account for dehydration synthesis. I'd like to have signal agents be made purely of sugar for realism, but I don't know if it's really worth doing at all, so at this point, we say all agents are made of the same thing.