Author Topic: Hi  (Read 3933 times)

Offline schatten

  • Bot Neophyte
  • *
  • Posts: 2
    • View Profile
Hi
« on: April 22, 2007, 06:39:08 PM »
Hello.
I just downloaded DB and experimented with some bots and have some questions about them.

1. I used Excalibur and wanted to make him have mutations so I looked at the "smart plant" bot. The smart plant uses this
Code: [Select]
cond
start
99 300 2 rnd add store
314 rnd 5 rnd store
stop
as his repro code. Though it seems that "99 300 2 rnd add store" isnt working (well it works when rnd returns 0). I noticed that 301 and 302 is deactivated? No mrepro and sexrepro? Then I added "314 rnd 5 rnd store" to excalibur. With some tests it seems that just by adding this line excalibut seems stronger then the original version? O.o Why is that? What does this line do anyway? I have no clue. lol

2.1 Is it possible to have a long lasting sim? I tried excalibur (the version with that added line) again (hes such a great bot. ) and he is totally dominating everything lol. I used excalibur orig as veggy and the modded to eat it and even then one or the other is dominating given some time.
2.2 I guess you cannot have a long lasting sim with veggies and more then 1 other bot and aggressive and/or passive interaction between them?

3. I noticed that after a lot of cycles and only modded excalibur and veggys that some excaliburbots attack themselve. Could it be that they are so much mutated that they wont recognice themself?
Code: [Select]
cond
*.robage 0 =
start
955 4 rnd add .memloc store
1905 955 store
1905 956 store
1905 957 store
1905 958 store
1905 959 store
1 .tie store
0 .out1 store
0 .aimsx store
.shoot .vloc store
.shoot .ploc store
100 .mkshell store
100 .strpoison store
stop
I found out that the lines with 1905 are used as recognizing friends. So I guess the mutations changed that? o.O What exactly do those lines mean? I couldnt found out that 1905 or 955-959 means.
« Last Edit: April 22, 2007, 06:40:07 PM by schatten »

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
Hi
« Reply #1 on: April 23, 2007, 02:43:48 AM »
Hey schatten, let me see if I can't answer some of your questions.

1:
Currently in newer versions there's no longer any sexrepro, so that may explain some of what you're seeing. Mrepro should still work though...

"314 rnd 5 rnd store"

This'll make any bot randomly store 0-314 in random locations from 0-5. 1-4 are for moving up, down, left and right; and 5 is for turning. Should make the bot more random and probably evade better overall.

2:
This is actually one of DB's common issues, typically one bot or another will wind up completly dominating the sim. Mainly it's just a problem with a lack of Niches being available for the bots. Pretty much they're all competing for the same nrg and it's winner take all.

Typically veggies become more passive/defensive over time. They only have to evade being eaten and pass on their genes. Most of the time they'll learn to constantly reproduce and move randomly about. If they can adapt to the animals id system they'll do that also, but the id system Excalibur uses should prevent that.

3:
Cannibots, don't you just love them  Ironically this is one of the few "niches" DB's enviroment has, basically that of cannibalistic omnivores.They'll lose their friend or foe identification abilities or identifiers, so they can attack their near relatives without being attacked in turn.

This should actually be one of the more stable id system, since they could lose some of their identifiers without being attacked by all the other bots at once. It's actually better for evolution if they have some interspecies fighting, just bad if it devolves into total chaos.

Code: [Select]
955 4 rnd add .memloc store
1905 955 store
1905 956 store
1905 957 store
1905 958 store
1905 959 store

Alright .meloc refers to a location in another bots memory array for this bot to check. In this case it'll check one of the locations 955-959. 1905 is just the particular value the author chose for the bot to check for, any bot that doesn't have one of these locations set the same as the bot's is identified as non-family and attacked. Basically its the equivalent of someone fighting all the people that don't have brown hair, the value is pretty much arbitrary all that really matters is that its there.

Nothing particullarly special about those locations either, they're just unused locations the bots can use to remember stray values.

Hope this helps,

Endy
« Last Edit: April 23, 2007, 02:53:35 AM by Endy »

Offline schatten

  • Bot Neophyte
  • *
  • Posts: 2
    • View Profile
Hi
« Reply #2 on: April 23, 2007, 03:31:45 PM »
Thanks.  

1.
Code: [Select]
cond
*.nrg 1000 >
*.body 500 >
*.eye5 50 <
start
628 .aimsx store
51 .repro store
'51 .mrepro store
314 rnd 5 rnd store
1 50 store
stop

I cant get it to use mrepro. o.O Am I doing something wrong here?


2. Oh. I thought if I use some bots like "family" and some not so aggressive bots the sim would take a lot longer, hehe.

Veggys can get that smart? I noticed the population function of veggies is always like a sawteeth or whatever the english name is. Basically ^^^^ this. As the veggies always gets eaten so fast that the repop kicks in and repop uses the unmutated version and previous mutants gets eaten anyway.


3. Ahh... cannibots hehe. Yeah, I saw its only a few who do that and no civil war.

Oki.

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
Hi
« Reply #3 on: April 25, 2007, 03:39:47 AM »
Code: [Select]
cond
*.nrg 1000 >
*.body 500 >
*.eye5 50 <
start
628 .aimsx store
51 .mrepro store
314 rnd 5 rnd store
1 50 store
stop

This should work.

Quote
Veggys can get that smart? I noticed the population function of veggies is always like a sawteeth or whatever the english name is. Basically ^^^^ this. As the veggies always gets eaten so fast that the repop kicks in and repop uses the unmutated version and previous mutants gets eaten anyway.

Gotta get one of the "cancerous" veggie versions. Basically they constantly try to reproduce, making them near impossible to kill. Once repop stops the veggies are free to evolve. They're actually better at evolving than the animals, since they don't have to worry about finding food or expending too much energy. Normally they find passive/defensive methods to avoid being eaten, kind of ironic since real plants tend to do the exact same thing.

Code: [Select]
'Cancerous veggie
cond
start
99 .repro store
314 rnd .aimdx store
stop

Quote
Oh. I thought if I use some bots like "family" and some not so aggressive bots the sim would take a lot longer, hehe.

Might just want to take Excalibur and make a few with slightly different id's. They wouldn't be cannibots all the time, just enough to make things interesting.

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
Hi
« Reply #4 on: May 02, 2007, 05:30:11 PM »
Been using this ID system in one of my Evobots and have had really good results. I also added in a couple of the older id methods, to give the bots some variety. Might be an idea to improve it for the latest DB version, by using it's own memloc as a reference, ie.
Code: [Select]
*.memloc * *.memval !=
The id code itself could be made epigenetic so the bots don't waste nrg storing them each cycle.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Hi
« Reply #5 on: May 02, 2007, 11:18:26 PM »
That's a pretty good idea.