Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - peterb

Pages: 1 ... 8 9 [10]
136
DNA - General / darwinbots evolution
« on: November 06, 2008, 07:03:14 PM »
well I made some bots several in fact and let them run trough the program.
Bots changed a lot by dna copy errors, and still kept reproducing eating eachother etc.
Basicly that seams to be it, wel as far as I see it, its fun dough you get to wonder is more going on or could more be going on?.
I designed a one gene Bot, called thermite 1G; even if I would understand genetic reproduction trough darwin bots.
There isn't much to evolve if you had only one gene..

Darwinbots evolution or evolution in general might not have a goal or purpose, just some lucky winners.
And even the lucky reproducing winners in general might not be the ultimate best winners.
Even the human race doenst endup like einsteins or pamela andersons, or bruce lee's or atists like Bjork.
They are just a few of the huge group of a species. Dough the group as a whole adapts pretty well against nature or culture.
We somehow survive wars floods epidemics, and we redisign our environments to live (most of the dutch live below sea level)
We even behave like swarms who's knowledge is expanding as a groupd, dough not as a individual. So teams outsmart individuals.

Comparing darwin bots to to other games and AI software I began to wonder.
Some software uses genetic algorythms to improve for example airplane wing designs.
Basicly such software uses trial and error reproducing to create the best sysvars describing a wing.
Using the environment paramaters of air and a certain required lifting force and somthing that can describe shape.
In other games you can grow yourself a bigger representations of your gunship by buying items etc. etc.
And in nature we see creatures creating wings.

So then I wondered, besides de copy errors in DNA, what environment does DarwinBots try to survive?
Well ofcourse that is other bots and a happy meal called algey.
But there isnt much else to adapt too, so as a result the copy errors are the main driving force, in this evolution here.
Altough you can disable that, but somehow you hope you get some kind of Bjork Einstein Bot or whatever...
Sadly however I never seam to be able to find the DarwinBot Bjorks.
Once in a while I see some powerfull big berta's stand out.
But they dont become a new species who outsmart the others.
Rather copy errors make them disapear or a more simple creatures each their food away.
I dont see big bertha's with nicer code, or better algorythms as far as I can judge.

Like a game of Spore or Creatures, there is not much learning improving going on about the outside world.
It seams to be more a battle of programs (and a verry intresting one, dont get me wrong about that).
But there is not much adapting against an outside world.
There is not much teaming to battle the outside world, like making a dyke's against flooding.
Or a group of dolphins who got an swarming idea and learned a way to catch fich together, and learned an optimal way of how to do that.
Lets call that behaviours, perhaps verry andvanced blocks of genes with predefined behaviours;

What I wonder is, might a more  complexer environment for DarwinBots. Result in bots, who somehow might better learn from their environment .
Might the world be to simple, in DarwinBots for its Bots?. I'm not thinking or have at the moment ideas to make it more complex, its just a tought.
Simple organisms can swarm easily never dye neither do they improve there is just a x percent who keeps a live each cycle, and Y new ones get born and Z dye.
What if there was some kind of external force or so they would have to tackle, or make advancement off to evolve.
Neither I'm that deep into programing, but I wonder would bots improve more/better if the landscape where more complex ?
If there where more external factors of some kind in the environment the bot's had to deal with.


?

137
Interesting behaviour bots / Thermite a 1G bot non conditional
« on: November 05, 2008, 10:10:32 PM »
'by PeterB
' A simple bot capeable of aiming at a target (just a bit, but thats enough)
' Able to reproduce for a regular stable growing population
' Builds up a shell and using slime and removes any tie's
' It does do good between algey, or simple enemies, as its a simple enemy itself
' It was a study for simple bot eyes with not to complex math.



cond



start

' dont get distracted to much if we have something in sight
' by limiting som eyes to not react if eye5 has visual contact.
'z = (eyex-eyex div)
'
'Z - eye5    sgn    -1  sgn  +1
'0 -   0        0     -1    -1     0
'1 -   0        1      0     0      1
'1 - 30       -1     -2    -1     0
'0 - 30       -1     -2    -1     0

*.eye1 *.eye1 div *.eye5 sub sgn 1 sub sgn 1 add 9 mult .aimsx store
*.eye2 *.eye2 div *.eye5 sub sgn 1 sub sgn 1 add 9 mult .aimsx store
*.eye3 *.eye3 div 54 mult .aimsx store
*.eye4 *.eye4 div 54 mult .aimsx store
*.eye6 *.eye6 div 54 mult .aimdx store
*.eye7 *.eye7 div 54 mult .aimdx store
*.eye8 *.eye8 div *.eye5 sub sgn 1 sub sgn 1 add 9 mult .aimdx store
*.eye9 *.eye9 div *.eye5 sub sgn 1 sub sgn 1 add 9 mult .aimdx store


