Code center > Bugs and fixes

League Problems

<< < (3/19) > >>

Jez:

--- Quote from: Griz ---moved from Ravine thread
I've got leagues working now ...
well ... sort of.
--- End quote ---

Cool, we're getting somewhere then!


--- Quote ---in challenge mode ...
once the matches are finished ...
ie, my challeng bot having defeated the 3 current
league members, it didn't end but started again ...
my challenge bot once again being the challenger ...
even tho ranked #1.
and I'm not sure why when I go to edit species ...
I find my challenger and Blank there.
--- End quote ---

There was a bit of a problem with that before, are you using the latest buddy drop 2.42.n? Shouldn't be an issue now but if it still is I'll see if I can repeat problem.


--- Quote ---also ...
doesn't seem the F! conditions resets all parameters ...
I haven't had time to experiment with loading in
different parameters or sims first and seeing for sure
but things like veggie population seems to persist ...
wasn't veg pop supposed to be limited to 40?
well ... I'll have to experiment as I find time.
in the mean time ...
I plan to ensure all the parameters are set to what
they should be for F1 ...
and then save those settings ...
loading them in before running leagues.
that should work, eh?
--- End quote ---

Eric's done lots of work in the last few buddy drops to get all the F1 settings fixed. Veg population should start at 10 but there has never been a max veg limit AFAIK in leagues if the bots are really bad at eating veg! If you find any settings that aren't defaulted when you tick F1 box then please say. It would be best if all the settings are defaulted when F1 is ticked so people aren't playing the leagues under different settings without realising it.


--- Quote ---would rreally like to specify the max number of cycles
that a round should be allowed to go before ending ...
should the bots prove to be too close for one or the
other to completely 'take out' the other ...
or should there remain one persistant bot ...
even when the other may have a population 200 times
greater.
after all, if we are looking to create a multi-organism evosim ...
shouldn't we be looking for bots that have an ability to co-exist
with other bots ...
even to have a simbiotic relationship with others ...
rather than having to eliminate every one to be considered
a viable species?
--- End quote ---

Put your ideas in the suggestion part of the forum, I'm sure Eric will consider it. It would certainly be easier for people who want to run quick leagues and aren't interested in waiting all day for the results. The F1, F2 etc leagues were created as combat leagues rather than symbot leagues, the issue of having two competitive bots surviving together for a long period of time, especially with mutations on, is something I know Num's would be interested in but deserves a league of it's own, if anyone ever manages to do it! Same with symbiosis really, especially with mutations on.


--- Quote ---anyway ...
if it's that close, why not pick the one with the highest
population and move on.
same goes for number of rounds ...
whatever the user specifies should be it ...
rather than auto-extending the match because a
statistically correct decision can't be made.
again , if it's that close, pick one. move on.
and yes, if I am present, I can always use the Instawin ...
but it would be nice to be able to set this thing up ...
and then let it run on it's own without having to constantly
monitor what's happening [or not-happening] ...
and have to then interfere.
--- End quote ---

Option to specify max amount of rounds/cycles is not a bad idea, the idea of using statistical analysis of the results was to provide accurate information. It used to be the best of five rounds and using two very similar bots you would keep getting different results.  


--- Quote ---will continue to play around ...
and try to make note of any bugs or whatever
I run across.
--- End quote ---

Cool, some of them are old bugs caused by user error that aren't going to get fixed right now, although Eric has already softened many of them, it's good to have another pair of eyes looking out for them though.


--- Quote ---thanks to eric and to jez as well for giving some
attention to the leagues ...
makes an interesting testing ground ...
and if one uses parameters of their own ...
rather than the F1 settings ...
using gravity or whatever  ...
can test many different skills/abilities of bots.
--- End quote ---

Thanks, I've always loved direct and competitive comparisons of bots, not what Carlo designed DB for I know but nevermind!

EricL:
The code will prompt the user if they want it to create a new league file if none exists.

Max veggies is set to 25 in F1 mode.  This means however that it is possible for up to 49 veggies to exist in a sim, depending upon the reproduction code of the veggy used (they all reproduce during the cycle when the population falls to 24).

In any non-F1 sim, if you want to insure the population of veggies never exceeds the limit, use a veggy without a reproduction gene or disable reproduction or disable DNA execution for the veggy used.  Perhaps I should allow this in F1 mode as well?

Loading a sim with certain settings and then running leagues using F1 settings will only work for those settings which are not overridden in F1 mode.  The latest F1 override code is below.  The user-defined sim settings will of course be used in leagues which do not use F1 contest conditions.

I will add max cycles / Max rounds to my list of future work items.  These will be post 2.43 however.

