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 - Martian

Pages: [1] 2 3
1
Suggestions / Population Control and selection pressure without costs
« on: August 22, 2007, 05:37:35 AM »
Quote from: EricL
Comments?

I like it.  

2
Suggestions / Communicate with your bots!
« on: August 22, 2007, 05:30:21 AM »
I like the idea.  

3
Evolution and Internet Sharing Sims / RandomBot replicator in 7 min!
« on: August 19, 2007, 12:05:57 PM »
Oops.  
I made a huge mistake! I assumed a 125 for point mutations at 1/8 mutation rates is the same as 1000 for point mutations at 1/1 mutation rate.

4
Evolution and Internet Sharing Sims / RandomBot replicator in 7 min!
« on: August 18, 2007, 04:00:44 PM »
Using the randombot generator here several times I made a RandomBot with a DNA length of 3000.

I then started a sim with one RandomBot at 1000 for point mutations and delta mutations disabled. I gave it a starting energy of 32000. I made it a veg at 10 energy per cycle. I also set all costs to 0. 7 min later, at 400 cycles a second, a replicator.

The more bots, the better chance of a replicator evolving. But because the number of bots slow the sim exponentially, it takes a lot less time with just one bot for a replicator to evolve.

5
Interesting behaviour bots / RoboAnt (IB)(Martian)-15.08.07
« on: August 15, 2007, 11:30:56 AM »
' RoboAnt
' By Martian

def foodcounter 50

def foodx 51 'For the location of the last found food,
def foody 52 'or the new nest.

def state 53

def tieid 54

def numworkers 55

def royaljelly 971

def password 972

def queenx 973
def queeny 974

def birthtie -1
def goingfood -2
def hunting -3
def goingqueen -4
def feedqueen -5
def ruling -6
def newnest -7

def mapx 9237
def mapy 6928
def mapborder 250

def foodcycle 20 'The number of cycles the queen goes without food before she deciceds there aren't enough workers.

'The Queens Initialization
cond
 *.royaljelly 0 =
start
 31998 rnd 2 add .password store
 *.thisgene .delgene store
stop

'State switching

cond
 *.state 0 =
start
 -1 .state store
stop

cond
 *.state .birthtie =
 *.robage 6  >
start
 .deltie inc
 .goingfood .state store
stop

cond
 *.state .birthtie =
 *.robage 5 >
start
 .tie inc
stop

cond
 *.state .hunting =
 *.nrg 7500 >
start
  *.refxpos .foodx store
  *.refypos .foody store
  .goingqueen .state store
stop

cond
 *.eye1 *.eye2 >=
 *.eye1 *.eye3 >=
 *.eye1 *.eye4 >=
 *.eye1 *.eye5 >=
 *.eye1 *.eye6 >=
 *.eye1 *.eye7 >=
 *.eye1 *.eye8 >=
 *.eye1 *.eye9 >=
start
 mult -140
stop

cond
 *.eye9 *.eye2 >=
 *.eye9 *.eye3 >=
 *.eye9 *.eye4 >=
 *.eye9 *.eye5 >=
 *.eye9 *.eye6 >=
 *.eye9 *.eye7 >=
 *.eye9 *.eye8 >=
 *.eye9 *.eye1 >=
start
 mult 140
stop

cond
 *.eye2 *.eye9 >=
 *.eye2 *.eye3 >=
 *.eye2 *.eye4 >=
 *.eye2 *.eye5 >=
 *.eye2 *.eye6 >=
 *.eye2 *.eye7 >=
 *.eye2 *.eye8 >=
 *.eye2 *.eye1 >=
start
 mult -105
stop

cond
 *.eye8 *.eye9 >=
 *.eye8 *.eye3 >=
 *.eye8 *.eye4 >=
 *.eye8 *.eye5 >=
 *.eye8 *.eye6 >=
 *.eye8 *.eye7 >=
 *.eye8 *.eye2 >=
 *.eye8 *.eye1 >=
start
 mult 105
stop

