Author Topic: Hello! And a few questions  (Read 6990 times)

Offline Lyndon

  • Bot Neophyte
  • *
  • Posts: 13
    • View Profile
Hello! And a few questions
« on: July 19, 2008, 08:57:26 AM »
Hello, I found Darwinbots a few days ago while looking for artificial life simulators and have become quite addicted to it.
I have a few questions though;

Does .vshoot shoot straight ahead? Because whenever I use it it seems to shoot in rather weird directions.

What is a Zerobot and Evosim? I read somewhere that an Evosim is an Evolution Sim but so far the bot's I use don't seem to evolve all that well.

I am still a bit new to bot programming but I came up with this rather long winded bot that is meant to grab veggies and use them as batteries as well as eat other bots, is it any good or too long winded?
Code: [Select]
' Advanced Bot
' I grab a Vegiie and share nrgy
' That way I can have a stable source of nrgy
' I'll still eat other things
' I can also check to see if other bots have poison or shells

' Gene 1 Reproduce
cond
 *.nrg 3000 >
star
 50 .repro store
 10 .aimdx store
stop

‘Gene 2. Simple search pattern part 1
cond
 *.eye3 *.eye5 >
start
 -25 .aimdx store
stop

‘Gene 3. Simple search pattern part 2
cond
 *.eye7 *.eye5 >
start
 25 .aimdx store
stop

' Gene 4 Food Finder
cond
 *.eye5 0 >
 *.refeye *.myeye !=
start
 *.refveldx .dx store
 *.refvelup 30 add .up store
stop

' Gene 5 Eat Food with shell
cond
 *.eye5 50 >
 *.refeye *.myeye !=
 *.refshell 0 > ' Has a shell so use -1 shot
start
 -1 .shoot store
 *.refvelup .up store
stop

' Gene 6 Eat Food with poison
cond
 *.eye5 50 >
 *.refeye *.myeye !=
 *.refshell 0 =
 *.refpoison 0 >
start
 -6 .shoot store
 *.refvelup .up store
stop

' Gene 7 Shoot out a tie to veggie
cond
 *.refeye *.myeye !=
 *.eye5 45 >
 *.refshoot 1 <
 *.tienum 1 <
 *.refnrg 100 >
start
 13 .tie *.robage sgn mult *.refage sgn mult store
stop

' Gene 8 Store latest tie number
cond
 *.tiepres 0 >
 *.tienum 0 =
start
 *.tiepres .tienum store
stop

' Gene 9 Share energy
cond
 *.tienum 0 >
start
 75 .sharenrg
 store

 1 .sharewaste store
stop

' Gene 10 Eat Food without poison or Shell and not a veggie
cond
 *.eye5 50 >
 *.refeye *.myeye !=
 *.refshell 0 =
 *.refpoison 0 =
 *.refshoot 0 >
start
 -6 .shoot store
 *.refvelup .up store
stop

' Gene 11 Avoiding Family
cond
 *.eye5 0 =
 *.refeye *.myeye =
 or
start
 314 rnd .aimdx store
stop

' Gene 12 Form and break birth ties
cond
 *.robage 2 <
start
 .tie *.robage 1 add mult inc
 .deltie inc
stop

' Gene 13 make body
cond
 *.nrg 2000 >
 *.body 500 <
start
 200 .strbody store
stop

' Gene 14 Waste
cond
 *.waste 40 >
start
 .backshot inc
 -4 .shoot store
 *.waste .shootval store
stop

' Gene 15 Defend Against fixed shots
cond
start
 .fixpos *.fixed mult dec
stop

' Gene 16 Set Poison loc
cond
 *.robage 0 =
start
 .shoot .ploc store
stop

' Gene 17 Make Poison
cond
 *.nrg 100 >
 *.poison 500 <
start
 50 .strpoison store
stop

' Gene 18 Escape from Tie feeder
cond
 *.tienum 0 >
 *.pain 500 >
start
 .tiepres .deltie store
stop
end
Some of it was admittedly copy and paste work.

I'd also like to know what a conditionless bot is.

Sorry about the long post >.< Perhaps I should Attach the file instead.
« Last Edit: July 19, 2008, 08:59:57 AM by Lyndon »

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Hello! And a few questions
« Reply #1 on: July 19, 2008, 01:19:57 PM »
Hi there and welcome!

.vshoot does indeed shoot in random directions.  This is by design, to simulate proximity based infection.  Targetted viruses would be very powerful....

A zerobot is a bot with a starting genome consisting of nothing but 0's.  Its bascially a null genome, devoid of hand authored DNA.  Evolution sims that start with a population opf zerobots rely on point mutations to hit upon DNA that replicates.   Once replication evolves, other mutaiton types kick in and evolution proceeds.  THink of zerobot evo sims as about as close to origin of life as we get here.