If TmpOpts.F1 = True Then
   
    'Zero out all Costs
    For t = 1 To 70
      TmpOpts.Costs(t) = 0
    Next t
   
    'Now set the ones that matter
    TmpOpts.Costs(SHOTCOST) = 2
    TmpOpts.Costs(COSTSTORE) = 0.04
    TmpOpts.Costs(CONDCOST) = 0.004
    TmpOpts.Costs(MOVECOST) = 0.05
    TmpOpts.Costs(TIECOST) = 2
    TmpOpts.Costs(SHOTCOST) = 2
    TmpOpts.Costs(VENOMCOST) = 1
    TmpOpts.Costs(POISONCOST) = 1
    TmpOpts.Costs(SLIMECOST) = 1
    TmpOpts.Costs(SHELLCOST) = 1
    TmpOpts.Costs(COSTMULTIPLIER) = 1
    TmpOpts.DynamicCosts = False
   
    TmpOpts.CorpseEnabled = False    ' No Corpses
    TmpOpts.DayNight = False         ' Sun never sets
    TmpOpts.FieldWidth = 9237
    TmpOpts.FieldHeight = 6928
    TmpOpts.FieldSize = 1
    TmpOpts.MaxEnergy = 40           ' Veggy nrg per cycle
    TmpOpts.MaxPopulation = 25       ' Veggy max population
    TmpOpts.MinVegs = 10
    TmpOpts.Pondmode = False
    TmpOpts.PhysBrown = 0         ' Animal Motion
    TmpOpts.Toroidal = True
   
    TmpOpts.BadWastelevel = 10000          ' Pretty high Waste Threshold
   
    For t = 0 To TmpOpts.SpeciesNum - 1
      TmpOpts.Specie(t).Fixed = False                 'Nobody is fixed
      TmpOpts.Specie(t).Mutables.Mutations = False    'Nobody can mutate
      TmpOpts.Specie(t).CantSee = False
      TmpOpts.Specie(t).DisableDNA = False
      TmpOpts.Specie(t).CantReproduce = False
      TmpOpts.Specie(t).DisableMovementSysvars = False
    Next t
   
    TmpOpts.Specie(0).Veg = True         'Force the first entry to be a veggy
    TmpOpts.Specie(0).qty = 10           ' Do this so that eye fudge works
   
    TmpOpts.FixedBotRadii = False
    TmpOpts.NoShotDecay = False
    TmpOpts.DisableTies = False
    TmpOpts.RepopAmount = 10
    TmpOpts.RepopCooldown = 1
    TmpOpts.MaxVelocity = 180
    TmpOpts.VegFeedingMethod = 0         ' Straight nrg /cycle feeding method
    TmpOpts.VegFeedingToBody = 0.5       ' 50/50 nrg/body veggy feeding ratio
    TmpOpts.SunUp = False                ' Turn off bringing the sun up due to a threshold
    TmpOpts.SunDown = False              ' Turn off setting the sun due to a threshold
    TmpOpts.CoefficientElasticity = 0    ' Collisions are soft.
    TmpOpts.Ygravity = 0
       
    ' Surface Friction - Metal Option
    TmpOpts.Zgravity = 2
    TmpOpts.CoefficientStatic = 0.6
    TmpOpts.CoefficientKinetic = 0.4
   
    'No Fluid Resistance
    TmpOpts.Viscosity = 0#
    TmpOpts.Density = 0#
   
    'Shot Energy Physics
    TmpOpts.EnergyProp = 1        ' 100% normal shot nrg
    TmpOpts.EnergyExType = True   ' Use Proportional shot nrg exchange method
   
    DispSettings
  End If

Jez:

--- Quote from: EricL ---Max veggies is set to 25 in F1 mode.
--- End quote ---
I didn't know that, I guess I should have noticed though.    
I have no idea why it was done like that.


--- Quote ---In any non-F1 sim, if you want to insure the population of veggies never exceeds the limit, use a veggy without a reproduction gene or disable reproduction or disable DNA execution for the veggy used.  Perhaps I should allow this in F1 mode as well?
--- End quote ---

The idea of setting the F1 settings as defaults was to make sure everybody always ran the official competitive leagues the same way without needing to know anything about the settings. If you can think of a way to do this then why not. Perhaps a 'change F1 settings' button or something. I thought we could change league settings by unticking the use F1 conditions but perhaps this isn't always clear enough.

EricL:
I guess what I was really asking is "Do you (as the main guy taking the lead on leauges at the moment) want me to allow people to be able to disable reproduction or disable DNA execution for the veggy in a league using F1 conditions or do you think this is too large a variable to let people muck with and therefor I should force it one way or the other in F1 mode?"  Right now, the user cannot elect to disable these things.  They are forced enabled.

I might suggest we force it the other way.  That is, that no matter what veggy is used, it's DNA is disabled and it can't reproduce.  This would maximise consistency in that no matter what bot they choose for a veg, it's functionality (or lack there of) would be the same every time I.e. nothing.

Numsgil:
Alga minimalis is the standard veg for use in leagues, so I would just load its DNA into the program and have the program automatically use it, regardless of what the user tries to do in a league match.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version