Darwinbots Forum

General => Biology => Topic started by: shvarz on August 02, 2005, 02:40:07 PM

Title: Metabolism
Post by: shvarz on August 02, 2005, 02:40:07 PM
Look at this article: http://biology.plosjournals.org/perlserv/?...al.pbio.0030228 (http://biology.plosjournals.org/perlserv/?request=get-document&doi=10.1371/journal.pbio.0030228)

I did not read it very carefully, but it seems to be a perfect model system for metabolism in DBs.  The article is fairly easy to read, so go and read it!
Title: Metabolism
Post by: shvarz on August 03, 2005, 11:32:45 AM
Nums, did you look into this article?
Title: Metabolism
Post by: Numsgil on August 03, 2005, 05:20:58 PM
Oh yeah, sry, I forgot to post.  The idea of substances being defined as a collection of other substances I found interesting, and perhaps usable.  I couldn't figure out how they implemented the enzymes though.   The language is about 3 inches above my head, if you know what I mean.
Title: Metabolism
Post by: shvarz on August 03, 2005, 06:02:13 PM
Look in Materials and methods in section called "Enzymes".  Can't say I understand everything in there, but here are the basics:

An enzyme is an intermediate between donor of a group and an acceptor of a group.

Say you want to transfer the very first group in a chemical and your donor is: 1000001 and acceptor is 0000010

Edit by Numsgil to improve readability
The enzyme responsible for transfer of this group reacts with donor: 1000001+E=0000001+E(1)  The rate at which this happens depends on several things:
1. how much of enzyme is free E(0)
2. how much of enzyme is bound to this group already E(1)
3. how much donor and acceptor are available
4. efficiency of enzyme (k)
5. the amount of energy released (lost) during transfer (q)

Initially they set enzymes to be very non-speicific, so that all molecules that have this first group serve as donors and those that don't have this group serve as acceptors with some efficiency k.  And they allow these efficiencies to mutate (with zero-sum of total efficiency) so that after a while some molecules cannot be used as donors by an enzyme at all and others are used very well.

let me know if you have other questions.  

I need your opinion on feasbility of a model like this for our purposes - how much memory this baby's going to take up and how fast would it be to process all this data (2^7 molecules with free energies), about the same number of enzymes with each enzyme having 2^7 values for kinetic constants.
Title: Metabolism
Post by: Numsgil on September 20, 2005, 06:08:03 PM
I'm totally going to sit down and spend some time reading this article soon, but I need to print it out to do so...

I'll post my thoughts on it before tomorrow.
Title: Metabolism
Post by: Numsgil on September 20, 2005, 11:41:17 PM
Okay, this is a really neat thing they've done.  Here's what I've gathered from it (wow is this long):

1.  There are some substances called 'metabolites' that cause the cell they're in to grow.  In Darwinbots, this would be nrg and body.  Not all metabolites cause a cell to grow, which means the cell must learn to form as much of these metabolites as possible.

2.  As their cells grew, it diluted the concentration of metabolites in the cell, making the enzymes less effective.  We can totally do this in Darwinbots.  Larger cells will need more enzyme to get the work accomoplished.

3.  Mutations would increase the rate constant of a single reaction of an enzyme at the cost of all others.  The reverse is also true, decreasing the rate constant of a single reaction increased the efficacy of all others.

4.  Enzymes cost metabolic money.  So each enzyme must pull its own weight or be detrimental to the cell.  In our system, we'd have somethig like each enzyme costs 1 nrg per cycle.  (Likely less, but I think you understand my point).

This fits in well with the new idea of expanded cellular upkeep I've been playing with, where cells have to pay nrg per cycle for any body they have.  (which I'll discuss in another thread if you're interested.

5.  They assume that the early cell enzymes were general, one-size-fits-all in real life, that can metabolize anything and everything, and use that as the start of their model.  This makes sense to me as a fine assumption to make.  I can see possible arguments against this, but maybe we can play around and see what we come up with.

6.  Now for the fun part:  They have 7 basic "biochemical groups".  These would be things like the hydroxyl group in real biology (-OH), etc.  Metabloites are formed by combinations of these groups.  Since there are 7 groups, there are a total of 2^7 metabolites, or 128.  (If the reason its 2^7 escapes you, I can post further and explain).