*.eye5 -8 div 10 add .up store

*.eye3 *.eye3 div 1 mult .dx store
*.eye4 *.eye4 div 1 mult .dx store

'brakes when something is insight
*.eye5 *.eye5 div 10 mult .dn store

'shoot (it does shoot a bit early, oh well it still survives..)
*.eye5 *.eye5 div -1 mult .shoot store
*.eye5 *.eye5 div -6 mult .shoot store


*.robage sgn 1 sub sgn -30 sum .dn store
*.robage sgn 1 sub sgn -30 sum .aimsx store

*.nrg 25000 sub sgn 1 add sgn 85 mult .repro store
*.nrg 25000 sub sgn 1 add sgn 385 mult .aimsx store

*.nrg 100 mod sgn 1 sub sgn -2 mult .mkshell store
*.nrg 100 mod sgn 1 sub sgn -5 mult .mkslime store
*.nrg 200 mod sgn 1 sub sgn -50 mult .strbody store

*.numties .deltie store

stop

138
Suggestions / redefine "new population button"
« on: November 05, 2008, 04:19:38 PM »
hm confused... it didnt apear anymore.

For a while it has been a problem, maybe a restart solved it, I'm not sure.



Anyway topic closed

139
Bot Tavern / another MB idea
« on: November 05, 2008, 04:11:28 PM »
hmm

A few days a go, I had some bot DNA wich often turned out with a big central powerfull bot.
Somehow it regulary (dough not that often) ended with some of them ..having a tiny circling bot rotating around them trough a tie.
It was like those had a satelite protection. The satelite was too small to make the big cell drift in its course.
But it attacked others who where not seen by the big fellow since I use verry simple vision.
Now that I'm reading your idea; it reminds me that that was something special perhaps
Dough it was lost by the human evolution intervention..

140
Suggestions / redefine "new population button"
« on: November 05, 2008, 11:12:14 AM »
it seams that under the current version when your building and so adjust a lot of a bot.
That each time you have to unload it and then reload (find the txt) and then start new.
If you dont do do that, it keeps using the old defined bot.txt, not the one you just edited and saved.

141
Newbie / Harvasting bot collective canibals.. :)
« on: November 03, 2008, 02:41:33 PM »
Quote from: Peter
Nice fully explained. Maybe something for a wiki tutorial.
A simple batterybot, it works well, you can also suck the energie out of the other bot without hardening the ties first, that works a little faster.

It lacks a body-gene. The bots will take more and more nrg and body will become smaller and smaller. Or was that the purpose.

Anyway, a simple body gene. This will keep your body higher then 100.
Code: [Select]
cond
*.body 100 <
*.nrg 500 >
start
100 .strbody store
stop

Ok thats intresting the body size grows, but as a result it seams to move slower and be less effective.
I have tried now various small changes and rules to let it grow in body size.
However growing costs energy (so reproduction rate becomes slower)
In result it seams then to become weaker in spreading, and as a species become weak.

On the other hand it shouldnt shrink forever (by reproduction), maybe someone finds a nice small adjustment to also let it grow, and still be effective.


142
Newbie / Newbie what I see on screen ?
« on: November 02, 2008, 05:44:51 PM »
Quote from: Peter
Quote from: peterb
Aloha Peter (also dutch?)
Inderdaad. Ik ben ook nederlands. Wel grappig dat sommigen mij nu niet goed kunnen lezen.

I'm not sure what orange ties would be. If the bots are orange it is just the connection between them, and without any real activity. If not if you made a screenshot it could clear it up.

DB3 is currently being developed in C#. As a .net languege maybe you're interested. There where some ideas about it becoming 3D, but I believe it'll be all 2D now.

What do you exactly mean with a bitmap?

About hills, in the current version you can add shapes. Where bots have trouble going through or can't go trough at all. Not the same as hills but it adds some dimension.



