Code center > Suggestions

Chloroplasts

<< < (16/20) > >>

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