An evosim is indeed shorthand for Evolution Sim.  It takes patience for evolution to proceed and if you start with hand coded bots, it is common for them to loose functionality before eventually, maybe, evolving new adaptations and then only if there is selection pressure to do so.  YTou might try playing aroudn in internet mode where there is more competition and thus selection pressure.  Evolved bots rule there currently.

A conditionless bot is one that uses no conditions in its DNA.  It just stores stuff to locations unconditionaly.  Conditionless bots (along with single store and single gene bots) are a special sandbox a few bot authors play in as a personal challenge.  Most of us use the full power of the DNA.

Cutting ans pasting DNA is the way to go.  That's what nature does.
Many beers....

Offline Lyndon

  • Bot Neophyte
  • *
  • Posts: 13
    • View Profile
Hello! And a few questions
« Reply #2 on: July 19, 2008, 03:59:46 PM »
Thanks!
after looking a bit deeper into the forums and Wiki I found out my answers.
How many cycles on average would it take for a Zerobot to evolve something novel like movement or reproduction? I was trying to make an evosim but it was taking a very long time (hey just like life) for stuff to happen, and even then nothing interesting. My Cycles per seconds slowed down at one point to under 3 and then under 1. That might be to do with me running this on a 1.4ghz laptop... I did have mutation turned up to max and the special feeder reproducer veggies in it.

How do you get Internet mode to work? I haven't tried to use it yet but it sounds interesting.
EDIT: I turned on internet mode, when it first tried to connect windows firewall popped up, I told it to unblock. Next time it popped up I got the same messages as before;
Quote
19/07/2008 22:50:31: Error disconnecting Unable to connect to remote host
(I unblocked about now)
19/07/2008 22:50:31: Shrinking Violet 2.txt teleported in from EricL2
19/07/2008 22:50:32: Error disconnecting Unable to connect to remote host
19/07/2008 22:50:41: Error disconnecting Unable to connect to remote host
19/07/2008 22:50:41: Error disconnecting Unable to connect to remote host
19/07/2008 22:54:36: Error disconnecting Unable to connect to remote host
19/07/2008 22:54:36: Error disconnecting Unable to connect to remote host
19/07/2008 22:54:38: Error disconnecting Unable to connect to remote host
19/07/2008 22:54:46: Error disconnecting Unable to connect to remote host
19/07/2008 22:54:46: Error disconnecting Unable to connect to remote host

Will I need to port forward or is it just the server?

EDIT2: Might just be the server because it transferred another bot and did the same thing:
Quote
19/07/2008 22:58:16: Error disconnecting Unable to connect to remote host
19/07/2008 22:58:16: Seasnake 1.3.txt teleported in from EricL
19/07/2008 22:58:18: Error disconnecting Unable to connect to remote host
19/07/2008 22:58:26: Error disconnecting Unable to connect to remote host
19/07/2008 22:58:26: Error disconnecting Unable to connect to remote host
19/07/2008 22:59:55: Error disconnecting Unable to connect to remote host
19/07/2008 22:59:55: Error disconnecting Unable to connect to remote host
« Last Edit: July 19, 2008, 06:01:58 PM by Lyndon »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Hello! And a few questions
« Reply #3 on: July 19, 2008, 06:42:58 PM »
Quote from: Lyndon
Thanks!
after looking a bit deeper into the forums and Wiki I found out my answers.
How many cycles on average would it take for a Zerobot to evolve something novel like movement or reproduction? I was trying to make an evosim but it was taking a very long time (hey just like life) for stuff to happen, and even then nothing interesting. My Cycles per seconds slowed down at one point to under 3 and then under 1. That might be to do with me running this on a 1.4ghz laptop... I did have mutation turned up to max and the special feeder reproducer veggies in it.

Several million cycles.  Upwards of 100 million or higher, depending on lots of factors (how many bots, how long the genome is, and the mutation rates).  However, it is odd that your cycles per second would slow down if nothing is happening.  The population remained constant, right?

Quote
How do you get Internet mode to work? I haven't tried to use it yet but it sounds interesting.

Internet mode is... tempramental.  Once it starts doing "Error disconnecting", it means that the server isn't letting the game connect because it thinks there are already two connections from you open (or that's my going theory).  Restarting the program might fix it.  Or it might just be tempramental.  Different users have different levels of success getting it to connect.

Offline Lyndon

  • Bot Neophyte
  • *
  • Posts: 13
    • View Profile
Hello! And a few questions
« Reply #4 on: July 19, 2008, 07:38:42 PM »
The population did grow and decline at a constant rate so it remained pretty much the same, nrgy shots were left on (this could be slowing it down). My veggies were constantly shooting energy and forcing reproduction on the zerobots also (I had gravity on the max and Brownian motion also).

