Author Topic: Communitus_Friendlius  (Read 9909 times)

Offline Gambit

  • Bot Builder
  • **
  • Posts: 52
    • View Profile
Communitus_Friendlius
« on: April 27, 2008, 07:37:24 PM »
'If there is no food then look for some randomly.
cond
 *.eye5 0 =
 *.refeye *.myeye = or
start
 314 rnd .aimdx store
 10 .up store
stop

'peripheral vision left
cond
 *.eye1 0 >
start
 52 .aimsx store
 *.refeye *.myeye !=
stop

peripheral vision right
cond
 *.eye1 9 >
 *.refeye *.myeye !=
start
 52 .aimdx store
stop

'if you find something chase it
cond
 *.eye5 0 >
 *.refnrg 3000 >
 *.refeye *.myeye !=
start
 *.refveldx .dx store
 *.refvelup 30 add .up store
stop

'Attack the food if its strong enough but dont kill it. Let it live so you can feed on it later. Though bigger bots may accidentally kill prey.
cond
 *.eye5 50 >
 *.refnrg 3000 >
 *.refeye *.myeye !=
start
 16 .shootval store
 -1 .shoot store
 *.refvelup .up store
stop

'poop
cond
*.waste 200 >
start
.backshot inc
-4 .shoot store
*.waste .shootval store
stop

'if you find something that isnt food (a relative) heal it if it needs
cond
*.eye5 50 >
*.refeye *.myeye =
*.refnrg 5000 <
*.nrg 5000 >
start
-2 .shoot store
stop

'if you get huge reproduce
cond
*.body 20000 >
start
40 .repro store
stop

'if you find a strong relative kill it (to control population)
cond
*.eye5 50 >
*.refeye *.myeye =
*.refnrg 10000 >
start
-1 .shoot store
stop

end


this bot is built around helping its species as a whole. it preserves food, heals the weak, kills the rich. its really kind of a communist actually...

it has peripheral vision to make it an effective hunter. but it lacks shells poisons venom or ties or any of that advanced stuff. it does very well against any packaged bots from previous versions and is the best bot I've made so far.

its biggest problem is it has a high tendancy to get this nasty mutational disease. it takes out the breeding condition causing it to breed itself to death and all the offspring breed. it locks up the program very quickly. if you turn off mutations you'll be amazed as its effectiveness though.
« Last Edit: April 27, 2008, 07:41:13 PM by Gambit »

Offline bacillus

  • Bot Overlord
  • ****
  • Posts: 907
    • View Profile
Communitus_Friendlius
« Reply #1 on: April 27, 2008, 07:55:24 PM »
A very good bot, although you may need some body control in there.Try this:
*.nrg 3 div *.body sub dup .strbody store - .fdbody store
this makes sure body:nrg is always in a 1:3 ratio.
"They laughed at Columbus, they laughed at Fulton, they laughed at the Wright brothers. But they also laughed at Bozo the Clown."
- Carl Sagan

Offline Gambit

  • Bot Builder
  • **
  • Posts: 52
    • View Profile
Communitus_Friendlius
« Reply #2 on: April 27, 2008, 08:25:12 PM »
but I like em big.
and they only reproduce at 20000 body. thier body cuts in almost half after breeding


any idea how to make them less suseptable to that mutation I mentioned? they mutate changing the > symbol to a <

then the babies have babies and so on and it just goes nuts like 10k bots in a little cluster and it locks up.


Offline bacillus

  • Bot Overlord
  • ****
  • Posts: 907
    • View Profile
Communitus_Friendlius
« Reply #3 on: April 27, 2008, 08:44:50 PM »
One way would be to note down the DNA length, then use the condition *.dnalen number != to self-destruct any bot that mutated lengthwise. Another option would be to self-destruct when something happens that shouldn't happen
Having only big bots reproduce in such a social bot might seem like a bad idea because a.) There wouldn't be much to share nrg with and b.)Body only builds up automatically when nrg level is 32000, so if a bot comes along and starts eating yours, it'll never reproduce. It happens often that a huge bot will pop because it runs out of nrg, even though so much is stored in body mass.
"They laughed at Columbus, they laughed at Fulton, they laughed at the Wright brothers. But they also laughed at Bozo the Clown."
- Carl Sagan

Offline Gambit

  • Bot Builder
  • **
  • Posts: 52
    • View Profile
Communitus_Friendlius
« Reply #4 on: April 27, 2008, 08:47:27 PM »
OOOH!
whats the self destruct command!?!?....erm...please... lol

I wanted something like that originally. so that they produce 1 big offspring and die. I kinda wanted them to be single celled humans... sorta


and I'm okay with them popping. they limit thier own population that way. its designed to prolong the race. not much care for individuals.
« Last Edit: April 27, 2008, 08:49:36 PM by Gambit »

Offline bacillus

  • Bot Overlord
  • ****
  • Posts: 907
    • View Profile
Communitus_Friendlius
« Reply #5 on: April 27, 2008, 09:03:02 PM »
There's lots of ways, you have to mess around a bit to see which works best. Some methods include shooting with shootval set to 32000, or making huge amounts of slime/shell/poison/venom.
Remember, one huge bot popping is a tremendous waste of nrg for the species; it should be sutaining a minimum amount of nrg so it has enough time to transfer its body mass on to others. Consider using -6 .shoot instead of -1 .shoot so you can directly feed of body mass. It's also about 10 times faster (I think).
"They laughed at Columbus, they laughed at Fulton, they laughed at the Wright brothers. But they also laughed at Bozo the Clown."
- Carl Sagan