cond
 *.eye3 *.eye9 >=
 *.eye3 *.eye8 >=
 *.eye3 *.eye4 >=
 *.eye3 *.eye5 >=
 *.eye3 *.eye6 >=
 *.eye3 *.eye7 >=
 *.eye3 *.eye2 >=
 *.eye3 *.eye1 >=
start
 mult -70
stop

cond
 *.eye7 *.eye9 >=
 *.eye7 *.eye8 >=
 *.eye7 *.eye4 >=
 *.eye7 *.eye5 >=
 *.eye7 *.eye6 >=
 *.eye7 *.eye3 >=
 *.eye7 *.eye2 >=
 *.eye7 *.eye1 >=
start
 mult 70
stop

cond
 *.eye4 *.eye9 >=
 *.eye4 *.eye8 >=
 *.eye4 *.eye7 >=
 *.eye4 *.eye5 >=
 *.eye4 *.eye6 >=
 *.eye4 *.eye3 >=
 *.eye4 *.eye2 >=
 *.eye4 *.eye1 >=
start
 mult -35
stop

cond
 *.eye6 *.eye9 >=
 *.eye6 *.eye8 >=
 *.eye6 *.eye7 >=
 *.eye6 *.eye5 >=
 *.eye6 *.eye4 >=
 *.eye6 *.eye3 >=
 *.eye6 *.eye2 >=
 *.eye6 *.eye1 >=
start
 mult 35
stop

cond
 *.eye5 *.eye9 >=
 *.eye5 *.eye8 >=
 *.eye5 *.eye7 >=
 *.eye5 *.eye6 >=
 *.eye5 *.eye4 >=
 *.eye5 *.eye3 >=
 *.eye5 *.eye2 >=
 *.eye5 *.eye1 >=
start
 mult
stop

cond
 *.eye5 0 >
 *.password *.memval =
start
 mult 628 rnd 314 add
stop

cond
 *.state .hunting =
start
 .aimdx store
stop

cond
 *.eye9 0 =
 *.eye8 0 =
 *.eye7 0 =
 *.eye6 0 =
 *.eye5 0 =
 *.eye4 0 =
 *.eye3 0 =
 *.eye2 0 =
 *.eye1 0 =
 *.state .hunting =
start
 20 .up store
stop

cond
 *.eye5 0 >
 *.password *.memval !=
 *.eye5 40 <
 *.refaimdx 0 !=
 *.state .hunting =
start
 *.refveldx .dx store
 *.refvelup 30 add .up store
stop

cond
 *.password *.memval !=
 *.eye5 40 >
 *.refaimdx 0 !=
 *.state .hunting =
 *.refvelup 0 =
start
 *.vel .dn store
stop

cond
 *.state .hunting =
 *.eye5 30 >=
 *.memval *.password !=
 *.refaimdx 0 !=
start
 *.refxpos *.refypos angle .setaim store
 -1 .shoot store
stop

cond
 *.state .goingqueen =
 *.eye5 35 >
 *.in1 1 =
 *.password *.memval =
start
 .feedqueen .state store
stop

cond
 *.state .goingqueen =
start
 *.queenx *.queeny angle .setaim store
 *.xpos *.queenx sub abs *.ypos *.queeny sub abs add 50 div 5 floor 30 ceil .up store
 *.veldx .sx store
stop

cond
 *.state .feedqueen =
 *.nrg 2500 <
start
 .goingfood .state store
 *.tieid .deltie store
stop

cond
 *.state .feedqueen =
 *.numties 0 =
start
 *.velup .dn store
 *.velsx .dx store
 *.refxpos *.refypos angle .setaim store
 *.tieid .tie store
stop

cond
 *.state .feedqueen =
 *.numties 1 =
start
 *.tieid .tienum store
 -1 .tieloc store
 *.nrg 2500 sub 1000 ceil 1 floor .tieval store
stop

'Fixes the Queen
cond
 *.fixed 0 =
 *.state .ruling =
start
 1 .fixpos store
stop