From these 128 possible metabolites (I would assume even 0000000 is assumed as a metabolite (this is called X0 I think)) they picked 23 different metabolites at random and chose them as directly related to cell growth.  In our sim, we'd just have to assign nrg and body, etc, a metabolite.

All reactions are assumed to transport these groups from among metabolites.  Assume we define one metabolite as 0001100 (that is, there's only two groups, the 4th and the 5th).  A reaction might take it plus 0011000 and form 0011100 and 0001000.  One might be a useful metabolite for cell growth.  The other might be a waste product.

This is the core of their system, and is something I can totally see working.  Might be tricky with memory constraints, though.  If we say that all metabolites break apart into their constituent parts outside of biological cells, this becomes less difficult.  The memory goes from 128 integers per Egrid cell to 7 integers per egrid cell.  Or maybe all but the standard metabolites in our system (nrg, for example) break apart.

We can figure that part out pretty easy I think.

7.  They assumed that the environment was full of X0 and X127, that is 0000000 and 1111111, so there were pools and sinks for which groups could be manipulated.  I don't know that we need to do this.  Keeping the amounts of the groups constant could be alot of fun.  Anyway, this part needs examination.

8.  In the end they were able to form realistic looking metabolic hubs, with enzymes specializing over time.  Very encouraging results.

Here's what their thing looked like in the end.  marvelous.  Note that not all metabolites are used:

(http://biology.plosjournals.org/archive/1545-7885/3/7/figure/10.1371_journal.pbio.0030228.g002-M.gif)


9.  Technical nitty gritty:I'm going to have to study their math.  It's not hard, but the type is tiny...


And here's what I'm thinking for DB:

1.  We set up 7 groups, 128 metabolites, and assign random free energy to them all.  We pick one of the metabolites, one with relatively high free energy, as the metabolite to represent nrg.  Likewise for the relatively few things we have in Darwinbots, like Body and maybe venom, waste, etc.  The selection does not need to be a whole lot more than random.

The real problem is that a natural metabolic system will want to develop, and we want our chosen metabolites->existing DB things to be a natural grafting of two very different systems.

2.  Each bot has a stomach with 128 slots, where it can store up to 32000 of each (or maybe we use longs and they can hold 2E9.)  Metabolites take up volume (increase cell size and thus drag) and mass (making the bot heavier decreases the effect of forces).

Bots can expel metabolites one slot at a time, unless waste management drastically changes.  Or maybe you have to expel all at once or none at all.  We can discuss.

3.  Enzymes are defined as 7 bits, just as in their experiment (I think that's how they did it).  The number of enzymes should be dynamic and unbounded (other than 0 of course).  Each enzyme costs nrg every cycle to maintain, or the cell dies/ enzymes die.

Each enzyme could metabolize N metabolites a cycle, where N is constant and fixed in the sim settings perhaps.  Maybe 3 would be a good value.

Cells should have ways, wether voluntary or no, to dynamically change the number of enzymes in relation to environmental conditions.  This is tricky, and I welcome ideas on how best this can be done.

4.  Enzymes will, of course, mutate just as if it were DNA code.  Maybe it'll have a new section in the mutations panel.

Shvarz or PY, would it be proper for me to ask the writer of the article for help on this, or maybe source code?  I don't know the professional ettiquete on something like this.  There is an email listed with the article...
Title: Metabolism
Post by: Ulciscor on September 20, 2005, 11:54:08 PM
Awesome. A lot to take in and I don't understand it all, and I don't think I really need to, but from what I can get it does seem cool.
Title: Metabolism
Post by: Numsgil on September 20, 2005, 11:57:22 PM
It took me something like 2 hours to figure it out.  The reading is dense.  We can all but directly cpy their method and expect to see their results.

The hard part is figuring out how to graft our current system ontop of this, and give the bots some way to actively take charge of their metabolic activities (wether controlled throught the DNA or not).
Title: Metabolism
Post by: shvarz on September 21, 2005, 01:22:34 AM
Good summary Nums!

On a large scale I agree with everything, we can iron out details later.  Have you thought about assigning 1111111 as energy all the time?  Also, we can have different "metabolsims" every time by assigning different free energy on each run.  We can specify one as "universal", but in general that part can be left to fiddle with, right?

It would be absolutely OK to contact the person that is specified as "contact" on the first page.  In theory they MUST provide you with all the details necessary to reproduce their result, and even with an official reprint of an article.  In practice they may ignore you or reply so slowly that you give up.  That depends on the person.  Would not hirt to write in any case.
Title: Metabolism
Post by: Numsgil on September 21, 2005, 09:06:17 AM
Yep, I definately see different mebo systems being constructable.  The hard part will be meshing it with the current system.  Ie: some way for plants to form energy from "nothing", etc.

I'll give the contact guy an email.  I was thinking that it would be just fine, but then I could see the case where research would be considered proprietary, or something along those lines.  Like asking World of Warcraft to see their source code and methods...
Title: Metabolism
Post by: PurpleYouko on September 21, 2005, 09:24:45 AM
Quote
some way for plants to form energy from "nothing", etc.
Just use sunlight as a metabolite. Then you can link photosytnthesis processes into it.

That's one heck of a complex system you have come up with. Hope it isn't too complex.
Title: Metabolism
Post by: Numsgil on September 21, 2005, 12:56:38 PM
I was thinking about sunlight as a metabolite, except it has some problems.  Plants don't really use sunlight to form physical "sunlight" molecules.  They use it to drive a reaction that is uphill.

The hardest part is figuring how the heck the bots can control it all.  That'll be the hard part.
Title: Metabolism
Post by: PurpleYouko on September 21, 2005, 01:51:33 PM
But you don't need to overcomplicate it with needlessly conforming to reality.

In the universe of DB, bots can litterally have an enzyme that directly converts sunlight to energy. It just doesn't matter.

Personally I think that making DB conform to actual reality will be detrimental. Keep it conceptual.
Title: Metabolism
Post by: Numsgil on September 21, 2005, 03:53:46 PM
What I meant is more that sunlight is used to go in a direction that free energy would not go spontaneously.  So I'm thinking there'd be a way for an enzyme to figure out how to use sunlight to drive its reaction in reverse, or something like that.
Title: Metabolism
Post by: PurpleYouko on September 21, 2005, 04:30:46 PM
What does it matter. We don't need to model real chemistry.

If you do though, just think of it as a catalyst without which a normal forward reaction cannot proceed.
Title: Metabolism
Post by: Endy on September 21, 2005, 05:54:12 PM
I was thinking that the reactions for plants and animals could produce different types of waste this way they couldn't feed from their own waste. We could probably just include waste types, as enzymes specified by the enzymes used initially to feed. Should make many more niches possible for the system as a whole.
Title: Metabolism
Post by: Numsgil on September 21, 2005, 06:33:21 PM
The way the system described in the paper worked, there were many metabolites that were excreted as waste.  With a little tweaking I'm sure we could create a stable cycle between autotrophs and heterotrophs.
Title: Metabolism
Post by: d-EVO on December 07, 2008, 04:13:08 PM
just an idea

maby add anothere factore like mineral and salt deposits.
plants will grow on them and depending on how much contact they make with the diposit and how much sunlight they recieve. they produce energy.
this will encorage plants to make "roots" in the soil and branches above for both minerals and sunlight.
as well as creating a more dinamic environment encoraging complex behavior to evolve. eg. tuneling ant bots.

plants cant make energy from sun alone. it simple stores the suns energy into molicules "nrg" which can be accesed by the plant or eaten by herbivores.
Title: Metabolism
Post by: ikke on December 08, 2008, 03:19:50 AM
Great minds think alike. Some time ago in a discussion on the simplicity of DB ecology I launched the idea of shapes having their own physics. Basically cost, movement type etc , mutation rate are a parameter of the shapes in the sim, not of the sim itself. Yesterday I was thinking that with this construct ion you can also expand the difference between plants and animals. If a shape has a concentration of nutrients and if the defining characteristic of plants is they can convert nutrients and energy into body by means of surface exposure to nutrients and energy we can do all sorts of fun stuff.
Water: shape with nutrients & energy both available. Plants possible
Soil: shape with nutrients only, high density / movement cost, no energy. No plantgrowth
Air: shape with low density / movement cost, no nutrients, energy only. No plantgrowth
Border between soil & air: plant possible bottom half of the plant gets nutrients, top half gets  energy, the plant converts it into body.
If energy is further defined as having a direction (pond and / or shading) there is a reason to develop MB veggies with roots and leaves
Animals are defined as having the ability to convert body into energy (-6  shots, strbody )or to steal energy (-1 shots), and by doing so forsake the ability to convert nutrients & energy into body
Title: Metabolism
Post by: Numsgil on December 08, 2008, 04:22:37 AM
My ambitions are more temperate from 3 years ago, but I'm still playing around conceptually with this stuff.  It's tempting to implement some sort of photosynthesis metabolic pathway, and other metabolic pathways for animals, etc., but I'm also wary of making it complicated for the sake of complication.  I definitely like the idea of tunneling through shapes.  For antbots if nothing else.  Right not the bot-bot interactions are pretty rich but the bot-environment interactions are pretty weak.

Tunneling will probably work through ingestion, so I'm going to have to invent a new substance to represent what shapes are made out of.  I'm also tempted to allow for liquid shapes: essentially ponds I suppose.  The physics would be pretty cool if the bottom of the sim is liquid, and bots use buoyancy to rise and fall, and the top of the sim is more like what we have now, and bots have to fight gravity.  I'm still working through how the physics would work for a bot floating on the top of a liquid, but I think it's doable.  Anyway, those two could cover water and soil.

It's the last step that I'm hung up on.  I don't know that I like the idea of requiring water or soil or something like that for plants to photosynthesize.  It puts a real limit on the sort of sims that people can run.  And having those substances provide some sort of bonus (+25% photosynthesis) seems especially silly.  On the other hand, cycles are important for the healthy functioning of an ecosystem.  Carbon cycle, water cycle, etc.  So another idea is to require substances in addition to light to photosynthesize, and just have them ordinarily be omnipresent.

So I dunno, it's an interesting problem I'm still thinking about.
Title: Metabolism
Post by: ikke on December 08, 2008, 05:14:47 AM
Quote from: Numsgil
Tunneling will probably work through ingestion, so I'm going to have to invent a new substance to represent what shapes are made out of.  I'm also tempted to allow for liquid shapes: essentially ponds I suppose.  The physics would be pretty cool if the bottom of the sim is liquid, and bots use buoyancy to rise and fall, and the top of the sim is more like what we have now, and bots have to fight gravity.  I'm still working through how the physics would work for a bot floating on the top of a liquid, but I think it's doable.  Anyway, those two could cover water and soil.
I haven’t looked at the pysics part of the code, to do for tonight. Is there any part I would need to look at in particular if I want to see what you already have?
Quote from: Numsgil
It's the last step that I'm hung up on.  I don't know that I like the idea of requiring water or soil or something like that for plants to photosynthesize.  It puts a real limit on the sort of sims that people can run.  ()  So another idea is to require substances in addition to light to photosynthesize, and just have them ordinarily be omnipresent.
To me this would be what I defined as a water shape; pretty much the current environment. So I don't see your comment with respect to complexity. As for the physics of metabolism: I'd leave it at nutrients (isn't this really an expanded version of waste?) and energy. Define a level of presence in the environment for each, and a ratio of consumption when transforming into body by veggies. I don’t know if I created a wrong impression, but to me water was a medium, like soil and air, not a part of metabolism.
I'd not go for modeling the integral ATP ADP cycle. If this was the original idea I do see your point about complexity.
Title: Metabolism
Post by: Numsgil on December 08, 2008, 08:21:44 AM
Quote from: ikke
I haven't looked at the pysics part of the code, to do for tonight. Is there any part I would need to look at in particular if I want to see what you already have?

Nothing much in the code right now.  I have a C++ version I was playing with, that I'm slowly copying from to fill out the C# version.

Quote
To me this would be what I defined as a water shape; pretty much the current environment. So I don't see your comment with respect to complexity. As for the physics of metabolism: I'd leave it at nutrients (isn't this really an expanded version of waste?) and energy. Define a level of presence in the environment for each, and a ratio of consumption when transforming into body by veggies. I don't know if I created a wrong impression, but to me water was a medium, like soil and air, not a part of metabolism.
I'd not go for modeling the integral ATP ADP cycle. If this was the original idea I do see your point about complexity.

Yeah, the original idea was to model some complex metabolic cycles analogous to the critic acid cycle.  But I'm not going down that route anymore.

The bot environment right now, under default settings, is more like air or even vacuum.  There's very little reactive forces.  The idea I'm playing with is for the users to be able to define specific shapes with some custom parameters.  They could make them solid, like they are now, or play with some other settings.  Making them a dense liquid would let bots use buoyancy to float and sink, etc.  I'm playing with the idea that bots could gather abiotic resources from shapes when they dig into them, and use those as raw materials for various things.  The other option is for the user to specify how saturated shapes are in various resources when they set up the custom parameters.

I want to shy away from hard defined things like "this is a water zone, therefore it has properties X Y Z", because I think it's too artificial.  I much prefer lots of tweakable parameters and a few defaults to set them to.  So you could create a shape, set it to some default (loose soil, water, granite, etc.), then tweak parameters as desired.

I'll probably end up creating 1-3 abiotic resources, and incorporate them into the manufacturing process for various components and photosynthesis.  Like maybe you need dirt/rock/soil/whatever to make shell with, or you can make shell without it but you have to manufacture some extra components first, or something like that.  On the other hand, by default I don't want sims to have issues with bots being unable to create shell because every single shape has been mined by other bots already (though it might be a fun custom sim).

Then, with those 1-3 abiotic resources, we need a process whereby bots can extract the resources.  For a solid shape, they could just ingest some of the shape (useful for tunnelling, too), digest the good bits, and poop out the waste.  For a fluid shape they'd do something similar but maybe there's diffusion to deal with, so a bot would have a hard time (diminishing returns) extracting all the useful raw materials from a fluid  shape.  The trick is to decide if the useful resources are the shape, or if they're embedded in the shape and most of the shape is just junk.

Ah, I'm rambling.  Just consider it a brain dump of what I'm thinking right now.
Title: Metabolism
Post by: d-EVO on December 08, 2008, 09:11:56 AM
That is exactly what I had In mind
Will make a small diagram to illistrate it to others
Title: Metabolism
Post by: ikke on December 08, 2008, 09:45:17 AM
Quote from: Numsgil
Nothing much in the code right now. I have a C++ version I was playing with, that I'm slowly copying from to fill out the C# version..

Four letter word starting with an F. I'll have to wait and have a look at that next time I'm able to use SVN (which is at home).
Quote from: Numsgil
I want to shy away from hard defined things like "this is a water zone, therefore it has properties X Y Z", because I think it's too artificial.  I much prefer lots of tweakable parameters and a few defaults to set them to.  So you could create a shape, set it to some default (loose soil, water, granite, etc.), then tweak parameters as desired.

Of course, Otherwise you’d need specific rules for every variation.
Quote from: Numsgil
I'll probably end up creating 1-3 abiotic resources, and incorporate them into the manufacturing process for various components and photosynthesis.  Like maybe you need dirt/rock/soil/whatever to make shell with, or you can make shell without it but you have to manufacture some extra components first, or something like that.  On the other hand, by default I don't want sims to have issues with bots being unable to create shell because every single shape has been mined by other bots already (though it might be a fun custom sim).

I was thinking the other way around: not a shape with a predefined amount, but with a contant concentration (infinite supply). Combining the two: initial amount and replenishment rate gives all the freedom. Complexity increasing…
Quote from: Numsgil
Then, with those 1-3 abiotic resources, we need a process whereby bots can extract the resources.  For a solid shape, they could just ingest some of the shape (useful for tunnelling, too), digest the good bits, and poop out the waste.  For a fluid shape they'd do something similar but maybe there's diffusion to deal with, so a bot would have a hard time (diminishing returns) extracting all the useful raw materials from a fluid  shape.  The trick is to decide if the useful resources are the shape, or if they're embedded in the shape and most of the shape is just junk.

Ah, I'm rambling.  Just consider it a brain dump of what I'm thinking right now.

Complexity increasing even further…. Simple rules complex behaviour, not the other way around. Don’t know where we are on the scale at this point
Title: Metabolism
Post by: d-EVO on December 08, 2008, 10:56:06 AM
Ok here it is

tunnels will be difficult with db2 which is 2d. no factor like tunnel wall to hold up roof
3d would be easier.

Nutrients from the soil must be prescent in the leaves to photosynthisize
watar must be prescent in soil to form solution that can be absorbed by the plants.
surface area will be a top priority like in real life.
single cells are capable of being auto trophes but wont be very efficient. like alge.
will encourage complexity because of the need to transport nutrients into differt parts of the organism.

roots will be very vunerable to attack encouraging bots to tunnel into the soil.
wery small cells will be capable of remaining airborn.

will at least make it theoreticaly possable to evolve life like we have on earth

note. the green cells contain chloryphyll (photosynthesis). brown cells collect nutrients, and the lime cells transport nutrients
Title: Re: Metabolism
Post by: SlyStalker on March 10, 2013, 01:08:08 AM
I agree with this model but we should still have a 'pond mode' because it will be very complex to have MBs that can coordinate well with the added pressures of gravity :/
Title: Re: Metabolism
Post by: Botsareus on November 29, 2014, 07:17:22 PM
This will be cool for db3.
Title: Re: Metabolism
Post by: Botsareus on November 29, 2014, 07:54:09 PM
More constructively, if you add it to db3 it is going to blow db2 chemical algorithms out of the water. Chloroplasts and all.

Note that I got db2 chloroplasts reasonably balanced out.
Title: Re: Metabolism
Post by: Numsgil on December 04, 2014, 07:16:23 PM
This will be cool for db3.

This has been on my mind since 2005.  Thinking about it all this time, I've come to the conclusion that I think it's outside the scope of Darwinbots.  Here's why: in the real world, metabolism is highly conserved.  The way we break down or build up sugars and proteins and fats is pretty much the same way that a yeast does.  That is, metabolic pathways evolved once, billions of years ago, and ever since it's been the base level on to which everything else is built.  In a certain sense, it's like the OS life is written for.

Darwinbots is more about behavior than ability.  That is, the DNA scripts we write are concerned with when to shoot, or reproduce, or spin, or move, and not how.  Evolving metabolism is fundamentally a question of how.  Once you know how, that is, once the metabolite graph has been mapped and you know the most efficient ways to get from A to Z, anything outside that pathway is "wrong".  So bot authors would know the "correct" solution and always use it.  Evolved bots would have to figure it out, but it's just an arbitrary hoop to jump through before you can get to the far more interesting questions of strategy and how to compete against other bots.

Not to say that I don't think this sort of thing is interesting.  It is.  But it's not interesting in a gameplay sense.  It's interesting in a computer science sense.  There's an arbitrary directed graph and you want to find the most efficient nodes to do certain things, and the best ways between them.  That's a problem, and there's a specific solution, and finding the solution is non trivial.  But once you have it, you have it and it's done and solved.  Contrast that with deciding when to reproduce.  There's no "right" solution.  Each choice of when to reproduce carries with it different strategies and implications, and it works to create an gameplay decisions for bot writers, and an interesting landscape for bots to evolve on.
Title: Re: Metabolism
Post by: Botsareus on December 04, 2014, 07:40:33 PM
Good one. Later.
Title: Re: Metabolism
Post by: spike43884 on December 21, 2014, 06:32:00 AM
This will be cool for db3.

This has been on my mind since 2005.  Thinking about it all this time, I've come to the conclusion that I think it's outside the scope of Darwinbots.  Here's why: in the real world, metabolism is highly conserved.  The way we break down or build up sugars and proteins and fats is pretty much the same way that a yeast does.  That is, metabolic pathways evolved once, billions of years ago, and ever since it's been the base level on to which everything else is built.  In a certain sense, it's like the OS life is written for.

Darwinbots is more about behavior than ability.  That is, the DNA scripts we write are concerned with when to shoot, or reproduce, or spin, or move, and not how.  Evolving metabolism is fundamentally a question of how.  Once you know how, that is, once the metabolite graph has been mapped and you know the most efficient ways to get from A to Z, anything outside that pathway is "wrong".  So bot authors would know the "correct" solution and always use it.  Evolved bots would have to figure it out, but it's just an arbitrary hoop to jump through before you can get to the far more interesting questions of strategy and how to compete against other bots.

Not to say that I don't think this sort of thing is interesting.  It is.  But it's not interesting in a gameplay sense.  It's interesting in a computer science sense.  There's an arbitrary directed graph and you want to find the most efficient nodes to do certain things, and the best ways between them.  That's a problem, and there's a specific solution, and finding the solution is non trivial.  But once you have it, you have it and it's done and solved.  Contrast that with deciding when to reproduce.  There's no "right" solution.  Each choice of when to reproduce carries with it different strategies and implications, and it works to create an gameplay decisions for bot writers, and an interesting landscape for bots to evolve on.
Again, I do agree with nums...Metabolism is one of a few factors which make DNA about the HOW something happens...Really, Im still rooting for us to just get chemicals in the feild. Then we get both CS and GP fun. Bots right now just swim in a small sterile enviroment, with a couple of visible pods of food.