Oh simple 3D could be like a heightmap, then for example...
Verry low there is water (no go area)
and going to land higher the temp gets up until you get into snow areas.
Warmth would be good for plants (and seeds?) but cold is bad for plants.
Also movement would be slower at heights (as it would cost more energy (friction) to move there).
Dough some animals who's body are 'fat'  enough might feel less impact (in percentage) of cold.
Such 2D representation of a height map, can easily be translated to a 3D map (altough the main game is still 2D on this 'skin'.

Maybe it would be nice especialy for plants to have a new polination or ofspring seed option.
For example shoot seed up in a direction or use wind and travel until reached ground.
Maybe have body seize limit or energy limits (flying might cost energy)
But on the otherhand if animals would use flight or jump.. it would become problematic to write simple DNA to catch them..

Instead of a bitmap also a simple wireframe (more easy to get deflection/friction into a certain direction)..
Or in simple words its more easy to push a ball of a hill then put it upwards.

it would add maybe some other vars like
.heigth   .sunlight  .temp .frictionx frictiony  or simple .friction


  uh oh then you get seizons,... cold get .flu or worse get .ill or even .frozen so you require .antifreeze  if you dont have bodysize/fat..  

143
Newbie / Tutorial: Harvasting bot collective canibals.. :)
« on: November 01, 2008, 09:55:21 PM »
'An explained bot, like a manual inside a bot, by peterB as a starter bot to learn from.
'The bot in the end became a bit more advanced then I had planned.
'Its a result of playing with all the inner valleus
'I still dont understand it all, but this bot allready defeats lots of other bots, like C-Filanse and I-flamma.
'Its not that smart I thnk but reproduces with not that much energy
'As a canibal its stable alone for quite a while, but as a group of pirhana's its also a feeder.
'Tough in such a group it not realy kills it's prey fast so as a group it has food storage...
'In a group environment it has time to create ofspring, as sexual reproduction from a group.
'
'
' As this was my first bot I took lots of readable notes in it.
' In a way this bot is a manual too, I tried to explain it myself
' And maybe to others.
' So I kept the explaining language close to the topic of programing these bots.
'
' And is therefore verry easy to adjust, or to understand
'
'
'SENSORS and variables
'============================================================================
=============
' A basic sensor is an eye
' There are multiple eyes but lets focus at the most important one, the forward looking eye5
' To get info from an eyse5 you need to read it out, this is done by the command:
'    *.eye5    
' Its reads from the fronteye (number 5 is front)  
' Its the same as reading from memory location *505  (dough thats harder to understand).
' Its value 'll be greater then 0 if it sees something
' The more nearby the higher the valeu (max is 100 I asume)
' There are more type of sensors.
'  for age etc etc, you'll see them later.
'
' Moving a simple
'============================================================================
=============
' *.up                my own up speed.
'                     note to add 30 up to my own speed use:  *.up 30 add .up store
'
' *.dx                my rotation value
'
'  Often remote sensed bots start with ref, and local sensors with my like:
'
' *.refeye   *.myeye   (counts number of eyes often used for species comparison)
' *.refvelup           (relative bots speed from your eyevector)
'
'
'
'CONDITONAL COMPARISON
'============================================================================
==============
' =   equals
' %=  almost equal, whitin 10%
' !=  notequal
' > greather then
' < smaller then
'
'
'
' What in basic languaga would be:
'   IF EYE = 10 THEN..  
'     ...
'      END IF
'
'
' Is in darwin bots genetics
'    cond
'     *eye5 10 =      (note type of comaprison comes last).
'
'
' Other type of sensors
' *.refeye *.myeye !=     ( count other bots number of eyes, and compare it to my number of eyes) if not equal..
'                         ( this is often used to detect friend or foe, by counting eyes.
'                         ( dough what if the enemy has the same amount of eyes ???
'
' MOVEMENT
'============================================================================
=================
' *.refveldx .dx store         (move at otherbots, sideway motion speed )
' *.refvelup 30 add .up store  (compared to my bot's eyte direction the other bots speed + 30)
'
'


' So lets move forward with our manual and our first little cel.
' And lets us do something when there is nothing big nearby..
' the valeu of an eye seams to get higher when its more nearby
' so 100 is when your eye bumps into something and 10 is something far away.
' Wel I dont want to go to fast if something gets nearby.
' Like using my carbrakes for a piza nearby.
' so I check for a cond (condition) in which the eye hasnt anithing nearby as close as 40
' Then I start what I want to do in this condition
' That is go forward 8 by storing 8 in the upwards engine
' Thats the end of comands for this gene so this gene comands ends with a stop
' GENE 1

cond
*.eye5 40 <
start
8 .up store
stop



'GENE 2
' Gene 2 Food Finder and eater
' is food nearby?
' But altough its a killer cell it wouldnt eat young childs younger then 300 cycli
' A remote cells age can be questioned with *.refage
' Such child could be our own children, or my enemy or even young plankton.
' But well plankton childs or enemy childs will not be eaten.
' Dough older cells I will eat them. So I shoot them, here simple shooting = eating.
' this is done by storing a negative value -1  in .shoot memory
'
' The next 2 lines align us better with our target for a possible next shoot.
' refveldx (targets orientation, store it in local orientation
' And now for our engine store there a relative speed 10 higher as our targets speed

cond
 *.eye5 40 >
 *.refage 300 >
start
 -1 .shoot store
 *.refveldx .dx store
 *.refvelup 10 add .up store
stop



