Darwinbots Forum
Code center => Suggestions => Topic started by: Testlund on September 09, 2013, 07:04:22 AM
-
How about letting chloroplast convert waste to body instead? That would simulate the fact that plant life need more than just sunlight to grow, like minerals and such. When body reaches 32000 they can't convert any more waste and it will start to build up instead, which would simulate over-fertilizing like some plants are sensitive too, and just assume it's like this for algae too. You get an algae bloom with lot of waste in the water, but there is a limit how much they can use of it.
..and a .fdwaste sysvar to convert waste directly to energy like some primitive bacteria.
..and change the "Don't decay nrg shots" feature to "Keep nrg & waste shots" or something like that.
-
How about letting chloroplast convert waste to body instead?
The system currently is tied to the veggie energy-body slider, I think. I am also skeptical that the system would not prevent the problem that we have.
I can think of two solutions:
- converting some to permanent waste preventing the bot from getting rid of all of it's waste
- making the rate at which it can convert waste to energy much slower.
and a .fdwaste sysvar to convert waste directly to energy like some primitive bacteria.
To your second point, waste was first created to make sure robots reproduce more often. It would have to do something like convert half of it to permanent waste or something, if we were going to do that.
..and change the "Don't decay nrg shots" feature to "Keep nrg & waste shots" or something like that.
Why do you want this feature?
-
Why do you want this feature?
So bots can harvest waste shots from decaying corpses, or the waste that other bots get rid of.
-
Okay, I'll see what botsareus thinks about it, first.
-
Point 1.)
feedvegs2 is NOT tied to the energy-body slider, look into this Panda.
Point 2.)
making the rate at which it can convert waste to energy much slower.
I really like this idea, we will need to change 32000 to something like 320000 , that's dividing by 10, I'll leave the exact value up to you Panda.
Public Sub feedveg2(t As Integer) With rob(t)
If .nrg + (.Waste / 2) * (.chloroplasts / 320000) < 32000 Then
.nrg = .nrg + (.Waste / 2) * (.chloroplasts / 320000)
.Waste = .Waste - .Waste * (.chloroplasts / 320000)
End If
End With
End Sub
That "Don't decay nrg shots" feature, I do not have DB in front of me right now; What is this all about? I'll take a look on Sat.
-
That "Don't decay nrg shots" feature, I do not have DB in front of me right now; What is this all about? I'll take a look on Sat.
It's "Objects -> Shots -> Don't decay energy shots" in the menu.
-
Yea, we can stick another option in there called "Don't decay waste shots"
Panda, make sure both options save as part of settings file.
"Don't decay energy shots" should save as part of simulation file, just add "Don't decay waste shots"
-
Okay! :D Make sure all your changers are put into the trunk and I'll spend this evening doing this.
-
Well, I can not really make sure, I am at work :P
Go ahead and implement Panda.
-
[Bump]
enabled some low level checks in an attempt to stabolize the program and awoid or atleast track run-time errors better (It was surprizing how little they impacted performance)
-
I reprogrammed feedvegs2 to be liner. The main reason being, it took about the same time to turn waste to energy if the robot had 1000 or 10000 waste.
Now at 32K chloroplasts it takes about 100 cycles to dump 1000 units of waste.
edit: I am adjusting further...
-
[Bump]
feedveg2 mod for body vs energy feed implemented.
The only thing left to do is do not decay waste shots.
-
[Bump]
Should have Darwin2.46BetaD by Sunday
-
[Bump]
I just discovered something cool, the following robot shoots away his waste:
cond
start
10 .shootval store
-4 .shoot store
stop
end
-
Here it is: