Darwinbots Forum
Code center => Suggestions => Topic started by: jknilinux on October 12, 2008, 05:11:07 AM
-
In pond mode, do we currently have "shadows"? What I mean is, if there's an algae, will it block light from reaching the algae below it? If we don't currently have this feature, I think we should implement it, because this should encourage algae to evolve into "plants" with leaves, etc... as they strive to increase their horizontal surface area while trying to stay on top of the other algae below them. This is how complex plants developed, right? Just a thought.
-
It isn't implemented, but I agree it should be. It wouldn't be too hard, we would just do some simple ray casting from the top of the screen.
-
It isn't implemented, but I agree it should be. It wouldn't be too hard, we would just do some simple ray casting from the top of the screen.
Great! So, Eric, could you add bot and shape shadows to your [a href=\'index.php?showtopic=2709\']work list?[/a] Thanks!
-
I think that's a grand idea. Not meaning to complicate things already, but will semi-transparency be too hard also?
EDIT=>Ignore that, I think the gap between cells is good enough for transparency for now.
-
Where is Eric? I guess he's just busy.
Well, when you get a chance, here's another suggestion to add to the work list. Thanks!
-
How about a new sysvar to measure the amount of light a bot recieves? This could helpmake plants that grow towards the sun, while not blocking others.
-
How about a new sysvar to measure the amount of light a bot recieves? This could helpmake plants that grow towards the sun, while not blocking others.
That's a great idea! Just like real life.
But how would it work if the sim is not in pond mode?
-
Umm... you wouldn't use it?
-
But how would it work if the sim is not in pond mode?
Hopefully it won't! In pond mode though it could be exciting and a way to keep populations of algea down without costX.
-
Umm... you wouldn't use it?
OK. Just wondering if you had some other idea for that case.
-
The problem then is that the plant structure would need to be made rigid and anchored (Ok, for now just use .fixpos) for this to work.Otherwise you end up with an algal blob desperately trying to grow up, king of like building a house with slime.
-
The problem then is that the plant structure would need to be made rigid and anchored (Ok, for now just use .fixpos) for this to work.Otherwise you end up with an algal blob desperately trying to grow up, king of like building a house with slime.
Well, couldn't .stifftie keep it rigid as well, provided that the base was anchored somehow?
-
Assuming gravity is not a factor, which is not really realistic, the organism could be shaped simple by aiming the ties, yes. But with gravity, even with stiff ties (they never did anything for me), the plant will eventually topple without roots, unless it was conical in shape.
-
Assuming gravity is not a factor, which is not really realistic, the organism could be shaped simple by aiming the ties, yes. But with gravity, even with stiff ties (they never did anything for me), the plant will eventually topple without roots, unless it was conical in shape.
I thought stifftie was meant to make both bots completely fixed relative to each other. So given a big base, a plant can grow upward w/o being cone-shaped, right? Or does stifftie do something else? I never found a good overview of it.
Either way, this brings up another good point. At the bottom of a sim we probably should have a super-high viscosity area(that acts like soil/crud at bottom of lake) for plants to have roots, create different niches for life, and make the sim behave more life-like in general.
-
The physics probably aren't stable enough to build a large tower with gravity on. With it off you probably can, but what's the point
stifftie makes the tie have a stronger restorative force. If you're familiar with the equation for springs from physics F = -kx, stifftie modifies the k factor.
-
The physics probably aren't stable enough to build a large tower with gravity on. With it off you probably can, but what's the point
stifftie makes the tie have a stronger restorative force. If you're familiar with the equation for springs from physics F = -kx, stifftie modifies the k factor.
The point is to get on top of the other veggies, which put you in the shade and kill you. And, like bacillus said, if it isn't stable enough with stifftie, we'll just have to .fixpos until DB3 comes out.
-
With .fixpos, it shouldn't be too hard to create a realistic-looking structure, but the point is that you want it to develop realistically as well.
-
How about a new sysvar to measure the amount of light a bot recieves? This could helpmake plants that grow towards the sun, while not blocking others.
No need for this. Just suck 5% (or whatever the number) of your gain through the ties you have formed. More light+higher suction= more reproduction. Grow toward the light
-
The physics probably aren't stable enough to build a large tower with gravity on. With it off you probably can, but what's the point
Why, not. Has anyone tried and failed?
I think you can. Altrough I don't think evolution will take that path. It is just more rewarding and easier to use .fixpos.
Amd not neccesarily, but it would decrease the base needed for a 'plant'. A few small objects at the bottem that could provide grip.(that's an easy solution)
-
You're welcome to try. I'm speaking from theoretical knowledge instead of experimental knowledge.
-
You're welcome to try. I'm speaking from theoretical knowledge instead of experimental knowledge.
But why wouldn't it be possible. I happen to miss the reason.
Anyway, is it correct that gravity squezes veggies into each other. No matter what I do at some time there are a lot of veggies at one spot. This doesn't really seem right.
-
Heh, you just answered your own question When the forces are strong (like with a pile of veggies being squeezed by gravity, or a tall tower), the physics can't keep things apart and they start to form a singularity of intersecting bots.
-
Heh, you just answered your own question When the forces are strong (like with a pile of veggies being squeezed by gravity, or a tall tower), the physics can't keep things apart and they start to form a singularity of intersecting bots.
Yes, I had a feeling it had to do with it. But I still find it strange that gravity that causes a slow speed always couses any bot to get in another. Even if it where just two as I just tested.
The collision elasticity doesn't seem to change that. Marbles really should be marbles. Those don't get in eachother.
-
How about a new sysvar to measure the amount of light a bot recieves? This could helpmake plants that grow towards the sun, while not blocking others.
No need for this. Just suck 5% (or whatever the number) of your gain through the ties you have formed. More light+higher suction= more reproduction. Grow toward the light
Ya, well, while that would automatically make the vegs grow toward the light, it doesn't encourage complex behavior. We want the vegs to think about where the light is and decide to grow in that direction.
-
Heh, you just answered your own question When the forces are strong (like with a pile of veggies being squeezed by gravity, or a tall tower), the physics can't keep things apart and they start to form a singularity of intersecting bots.
Yes, I had a feeling it had to do with it. But I still find it strange that gravity that causes a slow speed always couses any bot to get in another. Even if it where just two as I just tested.
The collision elasticity doesn't seem to change that. Marbles really should be marbles. Those don't get in eachother.
It's an issue with stability. If we increase the "marbleness" of bots too far, the simulation will explode after a collision (the bots will gain kinetic energy from the collision). It's an issue I'm trying to address for DB3.
-
Ya, well, while that would automatically make the vegs grow toward the light, it doesn't encourage complex behavior. We want the vegs to think about where the light is and decide to grow in that direction.
That depends on whether you want veggies to grow towards the light, or engage in philosophical debate. Veggies grow, no need for deep reasoning.
As for moving veggies reasoning for light direction: move them twice in othogonal direction and you know what up is. Or have them jitter around a vector, see if intake improves more or not, and decide if the vector is better or not. Deep enough? Still no need for sysvar
-
Ikke-
Real-world plants know where light is. I just think DB plants should be realistic, especially if that realism encourages complex behavior. Besides, your new algorithm seems too complex to evolve and is easily broken- shade from another bot could disrupt it.
-
Ikke-
Real-world plants know where light is. I just think DB plants should be realistic, especially if that realism encourages complex behavior. Besides, your new algorithm seems too complex to evolve and is easily broken- shade from another bot could disrupt it.
Hah, I lost that discussion. Just use the existing but rarely used sysvar '*.sun' would help a lot. The harder part would be building a tower. Well ofcource you can stuck yourself to the enviroment. But that is too easy.
-
Actually, plants don't 'know' where the sun is, they happen to grow towards the sun because sunlight slows the production of a certain growth hormone, resulting in the darkened side growing more than the illuminated side. End result, plant faces sunlight. The only problem is, what happens when the plant is dead-on?
-
Actually, plants don't 'know' where the sun is, they happen to grow towards the sun because sunlight slows the production of a certain growth hormone, resulting in the darkened side growing more than the illuminated side.
Just the remark I wanted to make. No reasoning just growth. This is what I wanted to simulate by the tie feeding solution.
End result, plant faces sunlight. The only problem is, what happens when the plant is dead-on?
Easy: It faces the right direction, and a minimal amount of hormone is produced-> grow to the light as fast as you can.
-
That's what I meant by know... Of course the plant isn't sitting there philosophizing as the years go by... LOL
Anyway, you just said yourself the point I'm trying to make: ...because sunlight slows the production of a certain hormone...
So, you both agree that plant cells DO "know" how much light they receive; sunlight affects them. In DB, the best way to let the cells "know" the amount of light they receive is through a sysvar, since bots can't have hormones. That's my point.
Peter-
What does *.sun do?
-
What does *.sun do?
It returns a true if the plant is facing upwards/towards the sun. The amount of energy you receive can also be readed by reading the negative of the sysvar *.pain.
A hormone like you suggest can that way be selfmade.
-
What does *.sun do?
It returns a true if the plant is facing upwards/towards the sun. The amount of energy you receive can also be readed by reading the negative of the sysvar *.pain.
A hormone like you suggest can that way be selfmade.
Why should they face upward in order for *.sun to be true? So long as they're in the sun, it doesn't matter which way they face... Maybe *.sun should instead be orientation insensitive and return a true if it's not under a bot vertically. Or maybe an analog value from 0 to 1 depending on where in the sim a veggy is, switching instantly to 0 if another bot is overhead.
-
Why should they face upward in order for *.sun to be true? So long as they're in the sun, it doesn't matter which way they face... Maybe *.sun should instead be orientation insensitive and return a true if it's not under a bot vertically. Or maybe an analog value from 0 to 1 depending on where in the sim a veggy is, switching instantly to 0 if another bot is overhead.
They have to face upwards becouse that is *.sun. Further the bot would need some direction anyway. Altrough that can also be done by using the condition ''314 *.aim ='' instead of ''1 *.sun ='' anyway I think that is what sun is supposed to be doing. Anyone who can correct me.
As sun is then pretty useless if you think about it. And there are (almost) no bots that use it. You could put it inside you starters suggestion.
This is what you're meaning right.
if bot-out-shadow = true {sun = true}
Or maybe if a bot is for a half part receaving sun. Probably not always reaceaving everything, well yes I like this better.
percentage light bot receaves = sun
The sysvar could pretty easy be inplented extra if shaddows where made.
I was more thinking on the way that a bot can see how much nrg they receaved. That is equal to a amount of light. And that way a bot could think on themself. If the light is stronger, they would be growing less becouse they already receave enough. Where light would only a percentage, or do you want an exact number there?
Anyway the *.sun sysvar is pretty useless right now, it may be changed. (who made it up anyway?)
-
Yup, that's what I mean.
And yeah, a veggy could just detect how much energy it's getting once we finally implement that shadow/ray-casting feature, but the real reason why I think we should have a light-detecting sysvar is so predators can use it, like to follow it up to where it's brightest to get to the most veggies... or go away from the sun to attack the veggies' "roots" or "trunk" if the sim has gravity turned on, so all the top veggies come tumbling down. It would be pretty easy for evolution to utilize it, too...