Author Topic: coexistence  (Read 21813 times)

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Re: coexistence
« Reply #45 on: January 08, 2023, 09:42:15 PM »
Glad to see you're still running simulations!  Looks like you're getting some reasonable simulation speed, at least.  Keep us posted.

hdggDalton

  • Guest
Re: coexistence
« Reply #46 on: March 11, 2023, 01:26:24 AM »
Oh yeah i'm still running the simulation. i'm a bit pressed for time right now so i think i'll post more later, but an extremely interesting development is that some of the bots became plants, and actually succeeded at sustaining a population long term. There had been some new plant species before this, one of the most notable was in the top left which eventually died out, this one is in the top right corner and it's really weird. It's like the way it produces chloroplasts is only when it gets shot by something. Its reproduction is a bit erratic and filled with cannibalism so it spreads very slowly. But something else extremely interesting is that there's some kind of sentinel/guardian subspecies that somehow appropriated the genes for reproduction and used it to continually shoot around itself in a circle. These guys have maximum energy and body and frequently 1 shot any "normal" bots dumb enough to come near them. Something even more interesting about these guardians is that since the code for reproduction has a trigger to see if they have enough energy, they only shoot when they have enough energy. So this leads to the super cool phenomenon in which when it's daytime, they start getting energy from the sun and usually all of them are active and shooting, but when it's nighttime, they eventually fall below the energy threshold and stop shooting to conserve their energy

The term guardian may be a misnomer since they'll happily shoot their plant brethren with no discrimination if they're close enough. But so far they've been slowly spreading and surviving so it must be working for them
« Last Edit: March 11, 2023, 01:31:57 AM by hdggDalton »

hdggDalton

  • Guest
Re: coexistence
« Reply #47 on: March 19, 2023, 11:16:01 PM »
So, i decided to make the simulation tougher to survive in the hopes of making the bots evolve out of pressure. I doubled the base cost of living per cycle from 1 energy to 2 energy, and i also decreased how much energy plants get from the sun. It's been a while so those weird/interesting plant bots are long gone unfortunately. I squeezed them to extinction by decreasing energy from the sun as i mentioned before because their shots were causing a huge amount of lag.

