Author Topic: DNA Scripts  (Read 8290 times)

Offline Old Henk

  • Bot Destroyer
  • ***
  • Posts: 229
    • View Profile
DNA Scripts
« on: April 09, 2005, 03:03:30 AM »
Hi,

At current, we have DNA scripts, which really come in handy during evolution sims.

I don't know how far you've progressed with this PY, but I've come up with some more 'script handlings'

"ifs"
  • If bot has more the X descendants
  • If bot age is more then X cycles
  • If number mutations is more then X
  • If bot Memloc X is more then X
"Thens"
  • Save robot DNA (in autosave folder)
  • Change this bot's color into X
  • Kill all other bots and start new simulation with X of these bots
Hope some will be implemented...

Henk :)

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
DNA Scripts
« Reply #1 on: April 09, 2005, 03:05:24 AM »
Eventually I'd like to see the scripts turned into a massive thing that can control the entire simulation while you're away.

So good work Henk, keep them comming.

Offline Zelos

  • Bot Overlord
  • ****
  • Posts: 707
    • View Profile
DNA Scripts
« Reply #2 on: April 09, 2005, 11:28:43 AM »
the last one whit kill all the others can be useful. I think you also shall be able to make it evolutio like. like when we add the astronomy stuff. then we can have meteor impacts and valcanic eruptions than increase the albedo/absorbation of the atmosphere which cause the plants to get less energy and then it gets a food shortage. and then mmost bots die out.
« Last Edit: April 09, 2005, 11:33:16 AM by zelos »
When I have the eclipse cannon under my control there is nothing that can stop me from ruling the world. And I wont stop there. I will never stop conquering worlds through the universe. All the worlds in the universe will belong to me. All the species in on them will be my slaves. THE ENIRE UNIVERSE WILL BELONG TO ME AND EVERYTHING IN IT :evil: AND THERE IS NOTHING ANYONE OF you CAN DO TO STOP ME. HAHAHAHAHAHAHAHA

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
DNA Scripts
« Reply #3 on: April 09, 2005, 05:19:15 PM »
I like this one too....

Offline Shen

  • Bot Destroyer
  • ***
  • Posts: 111
    • View Profile
DNA Scripts
« Reply #4 on: April 11, 2005, 06:15:25 PM »
A couple more trigger ideas.

IF

More/Less than X Bots/Veggies


THEN
Increase/Decrease Veggie Feedrate/Repop

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
DNA Scripts
« Reply #5 on: April 11, 2005, 08:43:34 PM »
That is pretty much what the old system used to do anyway.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Old Henk

  • Bot Destroyer
  • ***
  • Posts: 229
    • View Profile
DNA Scripts
« Reply #6 on: April 12, 2005, 11:33:51 AM »
Quote
That is pretty much what the old system used to do anyway.
It did? How?  :huh:

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
DNA Scripts
« Reply #7 on: April 12, 2005, 12:44:58 PM »
The program kept track of the total energy contained in all the veggies then determined the feed rate depending on this value.

Loads of big veggies = low or zero food (even saw negative sometimes)

very low small veggies = huge food.

Up until V2.36 that was how it worked. The new feed rate setting that Num added was the first time we ever really had a ny control.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Greven

  • Bot Destroyer
  • ***
  • Posts: 345
    • View Profile
DNA Scripts
« Reply #8 on: April 17, 2006, 03:33:54 PM »
Actully we could integrate python or something similar into DB, although I dont know how, a little research might be worthwhile... I dont, that is how civilization 4 is made (or their scripts)
10010011000001110111110100111011001101100100000110110111000011101011110010110000
011000011000001100010110010111101001110100110010111100101000001000001111001011101
001101001110011011010011100011110100111000011101100100000100110011010011100110110
010110000011100111101001110110111101011101100110000111101001101001110111111011101
01100100000111010011010001100001110111010000010001001000010100001

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
DNA Scripts
« Reply #9 on: April 17, 2006, 04:12:10 PM »
The problem is that I don't know the first thing about Python

Seriously though a professional scripting language might either be perfect or way overkill.  I just don't know enough to guess.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
DNA Scripts
« Reply #10 on: April 18, 2006, 12:58:16 AM »
I'm looking at Lua at the moment.  It seems to look very similar to VB, which is a plus I think.

I'm trying to think of when the best time to run script events would be.  Can anyone think of some sort of event they might like to run that would be difficult or impossible to accomplish if the scripts all executed at the start of every cycle?
« Last Edit: April 18, 2006, 12:58:46 AM by Numsgil »

Offline Greven

  • Bot Destroyer
  • ***
  • Posts: 345
    • View Profile
DNA Scripts
« Reply #11 on: April 18, 2006, 03:24:00 AM »
I looked a little at Lua, seems nice. About the time of execution, a script that does something for the bots that die in a round etc. Can come up with numerous things....
10010011000001110111110100111011001101100100000110110111000011101011110010110000
011000011000001100010110010111101001110100110010111100101000001000001111001011101
001101001110011011010011100011110100111000011101100100000100110011010011100110110
010110000011100111101001110110111101011101100110000111101001101001110111111011101
01100100000111010011010001100001110111010000010001001000010100001

Offline Henk

  • Bot Destroyer
  • ***
  • Posts: 110
    • View Profile
DNA Scripts
« Reply #12 on: April 18, 2006, 04:35:00 AM »
Quote from: Numsgil
I'm trying to think of when the best time to run script events would be.  Can anyone think of some sort of event they might like to run that would be difficult or impossible to accomplish if the scripts all executed at the start of every cycle?

Wouldn't that be very processor-intensive? How about having this interval user-definable? ie "check this script every N cycles"

Henk
cond
*.DBbugs 0 =
start
.rejoice inc
stop

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
DNA Scripts
« Reply #13 on: April 18, 2006, 08:28:44 AM »
Here's what my basic problem is:

I can either move the entire Engine update into a script, and allow users to modify it that way to set up their sims, or set up a bunch of in-cycle script checks.

If I move the engine update into a script, that's potentially alot of code.  It depends exactly how much or how little I can get away with and still satisfy the needs of people.  It could easily turn into a grand old mess given my inexperience.

If I just set up a bunch of in-cycle script checks, it creates alot of code mess, which I'd like to avoid if at all possible.

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
DNA Scripts
« Reply #14 on: May 02, 2006, 04:08:28 PM »
I would really appreciate some of Henk's original script suggestions.

I was trying to rapidly evolve a self-replicator, but the DNA kept getting obliterated by the point mutations when one did evolve. I had to do it by hand.

Pausing the sim if a bot reproduces would be a very useful feature for me