'GENE 3
' If I remember one thing of bioligy lessons in fact my only lesson
' That it had all to do with reproction, DarwinBots can reproduce too
' The question is when should we do this, and how does it work.
' Wel most cell in darwinbots devide asexual, only based on their energy reserve
' Energie level can be retrieved trough sensor *.nrg
' most of the times I saw    *.nrg 5000 >
' but I will use a lower value  2500 in this one just for fun...(life is like go and multiply)
' Also the question is how much energy would you like to give to your child mostly I see
' 50 .repro store
' will result in a child with 50% of the energy stored it is commonly used.
' But just for the fun of it, the parents will only give 30% (childs are weaker then parents)
' After givin birth the parent runs fast away, yup that can happen in nature.

cond
*.nrg 1500 >
start
30 .repro store
'10 .up store
100 .dn store
stop



'GENE 4
' if it doesnt see anything every hunderst cycle then turn
' This helps us getting away from walls or empty spaces, its called random walks.
' then perform a command .aimdx (clockwise turn)
' oh btw.. for the other counter-direction use aimsx
' A total turn in DarwinBots = 1256 units
' so 1256 = 360 degrees or 2pi  
'     628 = 180             pi
'     314 =  90             pi/2
' lets add a random valeu of such degrees to the current direction.


cond
*.eye5 0 =
*.robage 100 mod 0 =
start
628 rnd *.aimdx add .aimdx store
stop



'GENE 5
' This gene realy is programing evolution at work..
' What I tried to do first was remove a child's birth tye, if also he had clear runaway path.
' Dough I didnt clearly understood how that worked.
' For some reason a tie kept alive
' So I started up mixing code from the website, and then it turned into something else
' I left this killer bot keep his tye's, till it has more then 1500 energy (adulthood)
' Now my first tought was to run away forward
' Hmm.. but if runned backward and not to fast
' Then it would probaply gonna eat from something it had catched before.
' I still regulary see some of them break free, like a spore thats nice.
' Dough since also a single bot could could activate this gene but should not runaway from its food..
' so lets dont walk that fast backwards just say 5 or so.

cond
' *.robage 1
  *.eye5 60 <
  *.nrg 1000 >
start
 .tie inc
'*.tiepres .deltie store
5 .dn store
stop



'GENE 6
' I actualy found from the website
' it eats the others bot energy (plankton here we go...)
' but also dumps waste in the other bot.
' it took 99 % of energy, but hey lets be a little bit fair here and take 16%
' that sounds small, but keep in mind we dont break the tye..
'
' note when not using any conditionar and changing this valeu to 5 10 15 25 etc
' gives nice side efects in ofspring creatures
' soms might be able to live together with 1 plankton.
' Its questioning of balancing this valeu.
'
' However in the end I took a different aprouch I wont eat others energy all the time.
' So there will be differences in a group (to let others be able to get energy offspring).
' This is also balanced a cingle plankton and a single canibal will also grow slowly.


cond
*.robage 20 mod 0 =
start
50 .sharenrg *.multi mult store
.sharewaste *.multi mult inc
stop



end


' So that was the whole genome, it ends with the word end,
' But wait there is much more then this writing above here.
' A lot of other function vars and commands can be found here at this site:
'  http://www.darwinbots.com/WikiManual/index.php?title=Sysvars

144
Newbie / Newbie what I see on screen ?
« on: November 01, 2008, 11:15:38 AM »
Quote from: Peter
Welcome to the forums namesake peter.

A little information, about the colors.
What do these colors mean?
The yellow color is somewhat rare, is is a MB sharing method. There aren't many MB's that do well.(MB->multibot, existing out of multiple cells.

There are plenty bots that use virus as a weapon. The light blue dots are virusus.
Virusus are not infected in the last gene, but randomly inserted. That change happened some time ago.

What kind of image would you mean peter, some kind of wike page with pictures and explanation about the colors maybe? Would that help?

Aloha Peter (also dutch?)


Yes I think a simple image with the types of lines and collors would explain a lot.
Sometimes I see wide orange ones?
I'm a beginner programmer myself  (.net ) , and I am intrested in these kind of programs, and this ones seams verry advanced.
Dough I think (from reading on the internet, that a lot of people didnt understand it either).
For example some people said there should be ground to eat from like a bitmap.. but ofcourse thats not the aim, those should be the vegies)
The only thing a bitmap might be usefull for is maybe a 3d ground type (so you get hills who ar more difficult to polinate who are colder and dryer, or so) But thats perhaps verson3 or so.



145
Newbie / Newbie what I see on screen ?
« on: November 01, 2008, 05:50:36 AM »
 
I have to say its intresting to look at, dough I wonder what I actualy see.
I tried to wiki pages with no luck, about what is going on between those "cels".
A simply image would explain a lot there.

I see various collors of lines between the cells, do they have a meaning ?
Like for example yellow for energ exchange, geen for shielding exchange, etc etc...


Oh I also wondered are there bots that copy genes and infects others with slightly changed genes like a virus?

Pages: 1 ... 8 9 [10]