I didn't make it to 1million cycles though, at least I don't think I did.
This laptop isn't the best though; it is partial to overheating at inopportune times and isn't the fastest machine in the west.
I will attempt an Evosim and internet mode on my desktop later this week, it's about 1ghz faster then this laptop so it should be better. What are the normal cycles per second speeds of most computers?

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Hello! And a few questions
« Reply #5 on: July 20, 2008, 02:50:30 AM »
Most of my sims are usually running at about 3 cyces/sec.  It's a good balance between my impatience and population sizes.  Aim for as slow as you can stand (since that means larger populations, and hopefully some extra stability), keeping in mind that a zerobot sim needs millions of cycles.

Offline Lyndon

  • Bot Neophyte
  • *
  • Posts: 13
    • View Profile
Hello! And a few questions
« Reply #6 on: July 20, 2008, 11:59:01 AM »
Do you turn the graphics off and set it to flicker fast?
Mine is 3 cycles normally but it's more than likely that your sim is much bigger than it.
Doing a bit of math that makes it seem like it would take over a week to get any sort of results, and I normally turn my computer off.
Is DB compatible with windows 2000? Because I have an old desktop lying around that could be left on.
« Last Edit: July 20, 2008, 11:59:29 AM by Lyndon »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Hello! And a few questions
« Reply #7 on: July 20, 2008, 05:07:06 PM »
As far as I know it's compatible with every windows version except maybe Win95.

I usually turn of "poffs", "skins", and turn the graphics off entirely when I walk away from it.  Flicker mode will help if you have a sub standard graphics card.  On my machine with a 6800 GT, flicker mode doesn't make a difference at all.

Offline Lyndon

  • Bot Neophyte
  • *
  • Posts: 13
    • View Profile
Hello! And a few questions
« Reply #8 on: July 20, 2008, 06:00:37 PM »
Well flicker doesn't seem to do much on my laptop besides make it hard to click when paused  
Although this laptop is kind of slow it has quite a good graphics card.
I have been trying a sim with just a zerobot with veggie turned on, lots of mutations, no reproduction yet but one evolved to move down (didn't do much since I had gravity on pulling them down).
How many 0s should I include in the zerobot DNA for relatively quick results? I think I used one with 100 0's in this sim.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Hello! And a few questions
« Reply #9 on: July 20, 2008, 07:39:33 PM »
The longer the genome the more room there is for mutations to make something.  If you think about it abstractly, there are (#zerobots * #basepairs) base pairs in the sim.  Increasing the number of zerobots can be expensive, but increasing the number of basepairs is far less so.

Offline Lyndon

  • Bot Neophyte
  • *
  • Posts: 13
    • View Profile
Hello! And a few questions
« Reply #10 on: July 21, 2008, 11:40:41 AM »
So what amount of Base pairs would suffice for a slower computer that cant handle a lot of bots?

Offline EricL

  • Administrator
  • Bot God
  • *****
  • Posts: 2266
    • View Profile
Hello! And a few questions
« Reply #11 on: July 21, 2008, 11:53:57 AM »
You might want to check out this topic.

In particular, try increasing the size of your field.  Its non-intutitive, but larger fields are way faster all else being equal.   This one thing can have a huge impact on sim speed.
Many beers....

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Hello! And a few questions
« Reply #12 on: July 21, 2008, 12:49:43 PM »
Quote from: Lyndon
So what amount of Base pairs would suffice for a slower computer that cant handle a lot of bots?

It's one of those things that what ever number I say, a higher number would probably be better.  Try 100, 1000, and 10000 length genomes, and see what sort of hit they have on your sim speed.  Extrapolate from that what sort of genome length you want to try.
« Last Edit: July 21, 2008, 12:50:14 PM by Numsgil »

Offline ikke

  • Bot Destroyer
  • ***
  • Posts: 300
    • View Profile
Hello! And a few questions
« Reply #13 on: July 21, 2008, 01:29:40 PM »
I used 500 bot with 1000BP genomes. 2 runs: first life after 150 k cycles and the second life after 1.9 M cycles. mutation rate set at 1x. Not much but I hope it helps..
« Last Edit: July 21, 2008, 01:30:10 PM by ikke »

Offline Lyndon

  • Bot Neophyte
  • *
  • Posts: 13
    • View Profile
Hello! And a few questions
« Reply #14 on: July 21, 2008, 01:42:01 PM »
Right I think I understand you Ikke. By first life do you mean first replicator? or just first birth?
Also just clear this up for me, by 1000 base pairs you don't mean 2000 zeros? Just 1000?

My other computer is running okay at the moment with just a feeder veg and 89 zerobots with 500 zeros as their DNA.
Over 189000 cycles in just over an hour.