Darwinbots Forum

Bots and Simulations => Bot Tavern => Topic started by: Numsgil on April 08, 2005, 06:46:36 AM

Title: Fish School
Post 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.
Title: Fish School
Post by: Old Henk on April 08, 2005, 01:06:44 PM
It creates an overflow error with me...
Hmmm... I'm being too critical, it's a really cool bot! :)
Title: Fish School
Post by: Carlo on April 09, 2005, 05:48:18 AM
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
Title: Fish School
Post by: Numsgil on April 09, 2005, 06:13:11 AM
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.
Title: Fish School
Post by: Shen on April 09, 2005, 07:40:03 AM
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!
Title: Fish School
Post by: Numsgil on April 09, 2005, 11:53:55 AM
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
Title: Fish School
Post by: Endy on April 10, 2005, 02:32:26 AM
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)
Title: Fish School
Post by: Shen on April 10, 2005, 06:04:22 PM
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.
Title: Fish School
Post by: Numsgil on April 10, 2005, 09:34:43 PM
Quote
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.
Title: Fish School
Post by: PurpleYouko on April 11, 2005, 09:15:14 AM
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.