Code center > Suggestions
Chloroplasts
Panda:
You'll still have to wait for Shasta. :p
Numsgil:
I'm not super keen on adding more checkboxes... The program is pretty obtuse to use as is.
Bots, can you think of a specific reason why you wouldn't want chloroplasts? They would seem to be transparent to bots that don't look for it, except in cases where bots have special logic for the body size of veggies or things along those lines.
Shasta:
I'm also not a big fan of having both the new chloroplasts and the old veges at the same time. Darwinbots is a complex program, and having a toggle between two different energy sources for the simulation will make it much more so. Even your picture there: "Use Chloroplasts" and "Vegetable (autotroph)" is very confusing to someone who hasn't used the program before.
I'm also not too sure on what you are talking about with the leagues. F1 has always been the "Everything goes" league. Chloroplasts make the bot huge and slow; if someone programs around that I see to reason to bar it. If I work on anything in DB2 after this set of changes is done, it will probably be to fix the tournaments and get some kind of auto-running league going on my desktop.
Botsareus:
The reason I want the "veg" option still there is bc It will not work right for F1 mode. There simply won't be any way to set the alga as vegs;
Also, lets say I reprogram the alga, how then do I make findbest not search it w/o more special options?!
I already started implementation:
I decided to avoid putting a respawn per spisies. The eco-system should balance itself out without any artificial respawning.
Here we go, If I missed anything let me know.
Faze1: Intergrate the blnUseChloroplasts variable
Added blnUseChloroplasts to "Type datispecie"
Veg As Boolean
blnUseChloroplasts As Boolean 'Flag added by Botsareus for Pandas Chloroplast mode.
Fixed As Boolean
Added chk to options menu
Private Sub SpecVeg_Click() 'updated by Botsareus to use new UseChloroplasts flag
If CurrSpec > -1 Then
TmpOpts.Specie(CurrSpec).Veg = False
If SpecVeg.value = 1 Then
TmpOpts.Specie(CurrSpec).Veg = True
TmpOpts.Specie(CurrSpec).blnUseChloroplasts = False
chkUseChloroplasts.value = 0
End If
End If
End Sub
Private Sub chkUseChloroplasts_Click() 'added by Botsareus to use new UseChloroplasts flag
If CurrSpec > -1 Then
TmpOpts.Specie(CurrSpec).blnUseChloroplasts = False
If chkUseChloroplasts.value = 1 Then
TmpOpts.Specie(CurrSpec).blnUseChloroplasts = True
TmpOpts.Specie(CurrSpec).Veg = False
SpecVeg.value = 0
End If
End If
End Sub
added code to SpecList_Click()
If TmpOpts.Specie(k).blnUseChloroplasts Then 'added by Botsareus to use new UseChloroplasts flag
chkUseChloroplasts.value = 1
Else
chkUseChloroplasts.value = 0
End If
Added code to save settings
Write #1, TmpOpts.Specie(t).Veg
Write #1, TmpOpts.Specie(t).blnUseChloroplasts 'updated by Botsareus to use new UseChloroplasts flag
Write #1, TmpOpts.Specie(t).Fixed
Added code to ReadSettFromFile
Input #1, TmpOpts.Specie(t).Veg
Input #1, TmpOpts.Specie(t).blnUseChloroplasts
Input #1, TmpOpts.Specie(t).Fixed
Added code to load simulation
If Not EOF(1) Then Get #1, , SimOpts.Specie(k).Veg
If Not EOF(1) Then Get #1, , SimOpts.Specie(k).blnUseChloroplasts
Next k
Added code to save simulation
Put #1, , SimOpts.Specie(k).Veg
Put #1, , SimOpts.Specie(k).blnUseChloroplasts
Next k
Shasta:
Per-species respawn is already done and commited to SVN by Panda. (I have changed it a touch, but its pretty much the same)
The whole point of this update is that we don't have to explicitly state what is or is not a veggie. If they produce chloroplasts, they get energy. If they don't have chloroplasts, they don't get energy.
If you don't want find best to include autotrophs, just check to see if the bot has a chloroplast. It's not perfect, but it is close enough barring some kind of photoheterotroph.
Navigation
[0] Message Index
[#] Next page
[*] Previous page
Go to full version