'Makes new workers
cond
 *.nrg 5000 >
 *.state .ruling =
 *.foodcounter 0 =
start
 10 .repro store
 90 314 rnd add .aimdx store
stop

cond
 *.royaljelly 0 =
 *.state .ruling =
start
 .royaljelly inc
stop

'Makes new queens
cond
 *.nrg 14000 >
 *.state .ruling =
 *.foodcounter 0 !=
 *.body 1450 >=
start
 50 .repro store
 0 .royaljelly store
 90 314 rnd add .aimdx store
stop

cond
 *.royaljelly 0 =
 *.state .ruling !=
start
 .newnest .state store
 .royaljelly inc
 1 .out1 store
 .mapx .mapborder 2 mult sub rnd .mapborder add .foodx store
 .mapy .mapborder 2 mult sub rnd .mapborder add .foody store
stop

cond
 *.state .newnest =
 *.xpos *.foodx sub abs 100 >
 *.ypos *.foody sub abs 100 > or
start
 *.foodx *.foody angle .setaim store
 *.xpos *.foodx sub abs *.ypos *.foody sub abs add 10 div 1 floor 30 ceil .up store
 *.veldx .sx store
stop

cond
 *.state .newnest =
 *.xpos *.foodx sub abs 100 <=
 *.ypos *.foody sub abs 100 <=
start
 .ruling .state store
 1 .fixpos store
 *.xpos .queenx store
 *.ypos .queeny store
stop


cond
 *.state .goingfood =
 *.xpos *.foodx sub abs 500 >
 *.ypos *.foody sub abs 500 > or
start
 *.foodx *.foody angle .setaim store
 *.xpos *.foodx sub abs *.ypos *.foody sub abs add 10 div 1 floor 30 ceil .up store
 *.veldx .sx store
stop

cond
 *.state .goingfood =
 *.foodx 0 =
 *.foody 0 =
start
 .hunting .state store
stop

cond
 *.state .goingfood =
 *.xpos *.foodx sub abs 500 <=
 *.ypos *.foody sub abs 500 <=
start
 .hunting .state store
stop

'Initialization

'Each queens workers have a different password
cond
 *.robage 0 =
start
 .password .memloc store
 31998 rnd 2 add .tieid store
stop

cond
 *.fixed 0 !=
 *.state .ruling !=
start
 0 .fixpos store
stop

'Body handling routines
cond
 *.body 1450 <
 *.pleas 0 >
 *.state .ruling =
start
 *.pleas 2 div 100 ceil 1450 *.body sub 10 mult ceil .strbody store
stop

cond
 *.body 1550 >
 *.nrg 5000 < or
 *.state .ruling =
start
 *.body 1550 sub 10 mult 100 ceil .fdbody store
stop

cond
 *.body 150 >
 *.nrg 1000 < or
 *.state .ruling !=
start
 *.body 150 sub 10 mult 100 ceil .fdbody store
stop

cond
 *.body 50 <
 *.pleas 0 >
 *.state .ruling !=
start
 *.pleas 2 div 100 ceil 50 *.body sub 10 mult ceil .strbody store
stop

cond
 *.state .ruling !=
 *.tiepres 0 >
 *.tiepres *.tieid !=
start
 *.tiepres .deltie store
stop

cond
 *.state .ruling =
 *.tiepres 0 >
start
  .foodcycle .foodcounter store
 stop

cond
 *.foodcounter 0 !=
start
 .foodcounter dec
stop

cond
 *.shflav 0 !=
 *.shflav -2 !=
start
 *.shang .aimshoot store
 64 .shootval store
 -1 .shoot store
 0 .shflav store
stop

6
Bot Tavern / The Wraithbot
« on: August 12, 2007, 10:51:42 AM »
I think that we should make the queen build a nest with tiny bots, like proposed in this thread. They would be fixed.

They would shoot any enemy bot with 1/3 of their total energy in .shootval.

Then we wouldn't have to restrict the preybots to a part of the screen, any preybots coming close to the nest will be killed.

