Darwinbots Forum

Bots and Simulations => Bot Tavern => Topic started by: MysticalDumpling on February 14, 2014, 06:22:20 PM

Title: Lets make another wikibot!
Post by: MysticalDumpling on February 14, 2014, 06:22:20 PM
(look for the topic on the wiki...)
I'll start:

 .tie inc
Title: Re: Lets make another wikibot!
Post by: PhiNotPi on February 16, 2014, 12:49:03 PM
I might as well give this a try.

Code: [Select]
.tie inc
*.focuseye .eye5 add * 0 >
Title: Re: Lets make another wikibot!
Post by: MysticalDumpling on February 17, 2014, 06:10:22 AM

.tie inc
*.focuseye .eye5 add * 0 >
*.nrg 1000 sub sgn 0 floor and *.venom 50 sub 1 add sgn 0 floor and 5 mult .mkvenom store
Title: Re: Lets make another wikibot!
Post by: PhiNotPi on February 17, 2014, 09:52:07 AM
Your added line doesn't seem to be functional.  For example, mkvenom should be strvenom, and the "and"s don't actually do anything because there aren't any other condition operators (like > < = != etc.).  You need to use "mult"s in this case.

What I think you meant to write is:

Code: [Select]
*.nrg 1000 sub sgn 0 floor 49 *.venom sub sgn 0 floor mult 5 mult .strvenom store
Which produces venom when there is currently less than 50 venom and there is at least 1000 nrg.

Anyways, what is the maximum size of a "line"?   I think we should make an upper limit.
Title: Re: Lets make another wikibot!
Post by: MysticalDumpling on February 17, 2014, 12:43:03 PM
Thanks phi. Lets limit the size of the line to the width of a comment AND one one store a line.

Here's my next line:
7 .venloc store
Title: Re: Lets make another wikibot!
Post by: MysticalDumpling on February 19, 2014, 09:29:45 AM
So far, it is:

tie inc
*.focuseye .eye5 add * 0 >
*.nrg 1000 sub sgn 0 floor 49 *.venom sub sgn 0 floor mult 5 mult .strvenom store
7 .venloc store
-2 .venval store

 :)
Title: Re: Lets make another wikibot!
Post by: Moonfisher on April 09, 2014, 10:58:48 PM
Code: [Select]
start
.tie inc
*.focuseye .eye5 add * 0 >
*.nrg 1000 sub sgn 0 floor 49 *.venom sub sgn 0 floor mult 5 mult .strvenom store
7 .venloc store
-2 .venval store
59 << *.robage 192 ceil >> rnd << << ++ store
stop

Got one more line I'd love to add, would make it able to actually survive in F1 settings I think. But will have to wait :P
Also I'm assuming it's one store, inc, dec or logical operator per line.
Title: Re: Lets make another wikibot!
Post by: MysticalDumpling on April 10, 2014, 02:33:29 PM
Code: [Select]
start
.tie inc
*.focuseye .eye5 add * 0 >
*.nrg 1000 sub sgn 0 floor 49 *.venom sub sgn 0 floor mult 5 mult .strvenom store
7 .venloc store
-2 .venval store
59 << *.robage 192 ceil >> rnd << << ++ store
*.eyef 0 sub sgn abs -- abs .focuseye mult inc
stop
In theory, since focuseye mods, it will allow the bot to focus on any eye.
Title: Re: Lets make another wikibot!
Post by: Moonfisher on April 11, 2014, 02:40:37 AM
Yeah, but the condition for the eyes right now takes the value in the focuseye and adds the memory location of eye5 (Not the value in it). So it's a bit of a confusing condition I think.

Anyway realized won't matter what lines I add until I clear the boolean stack.
Not sure if this counts as a line.
If not then I'd just add the line from before again after the clearbool :D

Code: [Select]
start
.tie inc
*.focuseye .eye5 add * 0 >
*.nrg 1000 sub sgn 0 floor 49 *.venom sub sgn 0 floor mult 5 mult .strvenom store
7 .venloc store
-2 .venval store
59 << *.robage 192 ceil >> rnd << << ++ store
*.eyef 0 sub sgn abs -- abs .focuseye mult inc
clearbool
stop
Title: Re: Lets make another wikibot!
Post by: MysticalDumpling on April 11, 2014, 03:05:19 PM
Code: [Select]
start
.tie inc
*.focuseye .eye5 add * 0 >
*.nrg 1000 sub sgn 0 floor 49 *.venom sub sgn 0 floor mult 5 mult .strvenom store
7 .venloc store
-2 .venval store
59 << *.robage 192 ceil >> rnd << << ++ store
*.eyef 0 sub sgn abs -- abs .focuseye mult inc
clearbool
*.refbody << *.timer rnd 3 ceil mult ++ .up store
stop
Title: Re: Lets make another wikibot!
Post by: Moonfisher on April 13, 2014, 05:52:50 AM
Wish there was more people throwing line in here.
I always think wikibots make such great evo bases.

