Darwinbots Forum
Bots and Simulations => Bot Tavern => Topic started by: Numsgil on April 08, 2005, 06:46:36 AM
-
k0zm0 inspired me with his attempts at pack like behavior, so I made Fish School (http://s9.invisionfree.com/DarwinBots_Forum/index.php?showtopic=305&view=findpost&p=426544).
It swims in schools. It eats, it reproduces. The end behavior from such simple rules is amazing. Smaller sims work alright, but it really shines in large sims. Like size 4. Absolutely hypnotizing.
I'm submitting it as a base bot, meaning you can totally rip it off and build a bot around it. I know k0zm0 is going to develop it further. There are alot of possibilities with it.
-
It creates an overflow error with me...
Hmmm... I'm being too critical, it's a really cool bot! :)
-
Really cool bot, Numsgil. The concept is really interesting (not to mention the visual effect). That's what you call a peculiar behaviour!
Would be also interesting to see what happens letting it evolve, as such group behaviours change dramatically even with very small changes in the rules. Do the mutation parts works now?
Bye,
Carlo
-
He lives!
I tried running some mutation sims with it. After a few hours the behavior breaks. The trick I think is to figure out what kind of environment would be best for such a behavior. And to fix the DNA to be simpler. The fewer interrelated genes there are the less likely mutations will screw it up, in my experience.
-
Num, you inspired me.
Ive been playing with the idea of using .out1/2 to store refx/ypos of food so you can use... '*.in1 *.in2 angle .setaim store'.
Unfortuantly its to complex for F1 bots, but a fish is perfect for it!
Attached is my prototype.
For settings Im using F1 but with
Size 4 (32000x24000)
5 nrg/cycle for alga
200 max alga
Its awesome to watch a school of 20 bots attack a large patch of alga. They rip it apart!
-
Hey Shen, noticed a bug in one of the genes.
Second to last gene should be:
' - No more food :( -
cond
*.eye5 0 =
*.refeye *.myeye =
start
0 .out1 store
0 .out2 store
stop
and then I'd recommend doing:
' - No more food :( -
cond
*.eye5 0 =
*.refeye *.myeye =
*.out1 0 !=
start
0 .out1 store
0 .out2 store
stop
-
Great bot, just got the chance to see it in action. I'm going to try splicing it with some of Din's dna to see what happens.
Endy B)
-
The .in memlocs are only conditionaly refreshed so if you only refresh .out then all the bots end up trying to get to a non existant enemy.
This was just a prototype though so its not perfect by a long shot, ill get round to updating it eventually.
-
The .in memlocs are only conditionaly refreshed so if you only refresh .out then all the bots end up trying to get to a non existant enemy.
What do you mean by this? I admit I really never checked into how in/out work.
-
in and out work the same as the refvars. Once a value is set it stays until something else displaces it.
However you can delete it internally from DNA if you like.