Author Topic: League Settings  (Read 13345 times)

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
League Settings
« Reply #30 on: December 14, 2006, 10:33:31 AM »
That or a DNA upkeep cost.  No objection to either here, but perhaps someone else who has actually written a combat bot (I.e. not me) should comment.  
Many beers....

Offline Jez

  • Bot Overlord
  • ****
  • Posts: 788
    • View Profile
League Settings
« Reply #31 on: December 14, 2006, 12:05:20 PM »
Dna cost might punish bots that are less well written or evo bots (like Carlos's one at bottom of F1 atm). I'm happy to wait for a combat bot designer to add their 2 cents though.
If you try and take a cat apart to see how it works, the first thing you have in your hands is a non-working cat.
Douglas Adams

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
League Settings
« Reply #32 on: December 15, 2006, 04:14:38 AM »
If you want to add a very mild cost to speed up starvation matches, that's fine.  But it should only be the deciding factor for starvation matches.

I would also use the body upkeep for it.  You'd want the same upkeep cost between 10 bots with 100 body and 1 bot with 1000 body so you don't create any additional pressures between slow reproducers that bulk up and fast reproducers that don't.

Offline Jez

  • Bot Overlord
  • ****
  • Posts: 788
    • View Profile
League Settings
« Reply #33 on: December 16, 2006, 06:36:27 AM »
If we use body won't that encourage bots to have less body?

I was thinking of a standard cost/bot/cycle something like 0.1 nrg per turn. (or less if you feel that is to high)

A sort of upkeep cost that I figured most organisms need to spend to mantain their cell integrity.
If you try and take a cat apart to see how it works, the first thing you have in your hands is a non-working cat.
Douglas Adams

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
League Settings
« Reply #34 on: December 16, 2006, 03:36:54 PM »
But there's also a large advantage to have more body, since it increases your shot strength.  A tax on each individual is going to cause more burden on bots like dominator invincibalis than something like Ymir.  But a very small tax on body is, in my mind, the most even way to tax.

Maybe we could also do a tax per species, that all individuals in a species share.

Offline Jez

  • Bot Overlord
  • ****
  • Posts: 788
    • View Profile
League Settings
« Reply #35 on: December 16, 2006, 09:12:32 PM »
Valid points;

A tax per individual would discriminate against faster reproducing or larger populace bots, (the advantage through numbers idea), although I was thinking of it as cost for upkeep. (for cells).

A tax per species, though very beguiling, would discriminate in the opposite direction perhaps. Then again, as you point out, there is a distinct advantage to have a large body and maybe the upkeep for a large body should be larger.

Doing both, as you suggested, might be a sound compromise.
« Last Edit: December 16, 2006, 09:14:01 PM by Jez »
If you try and take a cat apart to see how it works, the first thing you have in your hands is a non-working cat.
Douglas Adams

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
League Settings
« Reply #36 on: December 16, 2006, 10:57:31 PM »
Certainly we can tweek once we find an example of a bot winning with taxes when it couldn't win without.

Offline Jez

  • Bot Overlord
  • ****
  • Posts: 788
    • View Profile
League Settings
« Reply #37 on: December 17, 2006, 06:39:56 AM »
So have you had any idea about what these costs should be?

0.1 per bot/cycle
1 per species/cycle?

That would mean the five bots of a species at the start would be paying a cost per cycle of 0.3. It seems a bit higher than intended. Don't know how small you can make the fractions of energy before the program will just ignore it.
If you try and take a cat apart to see how it works, the first thing you have in your hands is a non-working cat.
Douglas Adams

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
League Settings
« Reply #38 on: December 17, 2006, 05:29:55 PM »
I would do .00001 nrg per body and .01 nrg per bot to start with and see what that does.

Offline Jez

  • Bot Overlord
  • ****
  • Posts: 788
    • View Profile
League Settings
« Reply #39 on: December 17, 2006, 05:43:46 PM »
I'm happy with that.
If you try and take a cat apart to see how it works, the first thing you have in your hands is a non-working cat.
Douglas Adams

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
League Settings
« Reply #40 on: December 18, 2006, 06:55:04 PM »
Okay.  2.42.9p and beyond, F1 mode sets 0.00001 nrg/body/cycle and 0.01 nrg/cycle costs in addition to the other F1 costs.

Quote from: Jez
Don't know how small you can make the fractions of energy before the program will just ignore it.
The program never igores.  The UI will round in the display, so the nrg may not appear to drop every cycle if costs are very very low, but the program always does the math and nrg is actually dropping even when too slow to see in the UI...  
« Last Edit: December 18, 2006, 06:57:59 PM by EricL »
Many beers....

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
League Settings
« Reply #41 on: December 18, 2006, 10:13:12 PM »
I once set the DNA upkeep to something like .000 000 000 1 or something like that.  I don't think any of my bots ever lost nrg.  If you get a half second, can you check on this?

Offline Sprotiel

  • Bot Destroyer
  • ***
  • Posts: 135
    • View Profile
League Settings
« Reply #42 on: December 19, 2006, 08:19:13 PM »
Quote from: Numsgil
I once set the DNA upkeep to something like .000 000 000 1 or something like that.  I don't think any of my bots ever lost nrg.  If you get a half second, can you check on this?
That's 10^-10 ! No wonder you didn't see any effect: say your bots have a 1000-blocks DNA, and live 100 000 turns, over the course of their life, they'll have lost 10^3 * 10^5 *10^-10 = 0.01 energy.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
League Settings
« Reply #43 on: December 19, 2006, 11:06:07 PM »
This was in a very long term sim where I would get a million cycles an hour.  Even after millions of cycles bots would still have 30 000 nrg, where they started.

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
League Settings
« Reply #44 on: December 20, 2006, 11:21:07 AM »
Quote from: Numsgil
I once set the DNA upkeep to something like .000 000 000 1 or something like that.  I don't think any of my bots ever lost nrg.  If you get a half second, can you check on this?
I looked at this and I think I fixed this farily recently.  In several routines, Upkeep() amoung them, local temp varibles of type Long were being used where Sinlge types should have been.  This resulted in rounding or in some cases overflows when very large or very small values were assigned.  My guess is that your small cost value got rounded to 0 in the assignment.  Pretty sure this won't happen today since I recently (like maybe a month ago) did a comprehensive look though all the source for such Single->Long assignments and fixed this one (and a bunch of others).
Many beers....