Darwinbots Forum
Code center => Suggestions => Topic started by: Numsgil on February 25, 2005, 02:09:49 AM
-
I'm trying to assign physical sizes to all the components a bot has (muscles, nrg, carbs, etc.)
Carbs, it has been suggested (by schvarz) make a bot swell up since carbs are highly hydrophilic (I think that's what it is).
So I'll be assigning physical sizes to the bits. A bots' physical size (the size of its circle) is deteremined by the sum of all its bits' physical sizes. Anyone have any idea how big each bit should be? This will affect things like friction, sunlight recieved, and proportions in a returned shot.
Also, everything will need a mass, to affect how heavy they make the bot. This will affect things like accecleration and momentum.
There are already the beginnings of some of this in the program. I'd like to flush it out.
I can come up with the numbers on my own, but I'd like some feedback on the relative size and mass of all the game components.
Here's a list of all the components I can think of the would have size and mass applied to them. Things like nrg and amino acids (I'm thinking of having amino acids.) and Oxygen and Carbon Dioxide are considered too small to affect size or mass.
Shell (silicate and calcium)
Carbs
Fats
Proteins
Slime,
Venom,
Poison
So far I have
Carbs >> Fats in size (this is true in real life).
Shell is most massive per unit.
That's all I have. We can make this arbitrary if we like, but I'd prefer a system that mirrors real life.
-
My comments and a few thing from the first time I introduced the idea of size and mass
- Shell should be very dense. It should add quite a lot to mass but little or nothing to size
- Carbs should go mostly to size with only a little mass.
- Fats likewise should go mainly to size with some mass.
- Proteins are more dense than fat or carbs so should add mainly to muscle mass with less effect (but still some) on size.
- Slime I don't really see effectig size or mass by a significant ammount. Could reduce friction though.
- Venom and poison are actually proteins so should be treated as such.
Possibly more later. Gotta go right now.
:D PY :D
-
In mass:
Shell > Muscle > fat > protein > carbs
In size:
carbs > X > X > X >shell
We could do the obvious and have sizes go carbs > protein>fat > muscle > shell. That would be nice and symetrical.
or size:
carbs > fat > muscle > protein > shell
-
I like the reversal method.
Shell > Muscle > Fat > Protein > Carbs
Carbs > Protein > Fat > Muscle > Shell
That way, carbs are biggest in size, but smallest mass, shell is biggest mass but smallest size, protein is slightly less mass and slightly more size, muscle is slightly more mass and slightly less size, and fat is equal all around.
As I see it, that seems about right to me. ;)
-
syndlig, most people I know which is big in size doesnt have lots of proteins, they got enourmus amount of fat in teir body. dont you agree? so I think it should be:
Shell > Muscle > Fat > Protein > Carbs
Carbs > Fat > Muscle > Protein > Shell
-
Zelos has a good point here.
Fat is so much easier to make than protein so organisms tend to bulk up on it.
In a completely unrelated comment. Fat gives a great protective layer against cold (one of the layers of the e-grid)
:D PY :D
-
Oh shoot, I almost missed this post! :)
Here is how I think it should be. It is loosely based on real biology:
Energy to make stuff:
200 energy = 1 fat = 5 carbs = 1 protein = 1 shell = 1 slime
(note: protein creation needs waste in 1:1 ratio)
Energy during utilization:
150 energy = 1 fat= 5 carbs = 10 proteins
(note: shell and slime cannot be utilized to get energy)
(note: protein utilization produces waste in 1:1 ratio)
Mass
1 fat = 1 carb = 1 protein = 1 shell = 1 slime
(note: I know it is not intuitive, I was surprised myself)
Size:
1 fat = 1 carb = 5 protein = 20 shell = 1 slime
I'll keep this post as a reference and will update when we agree on changes.
-
Here is another way to look at the proposed system:
Let's say three bots have 30,000 energy each.
Bot 1 puts it all in carbs. It makes 750 carbs.
Bot 2 puts it all in fat. It makes 150 fats.
Bot 3 puts it all in protein. It makes 150 proteins.
Bot 1 is 5 times heavier than the other two. It is also 5 times bigger in size than bot 2 and is 25 times bigger than bot 3. Being so haevy and huge it makes it almost impossible for this bot to move. This is your typical plant.
Bot 2 is intermediate in size. It is hard for it to move. It mostly sits around and eats. But it can extract a lot of energy from it's fats, so if necessary it can run at high speed, but it costs a lot. This is your typical fatty grazer.
Bot 3 is compact and it is very easy for it to move (all that muscle makes it especially cheap). On the other side it is heavy enough to deal quite a damage to other bots (if shots are proportional to mass). It can only extract small amount of energy from degrading protein, but it is enough to run around and hunt. This is your predator.
Makes sense?
-
Hey Schvarz, good to hear you weigh in.
Mass
1 fat = 1 carb = 1 protein = 1 shell = 1 slime
(note: I know it is not intuitive, I was surprised myself)
You're going to have to explain this one, because you're right, it's not intuitive.
-
I decided to use single buildng blocks for each kind of energy carrier to get these estimates.
Well, it goes like this:
Molecular weight (MW) of 16-carbon fat is ~270
MW of glucose (6-carbon) is ~180.
MW of amino acids varies between 100 and 200.
So, they are all on the same order of magnitude to begin with.
But carbs and proteins (proteins to a less extent) are surrounded by molecules of water (each MW ~20). It is hard to estimate how many water molecules are required to maintain glucose and proteins in addition to water already present in the cell. But 5-10 seems like a reasonable number. So in the end they are not that different to bother and distinguish.
If shell is made from proteins (like turtle's) or carbs (all insects), then it is reasonable to assume it will weigh (per molecule) somewhat less than regular carbs or sugar (because it lacks water). But do we want to bother with that? I say no. If shell is made from silicone, then it will be heavy of course, but there it is hard to define a buiding unit.
So, I decided to keep it simple and just make them all equal.
-
Shell's only drawbrack is the mass it adds. If we make shell no more massive than other things, then it would mean we need another drawback to lots of shell.
-
How about real life approach?
Shells don't make much sense untill you cover most of the body with it - imagine a turtle with only half a shell :) No protective effect. Also, a thin layer is not much help. We can make it so that shell is almost not effective in small amounts, but its effects increase as you collect more of it. By that time it will contribute to mass so that it will slow down shell-making creature. And remeber - it is pretty costly to make shell and you can't recover energy back from it.
Also, in real life many of shell-creatures can't grow beyond their shell size - they have to throw the old shell away and start a new one if they need to grow bigger. Something like that can be implemented (but it is a whole different idea).
Did you notice the "need waste" for proteins? What do you think? I basically decided to equate waste to simple nitrogen-containing compounds. Building proteins requires nitrogen, destroying them - releases it. For many plants nitrogen is an essential nutrient. And in the ocean, nitrogen-containing compounds are the limiting factor for growth of plankton.
-
I think I'm going to implement waste as phosphates (I think that's it. Whatever is released as ATP is turned to ADP) and then make plants use phosphates to grow.
If you have a second (okay, more like ten hours) read through all the posts we were writing in your absense. THere are some ideas that I'm using from them that you may like to comment on.
Maybe we could make shell work in quadrants. You can protect your back but keep your front unshielded, or vice versa, or protect both.
Maybe shell is applied towards surface area, so largere bots need more shell to get the same effect.
I like the idea of shell preventing physical growth. I'll play with the idea, see if I can make it work.
-
I am reading through all the posts.
Bad idea with phosphates. These are not building blocks in any sense and their realease doesn't reflect the metabolism. You split ATP - make AMP and two Ps. But you don't throw away these Ps - you'll need them to make ATP again. And cell uses them up almost immediately - there is almost no free phosphate in the cell - it is all in form of ATP.
Nitrogen compounds is another story entirely - every time you pee, you release all the extra urea (thus the name urine), which is the safest way to throw away extra nitrogen. Nitrogen is an essential block of proteins (and nucleic acids, but it is less important now). You eat proteins - you convert their energy to fat - extra nitrogen appears, you need to get rid of it. As true to concept of waste as it can be. And as I said before - nitrogen compounds are extremely important for plant life.
-
This is mostly for my own reference of what sizes and mass would be in system with metabolism. But feel free to read :)
Energy to make stuff:
1500 energy = 5 carbs = 10 fat = 1 protein
(note: protein creation needs waste in 1:1 ratio)
Energy during utilization:
1500 energy = 6 carbs = 12 fat = 12 proteins
(note: shell and slime cannot be utilized to get energy)
(note: protein utilization produces waste in 1:1 ratio)
Mass
1 carb = 1 protein = 8 fat
(note: I know it is not intuitive, I was surprised myself)
Size:
1 carb = 5 protein = 8 fat
Example with three bots investing 30,000 nrg into different things:
Bot 1 puts it all in carbs. It makes 100 carbs. It weighs 100. Its size is 100.
Bot 2 puts it all in fat. It makes 200 fats. It weighs 25. Its size is 25.
Bot 3 puts it all in protein. It makes 20 proteins. It weighs 20. Its size is 4.
Bot 1 is 4-5 times heavier than the other two. It is also 4 times bigger in size than bot 2 and is 25 times bigger than bot 3. Being so heavy and huge it makes it almost impossible for this bot to move. This is your typical plant.
Bot 2 is intermediate in size. It is hard for it to move. It mostly sits around and eats. But it can extract a lot of energy from it's fats, so if necessary it can run at high speed, but it costs a lot. This is your typical fatty grazer.
Bot 3 is compact and it is very easy for it to move (all that muscle makes it especially cheap). On the other side it is heavy enough to deal quite a damage to other bots (if shots are proportional to mass). It can only extract small amount of energy from degrading protein, but it is enough to run around and hunt. This is your predator.
-
Two comments (for my own reference :P)
1. No slime eating bots? Aww...
2. I was planning on differentiating protein (which could be used to make things like shell, and poison, etc.) and muscle (which specifically increase a bot's abilities.)
-
1. No problem, w can let them eat slime. I just don't want to bother with it at this point. The other three are much more important and give me headaches already.
2. I think protein is protein. You make a stock, then at no cost differentiate it into watever you need. This is more elegant and true to nature.
-
Some creatures actually specialize in eating slime (I think)
:D PY :D
-
Basically, muscle (or protein, whatever you want to call it) taken from other bots needs to be broken down or converted into a form you can use. By that, I mean that if I eat a huge chunk of cow meat my own muscle doesn't grow right away. But it does give me the raw materials to make muscle when my body is ready.
That's why I was thinking that muscle <-> protein + nrg. Then protein is the stock and can be used to make shell, poison, muscle, or whatever.
-
Proteins are a special case. The reason is that they are custom-built. Take fats - they just go straight to your fat storage. Or sugars - straight to wherever they are needed.
For muscle it is:
muscle> am.acid + energy
-
For simplicity we could treat all proteins as the same thing. Then you build muscle, shell, or whatever from them. That way you can differentiate a little between the slime making process and the muscle making process.
-
That sounds like a viable approach to me.
These complexities will drive us all insane if we try to model all of them.
:D PY :D