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.


Topics - peterb

Pages: 1 [2]
16
Suggestions / deletion (managing the field) multiple bots
« on: November 27, 2008, 03:39:27 PM »
It would be nice if it was possible, to draw a square on screen, and then delete it (or save it).
So we can use our own God like rules, and kill the uncontroleable weed.
In nature its often that such big erasure events gives new chances too new starting species.
Often sims get overwhelmed, it would be nice to be able to kill a lot them in a single click.

(ahumm ... I note Gods can be dangerous...)


17
Interesting behaviour bots / WormII
« on: November 27, 2008, 12:05:18 PM »
wel this one can grow long, it has no head construction still it will move around this multi bot. (like a fishnet sometimes)
Each body part can eat, that will result in shell and posion and reproduction.
Note that if a body part has enough food /body size it will pass on from itself to one of the next bot.
Until the energy gets into the last bot. It has a lot of genes I know.
I can write single gene bots, but this one is just a bit to large
Doesnt use any false trick viruses tie feeding or so.


It'l require a large sim (this doesnt slow down DB) size 10 or size 5
set friction to thin fluid, and I have movement set to biological (otther setting might work too)
I disable mutation for it (dough you might try it differently)

Eventualy it becomes quite poiseness and strong.
The plus is that all parts eats (and also all scan around for food ; eye5dir and aimshoot )

as a single bot it wil fly forward and can grow large and strong eventualy

When it is split somewhere, then the new endings would become new reproduction parts.

I add two bots eventualy wormII.txt  will defeat the other stronger bot (abnew3).



oh any ideas to get the .tie length shorter would be nice.

18
Bugs and fixes / DarwinBot crash (ver 2.44)
« on: November 20, 2008, 05:55:31 PM »
Hi

Darwinbots seams to crash frequently sometimes the error reason differs
But so far I got the folowing noted :

An Error Ocurred. DarwinBots cannot contineu. Sorry Badfilename or number 52 0

or :

The instruction at "0x7c911762" referenced at 0x000000018". The memory could not be "read"

or:

Some kind of DEP error on XP thats tipicaly a program that doesnt do well on its memory reservations.
Even if I disable DEP protection since I trust DarwinBots, it still crashes

To the programmer >> -- you might also be able to run it with a debuger connected [requires source code]  (then you see exactly how it goes wrong)


 
I gues the program has a problem with arrays since a virus can make species discription longer.  
Its not such a wild gues, for my IT job I did many crash debugs... on NT4.0
Since I could run the program run for days if I dont use viruses in the sim.
The only thing a virus can do is making DNA longer.
In fact this virus DNA introduces sexrepro to any species
A slightly modified algeahelper (from jknilinux > the modification is that it can only infects once but thats still to much, doesnt keep me from crashing).

.. I believe strings can be quite long even in VB6, maybe encode a bot in a string (I dont know where it is stored in).
   otherways make sure that virus execution, dont result in array seize problems (meaning the bot becomes larger then was reserved for)
   A way to solve that is to re-create the string/array with proper size  
   .. and if for some reason a virus has to much genes inserted allready > then just dont excute the virus command sillently ignore it

About my PC its XP with latest fixes.
Darwin Bots version 2.44
DEP was enabled but I Disabled it still didnt solve it (and that gives a good cleu in the direction where it went wrong)



Feel free to run attached bots and sim
Sim is in no pond mode small, it might take a while crash is usualy random but often within 5 minutes or so or less
(realy sometimes it takes longer, but I cannt run it for an hour).

19
Suggestions / how about new multibot commands
« on: November 14, 2008, 05:58:51 PM »
the way to generate MB bots is way complex I note, could it be a bit more simplified?
How about some helping new commands, new ideas

.numties counts all ties in a conected group; does allready exist

.botties would only count individual ties (how many neighbors do I have connected).

