Bots and Simulations > Bot Tavern
SWARM
Elite:
I am so happy with my new project that I can't resist boasting about it :D
Check out SWARM in the bestiary
I was playing about with swarming bots, thinking that bots that worked together would have a tactical advantage ofer other bots, who largely act as though their conspecs don't exist
SWARM is a very meritocratic bot, with the bots being led by the bot with the most kills. To form the swarms it aligns itself with the heading of it's conpecs, matches their speed and velocity, and constantly checks up on their heading and position. This allows it to fight in packs and surround and outnumber unfortunate enemies. Just watch him in action.
Neat huh :D
Numsgil:
Neat.
Have you looked at Fish School? Your solution is so similar I was wondering if we came to it independantly or if my brilliant idea appealed to you :P
Elite:
Well, I thought of it independantly, but I knew of Fish School beforehand. I saw how you made Fish School work but was trying to get rid of some of the problems with it's swarming behavior:
- Most fish school bots face inward
- Bots spend more time looking at consecs than feeding
etc.
SWARM is more efficient and deadly :D
Inspired by Fish School but all the coding is 100% my own
Except the birth tie gene (that's yours :P )
Numsgil:
Yeah, I was a little dissapointed at how much of Fish School's life was spent checking vectors.
Nice work ;)
Elite:
I've got a new prototype building on the swarming concept:
SocialSwarm communicates the location of food to conspecs and is fiercely territorial. It is also capable of limited 'memory' - remembering the locations of food.
--- Code: ---' SocialSwarm
'
' An advancement on the SWARM concept
cond
start
.tie *.robage 1 add mult inc
.deltie inc
stop
cond
*.eye5 0 >
*.refeye *.myeye =
*.in1 0 !=
*.in2 0 !=
start
*.in1 .out1 store
*.in2 .out2 store
stop
cond
*.body 500 <
*.out1 0 !=
*.out2 0 !=
start
*.out1 *.out2 angle .setaim store
stop
cond
*.eye5 50 <
start
10 .up store
stop
cond
*.eye1 *.eye5 >
*.eye9 *.eye5 > or
start
*.eye9 *.eye1 sub 2 mult .aimdx store
stop
cond
*.eye5 35 >
*.refeye *.myeye !=
start
-6 .shoot store
8 .shootval store
stop
cond
*.eye5 0 >
*.refeye *.myeye !=
start
*.refxpos .out1 store
*.refypos .out2 store
*.refveldx .dx *.eye5 sgn mult store
stop
cond
*.eye5 50 >
*.refeye *.myeye =
start
*.refaim .setaim store
stop
cond
*.body 1000 >
start
50 .repro store
stop
cond
*.nrg 5000 >
start
100 .strbody store
stop
cond
*.nrg 100 <
start
*.body .fdbody *.body sgn mult store
stop
end
--- End code ---
Give it a try :)
Social bots seem to perform much more efficiently, and come out better in melees, than 'lone hunter' bots.
Navigation
[0] Message Index
[#] Next page
Go to full version