Author Topic: Smarter algae  (Read 4903 times)

Offline ashton15

  • Bot Builder
  • **
  • Posts: 99
    • View Profile
Smarter algae
« on: April 16, 2010, 08:34:37 AM »
Well alga_minimalis is pretty pathetic really... I mean it'll just let itself get shot, what kind of plant would do that? Wait, don't awnser that... but anyways here we have two algae with the inteligence to actually do something... first ligamen lentesco meaning stringy and sticky... that's pretty much it, entangles other bots, if there's enough of them they may be able to kill a weaker bot like animal_minimalis though it's unlikely.

[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']'By:       Ashton15
'Name:       Ligamen lentesco
'Description:    Tangles other bots up and
      forms large colonies
               
start

 *.robage 0 =
 .fdbody .tieloc store
 100 .tieval store

 *50 0 =
 1 .dn store
 50 .sharenrg store
 *.nrg 8000 > and
 30 .repro store
 .tie inc

 *.shflav 0 !=
 *.shflav -2 != and
 *.refeye *.myeye != and
 25 .aimright store
 0 .shflav store
 *50 0 = and
 50 inc
 0 .timer store

 *50 1 =
 *.trefnrg 10 mult *.nrg > and
 99 .sharenrg store
 *.refeye *.myeye != and
 *.eye5 0 != and
 *.refxpos *.refypos angle .setaim store
 .shoot dec
 *.nrg 200 > and
 50 .repro store
 *.refeye *.myeye =
 *50 1 = and

 100 *.timer <
 *50 1 = and
 50 dec
 *.eye5 0 !=
 .tie inc

stop

And then there's effervo sero or swarming plant, basically it makes this big moving ball like a shoal of small fish, it can throw enemies just through centrifrugal force... a large colony can tear seasnake apart, and will change direction frequently to confuse... many animals die in the middle of the swarm because they can't get their energy... very hard to thrive on this algae, oh and it only works in sims larger than 32000 in both directions. It's highly unrecomended but you can add this gene near the end to make it shoot, so far I've not found anything that can survive in an enviroment with the shooting variety. I'm not entirely sure how but on two seprate occasions the colony has split with no apparent cause, not even a mutation it's not coded anywhere to split either though I've tried to code it in a way so that it splits when there are 250 in any one colony though I got impatient and gave up, a viable batterybot animal using this as a base would be intresting though probably quite hard to code bearing in mind this throws out any attacking bot should it lack viligance.

*.refeye *.myeye !=
*.eye5 10 > and
*.refxpos *.refypos angle .setaim
*.refxpos .tout1 store
*.refypos .tout2 store
*.refeye 0 != and
-6 .shoot store
*.eye5 50 <
-2 .shootval store
not
4 .shootval store


[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']'By:       Ashton15
'Name:       Effero Sero
'Description:    Makes a large moving ball
      to confuse animals

start
 
 *.timer abs 4000 mod 4 mult 8000 add 6000 8000 *.daytime -- - mult add angle 628 add .setaim store

 *.eye9 0 !=
 4 .focuseye store
 *.eye1 0 !=
 -4 .focuseye store
 *.eye8 0 !=
 3 .focuseye store
 *.eye2 0 !=
 -3 .focuseye store
 *.eye7 0 !=
 2 .focuseye store
 *.eye3 0 !=
 -2 .focuseye store
 *.eye6 0 !=
 1 .focuseye store
 *.eye4 0 !=
 -1 .focuseye store
 *.eye5 0 !=
 0 .focuseye store

 *.refeye *.myeye =
 *.eye5 0 = or
 *.tin1 0 = and
 *.tin5 0 = and
 *.numties 2 < and
 *.timer abs 4000 mod 4 mult 8000 add 6000 8000 *.daytime -- - mult add dist *.totalmyspecies 300 add > and
 *.timer abs 4000 mod 4 mult 8000 add 6000 8000 *.daytime -- - mult add dist 2000 div 3 add .dn store true
 *.timer abs 4000 mod 4 mult 8000 add 6000 8000 *.daytime -- - mult add dist 1000 div 2 pow - 21 add 0 floor .dx store

 *.tin5 1 =
 -4 2 *.daytime mult store
 *.eye1 0 !=
 *.eye2 0 != and
 *.eye3 0 != and
 *.eye4 0 != and
 *.eye5 0 != and
 *.eye6 0 != and
 *.eye7 0 != and
 *.eye8 0 != and
 *.eye9 0 != and
 *.timer abs 4000 mod 4 mult 8000 add 6000 8000 *.daytime -- - mult add dist *.totalmyspecies 500 add < and
 1 .tout5 store

 *.eye5 0 !=
 *.timer abs 4000 mod 4 mult 8000 add 6000 8000 *.daytime -- - mult add dist *.totalmyspecies 2600 add < and
 .tie inc
 200 .fixlen store

 *.timer abs 4000 mod 4 mult 8000 add 6000 8000 *.daytime -- - mult add dist *.totalmyspecies 6000 add >
 *.numties 0 > and
 .deltie inc

 *.tin1 0 !=
 *.tin1 *.tin2 angle .setaim store

 *.robage 0 =
 7 .ploc store

 *.shflav -1 =
 *.poison 100 < and
 20 .mkpoison store
 1 .tout3 store
 0 .shflav store
 *.tin3 1 =
 *.poison 100 < and
 20 .mkpoison store

 *.shflav -6 =
 *.shell 100 < and
 20 .mkshell store
 1 .tout4 store
 0 .shflav store
 *.tin4 1 =
 *.shell 100 < and
 20 .mkshell store

 *.eye5 0 =
 *.nrg 5000 > and

 50 .repro store
 *.timer 400 mod 360 >
 *.timer 400 mod sub 355 - .dx store
 *.timer 900 mod 890 >
 *.maxvel - .dn store
 *.maxvel 2 div .dx store

 .deltie inc

stop

Anyways I figured I might upload some images to go with them (false colour), I even resized them so as not to use much space on the server , so first two creatures... algaes... plants that I've made, knew I'd get there.  They're pretty ineffcient because I figured afterall hey, they're plants, they don't need to be.
« Last Edit: April 16, 2010, 04:54:41 PM by ashton15 »

Offline Houshalter

  • Bot Destroyer
  • ***
  • Posts: 312
    • View Profile
Smarter algae
« Reply #1 on: April 16, 2010, 10:05:56 AM »
This gives me an idea. () What if you just make alga_minimalis tie to everything. It won't share nrg, just shoot ties at anything in range.
Code: [Select]
cond
*.eye5 0 >
start
.tie inc
stop

Offline Ammeh

  • Queen of the Internets
  • Bot Destroyer
  • ***
  • Posts: 169
    • View Profile
Smarter algae
« Reply #2 on: April 16, 2010, 04:03:08 PM »
I'm gonna try the ball one, effero sero in a sim, it sounds interesting

Offline ashton15

  • Bot Builder
  • **
  • Posts: 99
    • View Profile
Smarter algae
« Reply #3 on: April 16, 2010, 04:51:07 PM »
Quote from: Houshalter
This gives me an idea. () What if you just make alga_minimalis tie to everything. It won't share nrg, just shoot ties at anything in range.
Code: [Select]
cond
*.eye5 0 >
start
.tie inc
stop

yeah... I'm trying to make an alga that ties to everything, fixes it's position and then forces the other to increase .fixlen through .tieloc and .tieval essentially making it so they can't reach the algae but they're still attached and evntually forms a defensive circle of bots constantly fighting each other... also I've noticed another uncoded behaiviour in Effero Sero, when it migrates the colony will leave a string of smaller algae which hangers-on enemies will attach to peeling away from the main colony... It's strange, this algae seems to have a more complex behaviour than it appears... me bieng the guy who coded it I propably should understand it, reminds me of Conways game of life with the emergent behaiviour thing. Couldn't be botherd to recolour this screenshot  by the way like the new avatar sammeh, looks way better than the radioactive sign, did you draw it yourself?
« Last Edit: April 16, 2010, 04:57:53 PM by ashton15 »

Offline Ammeh

  • Queen of the Internets
  • Bot Destroyer
  • ***
  • Posts: 169
    • View Profile
Smarter algae
« Reply #4 on: April 17, 2010, 06:00:57 AM »
Quote from: ashton15
like the new avatar sammeh, looks way better than the radioactive sign, did you draw it yourself?

hehe, I'm not *that* good  random find on the interwebs

Also, the algae completely confounds webfungus2.5 which doesn't even attempt to bind to it for some reason :S, but webfungus 2.1 pretty quickly takes over. interesting algae though, little curious as to why 2.5 can't feed off it...

Offline Moonfisher

  • Bot Overlord
  • ****
  • Posts: 592
    • View Profile
Smarter algae
« Reply #5 on: April 19, 2010, 01:02:32 PM »
FruitFlies can live off the alge with the shoot gene
But then again it has no slime or tie defences and fruitflies are too small to hit.

Here's a capped version that keeps the fruitfly population between 100 and 200. (You can change the first constant "maxpop" if you want more flies, if the sim is very large it may be an idea to increase it or they'll spread out too thin.)

Code: [Select]
def maxpop 100
def alge 13

def rand 110
def type 973

cond
*.nrg 15 >
*.numties 0 != or
start
.fixpos dec

'-- Birth
*.robage 0 =
314 .aimright store
.deltie inc
300 .eye5width store
.dnalen .memloc store
.dnalen .tmemloc store
15 rnd .rand store

*.rand 5 < and
*.rand .type store

*.type 0 =
5 rnd .type store


'-- Reproduction
*.body 5 >
*.nrg 80 > and
*.totalmyspecies .maxpop 2 mult < and
*.maxvel .dn store
50 .repro store

*.totalmyspecies .maxpop <
*.nrg 200 > and
50 *.body 10 mult sub 0 floor .strbody store

'-- Shrinking
not
*.body 1 > and
*.body 10 mult 10 sub 0 floor .fdbody store


'-- Tie feeding
*.numties 0 !=
*.tiepres .tienum store

*.tmemval *.dnalen =
*.numties 1 > or and
*.numties .deltie store

*.numties 0 !=
*.robage 1 > and
*.trefxpos *.trefypos angle .setaim store
99 .sharenrg store

dupbool
*.memval .alge = and
*.trefxpos *.xpos sub abs *.trefypos *.ypos sub abs pyth 5 div 10 sub 0 floor *.maxvel ceil .up store
*.velsx .dx store

dropbool
dupbool
*.type 1 = and
.tieval .tieloc store
3200 .tieval store
*.memval .alge = and
.tieloc .shoot store
-1 .shootval store

dropbool
dupbool
*.type 2 = and
.shootval .tieloc store
-31999 .tieval store

dropbool
dupbool
*.type 3 = and
.tieloc .tieloc store
-6 .tieval store
*.memval .alge = and
.tieval .shoot store
3200 .shootval store

dropbool
*.type 3 > and
.tieloc .tieloc store
-1 .tieval store
*.memval .alge = and
.tieval .shoot store
3200 .shootval store


'-- Hunting
*.numties 0 =
*.body 1 = and
dupbool
*.eye5 0 =
*.memval *.dnalen = or and
350 .aimright store

dropbool
*.eye5 0 != and
*.memval *.dnalen != and
*.refbody 20 >
*.totalmyspecies 600 > or and
*.refxpos *.refypos angle .setaim store
.tie inc
*.memval .alge = and
*.velsx .dx store
*.refvelup 15 add *.maxvel ceil 0 floor .up store
.fixpos .shoot store
1 .shootval store
stop

end

Other than that the behavior for both alge is pretty cool to watch
« Last Edit: December 22, 2011, 11:55:23 AM by Shasta »

Offline ashton15

  • Bot Builder
  • **
  • Posts: 99
    • View Profile
Smarter algae
« Reply #6 on: April 19, 2010, 01:37:33 PM »
Hmm... fruitflies and early webfungus beats it, bother maybhe I went wrong with the testing, I found the rebublican bee does okish as well in the same simulation as it. I reckon I might give making a multi-cellular algae a try.

Offline Botsareus

  • Society makes it all backwards - there is a good reason for that
  • Moderator
  • Bot God
  • *****
  • Posts: 4483
    • View Profile
Re: Smarter algae
« Reply #7 on: April 30, 2014, 01:50:07 PM »
Sorry, can not qualify for alga as it is a pre-chloroplast model.