Code: [Select]
start
.tie inc
*.focuseye .eye5 add * 0 >
*.nrg 1000 sub sgn 0 floor 49 *.venom sub sgn 0 floor mult 5 mult .strvenom store
7 .venloc store
-2 .venval store
59 << *.robage 192 ceil >> rnd << << ++ store
*.eyef 0 sub sgn abs -- abs .focuseye mult inc
clearbool
*.refbody << *.timer rnd 3 ceil mult ++ .up store
59 << *.robage 192 ceil >> rnd << << ++ store
stop
Title: Re: Lets make another wikibot!
Post by: MysticalDumpling on April 16, 2014, 08:49:27 AM
*.refeye 4 sub .sx store
Is my next line
Title: Re: Lets make another wikibot!
Post by: Moonfisher on April 17, 2014, 12:34:10 AM
.shoot dec

Felt that was missing :)
Title: Re: Lets make another wikibot!
Post by: MysticalDumpling on April 17, 2014, 03:56:29 PM
5 .sharenrg store
Title: Re: Lets make another wikibot!
Post by: Moonfisher on April 18, 2014, 01:24:52 AM
Code: [Select]
start
.tie inc
*.focuseye .eye5 add * 0 >
*.nrg 1000 sub sgn 0 floor 49 *.venom sub sgn 0 floor mult 5 mult .strvenom store
7 .venloc store
-2 .venval store
59 << *.robage 192 ceil >> rnd << << ++ store
*.eyef 0 sub sgn abs -- abs .focuseye mult inc
clearbool
*.refbody << *.timer rnd 3 ceil mult ++ .up store
59 << *.robage 192 ceil >> rnd << << ++ store
*.refeye 4 sub .sx store
.shoot dec
5 .sharenrg store
*.body *.trefbody sub 10 div 65 floor .sharenrg store
stop

Sorry to mess with the exact same thing, but 5 .sharenrg was pretty suicidal.
Tried to run it like this, and it had a hard time surviving, thought it was dying out. But seems it uses .mrepro somewhere in there, so even with mutations turned off it was mutating. After only 1600 cycles (Possibly less) it had broken several lines and was now stable and able to survive with F1 conditions. I think one of the key lines was the line storing a high value in .up (line 9) which was now only storing 1 in .up i think (Assuming *323 is 0).
At least that's the visible effect i noticed, instead of zipping away at light speed it would suddenly cluster around the alge.
(Above is the wiki bot, bellow is the evolved result after 1660 cycles in F1 conditions, with mutations disabled, but likely using mrepro)

Code: [Select]
start
 .tie inc
 *.focuseye 505 add * 0 >
 *.nrg 1000 sub sgn 0 floor 49 *.venom sub sgn 0 floor mult 5 mult .strvenom store
 7 0 store
 -2 .venval store
 59 << *.robage 192 ceil >> rnd << << ++ store
 *.eyef 0 sub sgn abs -- abs 511 mult inc
 clearbool
 *.refbody << *.timer *323 rnd 3 ceil mult ++ .up store
 59 << *.robage 192 ceil >> rnd << << ++ store
 *.refeye 4 sub .sx store
 .shoot dec
 5 .sharenrg store
 *.body *.trefbody sub 10 div 65 floor .sharenrg store
 stop
