Author Topic: greeting and newbie question  (Read 3407 times)

Offline apothegm

  • Bot Neophyte
  • *
  • Posts: 3
    • View Profile
greeting and newbie question
« on: January 16, 2008, 08:16:59 PM »
Hi, all, just got into DB... I'd downloaded it before, years ago, but never got into it, now I think I'm starting to get a handle on it. right now I'm running my first simulation with the first bot I wrote...
so here's a question I ran into: it seems like the different positions in memory have different sizes? I know that .nrg can go up to 32000, but .repro is a range from 1-100 right? and I can't figure out the range of .eye.
am I right in thinking this? and is there a way to find out what the meaningful range is for all of the variables?
I'd appreciate help with this.
it seems like this is a great community and I look forward to evolving some interesting bots. Thanks!
« Last Edit: January 16, 2008, 08:19:49 PM by apothegm »

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
greeting and newbie question
« Reply #1 on: January 16, 2008, 08:44:32 PM »
Hi there and welcome.

The valid range of all the memory locations is -32000 to 32000 inclusive.  But, as you point out, the set of values that matter can be much narrower and depends upon whether the location is effectivly read only (like the .eyeN sysvars) write only (like say .fixpos or .shoot or .repro - well okay, they can be read, so the term write only isn't correct, but the simulator will reset these and others to 0 every cycle so they are effectivly toggles) or read/write.    Let me try to explain:

Bot DNA can write to any memory location and write any number in the above range to any location.  But... the simulator code may not pay attention or it may overwrite it or truncate it or MOD it by some value before it uses it (and potentially resets it) depending on the location.  So, something like .fixpos has two values that matter:  0 and everything else.  Something like .repro does a MOD 100 for positive values and ignores negative values.  Something like .up will trucate the value to 100 if the value is > 100.  And something like .robage is effectively read only.  Bot DNA can write to it, but the simulator will just overwrite it.

Personally, I think we want to eventualy get rid of as many "magic values" and magic ranges as we can and make the entire range do something for every location.  For example, I might suggest we change .fixpos so that odd values fix the bot and even values release it.  That kind of thing.  Note there are issues here w.r.t. mutation probability hitting upon DNA that does something, so we need to chose the percentage of values that do something and or don't do something with this in mind.  But for now, it all depends on the location...


Oh, and the range of .eyeN values the simulator will produce just changed with 2.43z and is now effectively 0 - 32000.  See this topic for more info.
« Last Edit: January 16, 2008, 08:58:06 PM by EricL »
Many beers....

Offline apothegm

  • Bot Neophyte
  • *
  • Posts: 3
    • View Profile
greeting and newbie question
« Reply #2 on: January 28, 2008, 05:10:48 AM »
thanks for the info! I've been running my first simulation and have seen some behaviors develop, it's pretty rewarding.

Another question... I keep running into an error when I start a new sim, and when dna files get loaded to repopulate the sim with veggies when they're under the threshold.  it says "error: 's dna hashing incorrect - ignoring parameters". it comes up a bunch of times and I just click through it and it seems to work fine, but the problem is when it needs to repopulate veggies in the middle of the sim. it seems like maybe it's trying to load a blank dna file? I'm guessing there's an easy way around it but I haven't figured it out. anyone know? thanks.

Oh, and also, about what volume of data is transferred in internet mode? I'm on a strict 200 meg/day download cap... I'm guessing DB wouldn't cut into much, probably just a few megs/day at most. is this about right?
« Last Edit: January 28, 2008, 05:15:05 AM by apothegm »

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
greeting and newbie question
« Reply #3 on: January 28, 2008, 10:11:12 AM »
Quote from: apothegm
Another question... I keep running into an error when I start a new sim, and when dna files get loaded to repopulate the sim with veggies when they're under the threshold.  it says "error: 's dna hashing incorrect - ignoring parameters". it comes up a bunch of times and I just click through it and it seems to work fine, but the problem is when it needs to repopulate veggies in the middle of the sim. it seems like maybe it's trying to load a blank dna file? I'm guessing there's an easy way around it but I haven't figured it out. anyone know? thanks.
When you save a bot's DNA from a sim (via the "Save Robot's DNA' menu item on the robot's menu) it writes a bot DNA txt file and includes a line at the bottom of the file of the form '#hash: J'02[Y9Bq8nO2}wAfEpz.  There are likely bugs with (re)calculating this hash.  If you simply delete this line from the bot file in question, the error should go away.  If you could post the bot file, I'll look into the bug.

Quote from: apothegm
also, about what volume of data is transferred in internet mode? I'm on a strict 200 meg/day download cap... I'm guessing DB wouldn't cut into much, probably just a few megs/day at most. is this about right?

It should be well well below this.  A bot .dbo file (the binary file form of an extant bot) is normally around 10k in size and population files are much smaller than that.  So, if your sim sends and receives say a total of 1000 bots per day (probably a high max) you might get up to maybe 15Mb per day max, but in all likelyhood, it will be much less.
Many beers....