I think we should also make the preybots run away terrified whenever they see these guardians. Perhaps make them store the x,y pos of the nest in their out/in and racial memory, and avoid the area around it.

We could perhaps later on make each queen store a random number in the racial memory. This would make two different queen's bots attack each other. Then we could add another bot the Bodyguard. They're armed very well (venom, poison, shell etc.). Their work is to defend the hive from enemy wraithbots.

Perhaps we could make another bot which job is to store energy. Then whenever a bot runs low on energy, especially the minebots, they could come and get some from the store with ties or shots.

Just throwing around lots of ideas here. Tell me what you think.

Martian

PS. I'd like to help, Could someone please deal me in?

7
Tips and Tricks / How to know you're the first
« on: August 06, 2007, 02:03:08 PM »
How about this?

Code: [Select]

cond
 *.robage 0 =
start
 1 55 store
 *.thisgene .delgene store
stop

8
Newbie / Help !!!
« on: July 18, 2007, 02:53:29 AM »
I added a smiley after it in the wiki to make it clear that it is a joke.  

9
Darwinbots3 / Bot DNA
« on: July 17, 2007, 05:37:33 AM »
Quote from: Numsgil
But then wouldn't it be difficult to have a single condition control multiple store statements?

I was thinking that we could have this and genes.

Code: [Select]
cond
 *.eye5 25 >
 *.refeye *.myeye !=
 *.refpoison *.refshell =>
start
 16 .shootval store
 -6 .shoot store
stop

cond
 *.eye5 25 >
 *.refeye *.myeye !=
 *.refpoison *.refshell <
start
 16 .shootval store
 -1 .shoot store
stop

would become
Code: [Select]
cond
 *.eye5 25 >
 *.refeye *.myeye !=
start
 16 .shootval store
 -6 .shoot .*.refpoison *.refshell => store
 -1 .shoot *.refpoison *.refshell < store
stop

Which is a lot more readable. It would also make Single Gene bots less complicated. But then we should leave the bitwise operators.

For example

Code: [Select]
cond
*.eye5 30 >
start
-1
.shoot
*.memval -2 =
*.refeye 0 =  |
store 'Shoot if the bot is hit with venom or if its a veggie (Checking with .memloc, .memval)
stop

Which would be a good use for bitwise operators.

10
Darwinbots3 / Bot DNA
« on: July 17, 2007, 04:00:14 AM »
Why not make store take 3 values and only work when there is a non zero value on the stack.  

And change >, <, = etc. to take two values and place 1 on the stack if the condition is true and 0 if it isn't. Like the mult operator.  

Then
Code: [Select]
50 .repro *.nrg 5000 > store would work.

11
Newbie / Help !!!
« on: July 16, 2007, 12:04:48 PM »
Quote from: Nikica
So I read the introduction and I dont really get the last sentence, is it illegal to add *.pain in your DNA ???

No. It's just a joke.

12
Newbie / Help !!!
« on: July 14, 2007, 03:23:01 PM »
Quote from: Nikica
Is there some alternative on the new site for the documentation on the old site so that I am not dependent to the old site ???

The new site is mostly documentation. For example
Robot Tutorials
A list of sysvars

13
DNA - General / Making another bot delete it's own genes
« on: July 07, 2007, 08:34:38 AM »
Quote from: Numsgil
Delgene was deemed too powerful and a block was put in specifically to limit venom and info shots from deleting genes.  Ties were supposed to be included in that, but I think they were overlooked.

It's kind of a dirty trick

OK.

14
DNA - General / Making another bot delete it's own genes
« on: July 06, 2007, 11:12:21 AM »
Thanks! It works perfectly now!  

15
DNA - General / Making another bot delete it's own genes
« on: July 06, 2007, 10:34:09 AM »
Quote from: Anazasi
ok I modified it and seems that the problem is with the memory location, for some reason you cannot write in 340 (.delgene) if you replace it with 341 you can see it works.
sorry, maybe someone else could help you.

OK. Maybe someone thought that deleting genes was overpowered.

Pages: [1] 2 3