Title: Re: Lets make another wikibot!
Post by: Moonfisher on April 18, 2014, 08:30:07 AM
I let the sim continue for another 24K cycles.
This is what it ended up like. Does quite well in F1 conditions with a larger field.
Uses chloroplasts somehow, good add forming fungus like structures around alge as well.
It no longer shoots, it only seems to share nrg (Although not sure how that part of the code works now) and makes some chloroplast.
Very interesting development for only 24K cycles. And just using mrepro with no mutations on it would seem. (Unless disabling mutations is broken, but fairly sure it isn't)

Code: [Select]
start
 .tie inc
 *.focuseye 505 add 0 xor
 * *.nrg 1000 sub *.venom 49 floor 0 sgn sgn 0 floor mult 5 mult .strvenom store
 store
 0 7 -2 .venval floorstore
 59 clearbool
 *.robage 192 ceil >> rnd << << ++ store
 *.eyef 0 sub abs -- abs 511 clearbool
 inc
 mult << *.timer store
 div rnd 3 logx mult ++ .up store
 59 *.robage 176 ceil >> rnd << << ++ store
 store
 7 830 10 div 65 floor 830 overbool
 store
 stop
Title: Re: Lets make another wikibot!
Post by: MysticalDumpling on April 20, 2014, 09:23:36 AM
Yay! I love wikibots


Code: [Select]
start
 .tie inc
 *.focuseye 505 add * 0 >
 *.nrg 1000 sub sgn 0 floor 49 *.venom sub sgn 0 floor mult 5 mult .strvenom store
 7 0 store
 -2 .venval store
 59 << *.robage 192 ceil >> rnd << << ++ store
 *.eyef 0 sub sgn abs -- abs 511 mult inc
 clearbool
 *.refbody << *.timer *323 rnd 3 ceil mult ++ .up store
 59 << *.robage 192 ceil >> rnd << << ++ store
 *.refeye 4 sub .sx store
 .shoot dec
 5 .sharenrg store
 *.body *.trefbody sub 10 div 65 floor .sharenrg store
*.tmemloc .chlr sub sgn abs .chlr mult .tmemloc *.tmemval 0 sub sgn abs 99 mult .sharenrg store 
stop

I don't know how well that line will work, though...
Title: Re: Lets make another wikibot!
Post by: Moonfisher on April 27, 2014, 07:26:18 AM

Code: [Select]
start
 .tie inc
 *.focuseye 505 add * 0 >
 *.nrg 1000 sub sgn 0 floor 49 *.venom sub sgn 0 floor mult 5 mult .strvenom store
 7 0 store
 -2 .venval store
 59 << *.robage 192 ceil >> rnd << << ++ store
 *.eyef 0 sub sgn abs -- abs 511 mult inc
 clearbool
 *.refbody << *.timer *323 rnd 3 ceil mult ++ .up store
 59 << *.robage 192 ceil >> rnd << << ++ store
 *.refeye 4 sub .sx store
 .shoot dec
 5 .sharenrg store
 *.body *.trefbody sub 10 div 65 floor .sharenrg store
*.tmemloc .chlr sub sgn abs .chlr mult .tmemloc *.tmemval 0 sub sgn abs 99 mult .sharenrg store 
*.refxpos *.refypos angle .aimshoot store
stop
Title: Re: Lets make another wikibot!
Post by: MysticalDumpling on April 27, 2014, 11:32:05 AM
Code: [Select]
start
 .tie inc
 *.focuseye 505 add * 0 >
 *.nrg 1000 sub sgn 0 floor 49 *.venom sub sgn 0 floor mult 5 mult .strvenom store
 7 0 store
 -2 .venval store
 59 << *.robage 192 ceil >> rnd << << ++ store
 *.eyef 0 sub sgn abs -- abs 511 mult inc
 clearbool
 *.refbody << *.timer *323 rnd 3 ceil mult ++ .up store
 59 << *.robage 192 ceil >> rnd << << ++ store
 *.refeye 4 sub .sx store
 .shoot dec
 5 .sharenrg store
 *.body *.trefbody sub 10 div 65 floor .sharenrg store
*.tmemloc .chlr sub sgn abs .chlr mult .tmemloc *.tmemval 0 sub sgn abs 99 mult .sharenrg store 
*.refxpos *.refypos angle .aimshoot store
.chlr .memloc store
stop
Title: Re: Lets make another wikibot!
Post by: Niemci on September 26, 2014, 11:54:44 AM
Quote

Code: [Select]
start
 .tie inc
 *.focuseye 505 add * 0 >
 *.nrg 1000 sub sgn 0 floor 49 *.venom sub sgn 0 floor mult 5 mult .strvenom store
 7 0 store
 -2 .venval store
 59 << *.robage 192 ceil >> rnd << << ++ store
 *.eyef 0 sub sgn abs -- abs 511 mult inc
 clearbool
 *.refbody << *.timer *323 rnd 3 ceil mult ++ .up store
 59 << *.robage 192 ceil >> rnd << << ++ store
 *.refeye 4 sub .sx store
 .shoot dec
 5 .sharenrg store
 *.body *.trefbody sub 10 div 65 floor .sharenrg store
*.tmemloc .chlr sub sgn abs .chlr mult .tmemloc *.tmemval 0 sub sgn abs 99 mult .sharenrg store 
*.refxpos *.refypos angle .aimshoot store
.chlr .memloc store
*.refxpos *.refypos dist 300 div *.maxvel mult *.refvel add 0 floor *.maxvel ceil .up store
stop
Title: Re: Lets make another wikibot!
Post by: Botsareus on September 26, 2014, 12:41:41 PM
This robot is definitely behaving more coherently now. Good contribution!  :)
Title: Re: Lets make another wikibot!
Post by: Niemci on September 26, 2014, 08:15:03 PM
Yay! Want to join in? It is fun, but I must wait for someone to post a line...
Title: Re: Lets make another wikibot!
Post by: Botsareus on September 26, 2014, 08:27:57 PM
Thx for the offer though.  8)
Title: Re: Lets make another wikibot!
Post by: spike43884 on October 18, 2014, 06:03:42 AM
Ok, I am new to darwinbots, but lets have a go at this then *Cracks nuckles*
Code: [Select]
start
 
