Poll

Could bots benefit from having the way their eyes work changed?

Yes
7 (87.5%)
No
1 (12.5%)
Couldn't care less and where's the chocolate?
0 (0%)

Total Members Voted: 8

Author Topic: Eyes  (Read 10778 times)

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Eyes
« Reply #30 on: November 20, 2006, 09:49:38 PM »
Quote from: Numsgil
Activate an eye only if the bot tries to read from its memory location.
Catching the read is the hard part.  The bot DNA can address the memory location a dozen ways from Sunday

e.g. 100 5 mult inc *

So it's not enough to look for eye statements in the DNA.  In fact, I'm unfortuantly going to have to turn off the existing perf optomization code that doesn't populate the eye values for bots without .eye sysvars.  More than once I've evolved bots that use indrect eye addressing but they are blind because their eyes arn;t getting populated.

I get having explicit sysvars under bot control that enable/disable eyes and then charging for eyes being enabled, whether the bot reads from it or not.

I get charging for writing to sysvars that do something like .up or .eye5dir.

I get making the amount charged partially a function of the value written I.e. 5 .up store costs less than 40 .up store.

I even get adding eye features such as vision range and charging for bots that want to see farther - this is a simple matter of catchign a sysvar write.

I don't get how one charges for reading from a mem location or how we can effeciently decide NOT to popuate certain environmental sysvars such as eyes and refvars.  Doing the work to figure out whether a bot reads from a mem location or not in order to determine whether to do the work to populate it or not or whether to charge for it or not seems to me like a losing perf proposition...
Many beers....

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Eyes
« Reply #31 on: November 22, 2006, 04:33:13 PM »
FYI, as of 2.42.9e, I have now implemented all of the main vision ideas discussed in this thread (with the execption of varying vision distance by daytime/nighttime or other means).

The focus eye (the one used to populate refvars) can now be changed to any eye.

Each eye can be independently aimed without the bot turning.

The field of view for each eye can be independently changed, widening or narrowing the field of view.

This should open up a whole new realm for bot vision.  I have already posted some example genes in the genes repository.  Many other interesting capabilites are possible.

Who says you never get your money's worth?
« Last Edit: November 22, 2006, 04:33:46 PM by EricL »
Many beers....

Offline Jez

  • Bot Overlord
  • ****
  • Posts: 788
    • View Profile
Eyes
« Reply #32 on: November 22, 2006, 05:33:50 PM »
Quote from: EricL
Who says you never get your money's worth?

Have you ever played the lottery?

Anyway, if bots can now move their eyes, perhaps a cost for bots turning?
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
Eyes
« Reply #33 on: November 22, 2006, 07:57:34 PM »
Quote from: Jez
Have you ever played the lottery?

Anyway, if bots can now move their eyes, perhaps a cost for bots turning?

Lotteries are simply taxes on people who can't do math.....  

I'm all for turnign costs.  I think it may have to wait however until we move to a angular momentum based turning paradym....
Many beers....