Offline gymsum

  • Bot Destroyer
  • ***
  • Posts: 215
    • View Profile
Communitus_Friendlius
« Reply #6 on: April 27, 2008, 09:47:31 PM »
The only way to ensure the mutation does not affect the bots long term, is to produce many bots by the original copy. The more copies made of your original, the better its chances for genetic survival. I am not sure how destroying itself will produce a real evolutionary result many programmers seek in their design. Change your reproductive requirements using numties or something besides body, say robage; bodies take way longer to rebuild over time, so reproduction is slower, yielding possibly 3-5 offspring a generation. No matter what, if you allow mutations there will be mistakes, but you need to use either harsher environment settings, or something along the lines of population control. I have cancerous problems with every bot I ever test, but the environment usually kills the bot from costs and over production without finding more energy to harvest.

As programmers we must utilize everything at our advantage, and that is DB. Mutations are meant to improve and specify your species to see how worthy the genetic code actually is, there will be many failures, so run with large populations, like 80 for large bots, and say 30 for smaller bots (dna len, not mass or radius). There's no need to cause a bot to become sucidal, this prevents many specific cospicuous relations, such as legumes.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Communitus_Friendlius
« Reply #7 on: April 28, 2008, 04:12:50 AM »
legumes?

Offline Gambit

  • Bot Builder
  • **
  • Posts: 52
    • View Profile
Communitus_Friendlius
« Reply #8 on: April 28, 2008, 06:56:08 AM »
well they are supposed to self limit thier population

but I see what your saying about how they cant evolve.

but the mutation locks up my computer after only 20 cycles.

I'll try using the environment...


though I did find one use after saving the mutations DNA and patching some holes....     nighty night bascilla

ROFL

Offline Peksa

  • Bot Destroyer
  • ***
  • Posts: 118
    • View Profile
Communitus_Friendlius
« Reply #9 on: April 28, 2008, 08:02:35 AM »
Often the conditionlessly reproducing bots kill themselves pretty quickly, you just have to wait a while. Other option is that it's simply more advantageous to be very small and have a large number of offspring and the bots with "nasty mutational disease" will take over the sim.

After seeing the latter happen in so many sims, in my more recent sims I've used bots that has no conditions for reproing in the first place. I'm hoping that if the enviroment calls for it some conditions will evolve on their on. Also it allows nice big stable populations to avoid problems with mutations in asexual populations (muller's rachet).

But actually conditionless reproing isn't conditionless. A bot with under 2 body can't reproduce, so bot's can't actually reproduce to death, it's the costs that get the small ones.

Offline Gambit

  • Bot Builder
  • **
  • Posts: 52
    • View Profile
Communitus_Friendlius
« Reply #10 on: April 28, 2008, 08:06:33 AM »
okay what kinda computer are all of you running?

it did help like EricL suggested to make the room larger but only for a bit. it locked up after 1000 offspring and about 4 seconds...

theres no time to see if its "more advantagous" because it just freezes.

Offline Peksa

  • Bot Destroyer
  • ***
  • Posts: 118
    • View Profile
Communitus_Friendlius
« Reply #11 on: April 28, 2008, 08:24:17 AM »
Quote from: Gambit
okay what kinda computer are all of you running?

it did help like EricL suggested to make the room larger but only for a bit. it locked up after 1000 offspring and about 4 seconds...

theres no time to see if its "more advantagous" because it just freezes.

I'm running with 2,4 GHz dual core. The sim's got 400-700 bots most of the time with quite evem spread on size 12 sim and some veggies too. It run's at 8-16 cycles per sec, depending on bot and veggie density and sometimes drops to 1 c/s when veggies start to reproduce conditionlessly.

The conditionlessly reproducing veggies die out pretty fast though. The sim is set so that veggies get no body at all for free. As the veggies are fed by the kilobodypoint, small veggies get so little energy that they don't live long enough to trigger the body creating genes and never get to reproduce.

Offline Gambit

  • Bot Builder
  • **
  • Posts: 52
    • View Profile
Communitus_Friendlius
« Reply #12 on: April 28, 2008, 09:49:15 AM »
my processor is only like 1.7 ghz and only 512 mb ram...

so its my computer...

Offline Peksa

  • Bot Destroyer
  • ***
  • Posts: 118
    • View Profile
Communitus_Friendlius
« Reply #13 on: April 28, 2008, 10:25:49 AM »
Yeah. It's quite possible to run sims with smaller populations though. It just takes a while longer to get over the conditionless reproducing bits with slower computer.

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Communitus_Friendlius
« Reply #14 on: April 28, 2008, 10:45:25 AM »
The memory more than anything.  Where there are tradeoffs to make, I use memory to improve perf.  This makes the working set of DB larger than you might expect.  If you start paging out your working set, than the drive starts to be in the loop on memory access operations and the program might as well really be frozen.

If you are running unecessary stuff like Word on the machine, even if it's minimized, try closing it.  Might help a little by freeing up a few meg and get you over the hump until the cancerous bots die...
Many beers....