I also wanted to shake up the strategies that the bots used. Because the vast majority of them just stayed still, only moving when they see a nearby bot or plant, I wanted to both punish this strategy (by doubling the cost of living without doing anything) and encourage new strategies that involve more movement by halving the movement cost. So far it seems that by raising the energy cost of living for everyone, it has made all of the bots more hostile and cannibalistic, and they seem to be better at actually hitting their shots too. I guess because there's now even more selection for bots that can gain energy not only from plants but also from other bots. Other than that, they don't seem to have developed any new movement strategies yet. The closest I've seen are the various deleterious negative mutations that just make the bot spin around in circles until it dies, which doesn't work because it doesn't achieve much more than just staying in place and wastes a bunch of energy, and also it completely denies the bot any opportunity to make use of leftover drifting velocity - that's a major source of movement for most bots, especially really really small bots with very little body which can just drift for a good distance on just leftover velocity from eating or chasing a bot. Others make the bot run in a straight line until getting stuck on a shape or the map corner (there's no wrap around) and then dying.

An interesting trend i noticed is that since i started the simulation this morning (I made the sweeping changes a few days earlier), I didn't change any settings but the size of the bot population is very slightly trending up, and the total energy of the bot population is very slightly trending down. My guess is that because the bots have become more fighty, they're collectively wasting more energy through stray body and energy shots, and the cost of shots and movement. For the population, I guess that the bots changed their reproduction threshold to be lower, so they make more children, but each getting slightly less energy.

Here's the best bot, 28 descendants out of a population of 705. So you can see it's far from being dominated by one particular lineage or species
Code: [Select]

 cond
 *.refshoot *.refveldn *.eye8 !=
 >=
 start
 *159 13991 *.myshoot 313 4696 *.myshoot addstore
 addstore
 28820 *.chlr *.edge store
 | 4696 *.myshoot addstore
 .eye8dir store

''''''''''''''''''''''''  Gene:  1 Ends at position  25  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  2 Begins at position  26  '''''''''''''''''''''''
 start
 *.eye5 11 >=
 .tout2 store
 *.fixed -6 .shoot store
 532 *.xpos *.hit store
 *.refdx 336 xor
 5 ++ addstore
 *.nrg 23435 >
 pow 550 *.in6 *.xpos store
 .repro store
''''''''''''''''''''''''  Gene:  2 Ends at position  55  '''''''''''''''''''''''

hdggDalton

  • Guest
Re: coexistence
« Reply #48 on: March 21, 2023, 01:02:03 AM »
Very cool thing about the graphs: today i increased the cost of living again from 2 to 3 energy per cycle, but i also increased the energy from the sun from 20 to 30 energy. It made the graphs more volatile and varied:

hdggDalton

  • Guest
Re: coexistence
« Reply #49 on: March 24, 2023, 11:44:21 PM »
Weirdly, there's a moderately strong upwards trend in the bot population, but all the other things like average energy, average age, and total energy stayed the same. This means the bots must be becoming better adapted to the harsh conditions i've imposed upon them :D

hdggDalton

  • Guest
Re: coexistence
« Reply #50 on: August 07, 2023, 01:41:39 PM »
Hey lads it's been a while. The last simulation i was running got corrupted somehow and i wasn't able to continue it so i started a new simulation by bringing over the bots from the corrupted save (for some reason it wouldnt run but i could still select and save the bots) and plonking them down in the new simulation. The conditions here are even more harsh with a cost of 5 every cycle just to stay alive. Well it turns out i forgot to disable chloroplasts so at some point some bots evolved into being plants and slowly took over the map. The only thing keeping them somewhat under control is the 100 million energy limit that turns it to night time whenever it goes above that, but they don't seem to be dying out even though i've been reducing the sunlight energy and doubling the cost to make chloroplasts.

There's still a small population of the original mobile bots around, but they're struggling to survive on the original chloroplasts that are being repopulated once in a while and maybe the occasional corpse of a dead plant bot because they simply refuse to eat the plant bots. They earlier (like way before the plant bots became a thing) evolved a behavior where whenever they see someone from the same species they run backwards while shooting at them. Very good at avoiding and fighting against cannibalism, and it still serves that purpose because bots that don't do that often just eat their own children. But at this point so many of the plant bots genomes related to shooting have degraded so much because they don't need that to survive (actually this behavior would be disastrous for plant bots because they're usually so heavy that they can't move away from their children and end up eating them) that they're totally incapable of shooting, so they don't pose a threat despite their massive size. There just needs to be some way for the mobile bots to be able to eat the plant bots while still avoiding cannibalism and they will absolutely wipe the floor with them

heres the dna of a mobile bot with 39 descendants
Code: [Select]
substore

 cond
 ceil -1435 *.refeye *.myaimdx <
 start
 angle
''''''''''''''''''''''''  Gene:  1 Ends at position  9  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  2 Begins at position  10  '''''''''''''''''''''''
 start
 .up addstore
 false
 *.eye6 <
 -6 .shoot store
 div *342 dup -92 *-323 *.eye5 =
 << <=
 dropbool
 anglecmp ~ store
 root clear 415 *.kills 216 277 | 570 .aimright floorstore
 *.nrg stop
''''''''''''''''''''''''  Gene:  2 Ends at position  43  '''''''''''''''''''''''

''''''''''''''''''''''''  Gene:  3 Begins at position  44  '''''''''''''''''''''''
 start
 true
 31852 >
 pyth 344 .repro store
 <<''''''''''''''''''''''''  Gene:  3 Ends at position  52  '''''''''''''''''''''''


and heres the dna of a plant bot with 17 descendants
Code: [Select]

 cond
 sqr 614 -1458 *.myaimdx start
 angle
''''''''''''''''''''''''  Gene:  1 Ends at position  7  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  2 Begins at position  8  '''''''''''''''''''''''
 start
 .up addstore
 xor
 *.eye6 <
 -88 -6 xor
 .shoot store
 *.refup dup *493 -25 & *-323 *500 =
 <=
 dropbool
 sqr & store
 *-813 5 .mkchlr floorstore
 *.nrg stop
''''''''''''''''''''''''  Gene:  2 Ends at position  37  '''''''''''''''''''''''

''''''''''''''''''''''''  Gene:  3 Begins at position  38  '''''''''''''''''''''''
 cond
 31138 >
 pyth 344 300 start
 store
 <<''''''''''''''''''''''''  Gene:  3 Ends at position  46  '''''''''''''''''''''''


Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Re: coexistence
« Reply #51 on: September 10, 2023, 03:35:47 PM »
I'm glad you're still running simulations.  I find your results really interesting.

For the mobile bots, their genome is mostly trashed at this point, except they've conserved the ability to eat ('-6 .shoot store') and reproduce ('344 .repro store'), which makes sense since otherwise you aren't going to produce any children.

Likewise the plants genome is mostly junk except for '5 .mkchlr floorstore', which allows it to make chloroplasts.