Have a colectieve mem area or some way to easily communicate to all other connected bots.
.colectmem1 ... trough .. colectmem10
This area could belong to the first bot but all other bots in the creature should be able to read or write it.
Order of exuction bot X writes 6 or bot Y writes 7 solved by *.ID order  (see next..)
(if there are no ID's as result of other reproduction methods; in order of bot age; same age well then its random just who deals first).

have a reproID command; with a counter which next bot find in the valeu *.ID  
Actualy maybe in two version one counting upwards from the whole group of connected bots/ the other only counts up from a spefic bot parrent.
the highest .ID could then be stored in for example .collectmem  so the lowest is head the highest become a tail (snake shape).
Also you could do then easily create things like :

(if you would like to grow a tree)
cond
*.ID 4 =     'target a single bot for reproduction in one line
*.nrg 3000 >
start
 20 .BotIDRepro store
stop


or
cond
*.botID = 3  í'm the tirth arm of parent bot.
*.eye5 50 >
start
....
..

A specific bot ID is then used to repro from and since multibot is the topic of these requests the birth should stay alive not vanish.
Reprocost could be a bit higher (as you didnt needed to fire a .tie)
But thats no problem (so other smart repro ideas have some reward of their programming skills).


It would make DarwinBots less hard to program, I think
Altough great scripts have been writen, but they use so many lines of code to just get them connected, to define heads or to let a specific bot inside do something special, and so often the ties connect in a wrong way then intended.. it would spare us all a lot of time I think.

20
Biology / BBC documentary the return of the jellyfish..
« on: November 13, 2008, 07:34:09 PM »
Just saw a documentairy on the BBC2 TV, I droped in late so I'm not sure of its title.
Some intresting notes, as those creatures can remind also to simple looking life forms reminding me of darwin bots..



* It seams that around the world jellyfish populations strongly grow.
   The trigger of it why (global warming?/ chemical level changes in sea water? / ...) isnt known.

* They where in the serie afraid that it might gonna be a too blooming population.
  Which could easily outnumber and kill other sea animals

* As it was fasinating, they are simple dough verry advanced 'products' of 1 miljard year of evolution.
  They lack a brain, but can have 8 eyes (or more) who can focus..      [ darwin bot uses 9 eyes ]

* Their poison can be so strong, some 1 inch jellyfish can kill easily a human.
  Those used to live in tropical water, but are now sometimes at the coast of England too.

* One huge type is swarming at an asian see, so bad that local fisherman catch almost no fish.
  They tried to use razor nets to kill them.. but gues what.. For this jellyfish dead ment release all your sperm/eggs.
   So the nets actualy spurted growth by getting them all together, for a reproduction act..

* Even more intresting is their life cycle (altough I knew that allready), they start life like a veggy plant.
  layer upon layer upon layers, they grow up, cloning themselves. Until suddenly they seperate in individual jellyfish.

* Did you knew that the "portugese man o' war" jelly fish forms groups in wich individuals specialize as organs for the group? [could we simulate that?]

* some have life span that can be endless, they can become plants again in the end and start all over.  [ darwin bots can live forever too ]




21
Interesting behaviour bots / Fractals using darwinbots.
« on: November 10, 2008, 01:30:24 PM »
I was in the midle of some coding, and got a nice sample of DNA in between. Doing fractals trough darwinbots.
I think its a kind of amazing since nature also uses these structures and so darwinbots can generate it too within its language.
I wonder if other evo sims could do it, darwinbots is quite intresting.

I post the code twice since I noted the .repro command has great effect when changed.
And so two different versions of almost the same code are shown here.

A smal step for an amoeba but a huge step for evolution   
Feel free to use the code


[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']'full rotatoin = 1256

Code: [Select]
cond
*.971 6 <
start
.971 inc
1256 6 div .aimdx store
30 .repro store
stop

'first
cond
*.971 1 =
start
1256 4 div
*.971 .tie store
stop

cond
*.nrg 3000 mod 0 =
start
.971 0 store
stop


if we put more energy to the cibling different shapes get generated see :

[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']'full rotatoin = 1256

Code: [Select]
cond
*.971 6 <
start
.971 inc
1256 6 div .aimdx store
70 .repro store
stop

'first
cond
*.971 1 =
start
1256 4 div
*.971 .tie store
stop

cond
*.nrg 3000 mod 0 =
start
.971 0 store
stop

Its all very basicly it cannt eat yet dough it might be verry intresting to others I tought so I posted it.

Oh yeah 2 notes
1) you might pause your environment and go to cycle by cycle to see it grow and repro its shape.

2) And when you use above code its better to see when it is not a vegy type (dont ask me why)

22
DNA - General / how to set a bots collor ?
« on: November 08, 2008, 10:41:13 AM »
I started a zerobot group and let it go for a while
After a while I noticed that several bots changed color repeatedly, it wasn set by generation, but whitin its generation the bot changed color.

How is it possible to that manualy, I haven't seen a command for it. ?
(would be great for sensors and formula tests)

And also is it possible to retrieve another bots color as a valeu ?
(maybe usefull for some more advanced eye logic)

23
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.


?

24
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

25
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.

26
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

27
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 [2]