.tie inc
 *.focuseye 505 add * 0 >
 *.nrg 1000 sub sgn 0 floor 49 *.venom sub sgn 0 floor mult 5 mult .strvenom store
 7 0 store
 -2 .venval store
 59 << *.robage 192 ceil >> rnd << << ++ store
 *.eyef 0 sub sgn abs -- abs 511 mult inc
 clearbool
 *.refbody << *.timer *323 rnd 3 ceil mult ++ .up store
 59 << *.robage 192 ceil >> rnd << << ++ store
 *.refeye 4 sub .sx store
 .shoot dec
 5 .sharenrg store
 *.body *.trefbody sub 10 div 65 floor .sharenrg store
*.tmemloc .chlr sub sgn abs .chlr mult .tmemloc *.tmemval 0 sub sgn abs 99 mult .sharenrg store 
*.refxpos *.refypos angle .aimshoot store
.chlr .memloc store
*.refxpos *.refypos dist 300 div *.maxvel mult *.refvel add 0 floor *.maxvel ceil .up store
cond *.availability 50 > start *.mkchlr 1

stop
Oh btw did anyone else notice that XNOR & if is missing from the operators on WikiManual
Title: Re: Lets make another wikibot!
Post by: Botsareus on October 18, 2014, 05:54:55 PM
off topic:

There is no 'if' in db, just 'start' and 'else.' You can not make a duplex gene that uses both though. Amplification mutations take care of that.
Not sure if we need 'xnor'
Title: Re: Lets make another wikibot!
Post by: spike43884 on October 19, 2014, 08:33:25 AM
off topic:

There is no 'if' in db, just 'start' and 'else.' You can not make a duplex gene that uses both though. Amplification mutations take care of that.
Not sure if we need 'xnor'
So what would be the fill-in for if........Would it be else?
And If you have Xor and not then Xnor just helps to compact the code, its litterally 'not Xor'
Title: Re: Lets make another wikibot!
Post by: Botsareus on October 19, 2014, 12:06:01 PM
offtopic:

A fill in for if would be

Code: [Select]
cond
1 1 =
start
blablabla
stop

remember that everything is in reverse polish notation.

I get where you are going with xnor. Three points:

1.) No one uses xor in the first place.
2.) You can always use 'xor not' (bot you probably already knew that)
3.) The last and only time I upgraded the DNA logic (breaking forward compatibility pretty well) was back in early 2013 when I introduced chloroplasts. Xnor was not on my list :( (I really want to avoid doing that until the release of DB3) sorry.



Fun fact, DB3 will have even less shorthand commands then DB2, 'addstore' and all that other stuff will be gone and be replaced with codules.



Also, please try to stay on topic or post a question in Newbee...

Thx.
Title: Re: Lets make another wikibot!
Post by: Botsareus on October 19, 2014, 05:32:52 PM
off topic: I just scoped out the code. I will not be able to add any new logic because that will mean a complete overhall of sexrepro. Sorry. But you did inspire me to add notes to the wiki that explain forwards compatibility.
Title: Re: Lets make another wikibot!
Post by: spike43884 on October 23, 2014, 06:43:55 AM
off topic: I just scoped out the code. I will not be able to add any new logic because that will mean a complete overhall of sexrepro. Sorry. But you did inspire me to add notes to the wiki that explain forwards compatibility.
Yay, I have no clue about reverse polish notation & forward compatibility...The more descriptions the better :P

Anyway, most bots I use will have Xor cuz its useful, Its good if you want only 1 condition to be reached then it do X but not do it if both reached...

*Yep I know a lot about logic gates :P*
Btw, I noticed your puns, bot I have to say, they were cheesy.

Mhm, Im tempted to make a more fruity veg and very...Moudly bot...but if their anything in the DNA I can do to hold them together...fruit bots going solo would be weird XD
Title: Re: Lets make another wikibot!
Post by: Botsareus on October 23, 2014, 10:36:43 AM
Quote
Btw, I noticed your puns, bot I have to say, they were cheesy.

If you are talking about the rant. It is actual stuff happening to me from my pov.