Darwinbots Forum

Bots and Simulations => Bot Tavern => Topic started by: Elite on January 22, 2006, 04:20:29 PM

Title: Does this count as an MB?
Post by: Elite on January 22, 2006, 04:20:29 PM
' Symbioticus
'
' A tank with a battery ...
'
' Ties to a veg, pulls
' it close behind it and
' uses it as an energy
' source
'
' Version 2.0
' - Uses a modified version of Animal Minimalis' search pattern

def done 51

cond
*.robage 0 =
start
.tie inc
.tiepres .memloc store
.timer inc
100 .side store
stop
cond
*.robage 1 =
start
.deltie inc
stop

'*************************************************************

' Find and tie to a veggie

cond
*.robage 0 >
*.done 0 =
*.multi 0 =
*.eye5 0 >
*.eye5 45 <
*.refshoot 0 =
*.refaimdx 1 =
*.refeye 0 =
*.memval 86 !=
*.numties 0 =
start
40 .up store
stop

cond
*.robage 0 >
*.eye5 45 >
*.refshoot 0 =
*.refaimdx 1 =
*.refeye 0 =
*.memval 86 !=
*.numties 0 =
start
86 .tie store
stop

cond
*.robage 0 >
*.numties 0 =
*.eye5 0 =
*.memval 86 = or
*.refshoot 0 != or
*.refaimdx 1 != or
*.refeye 0 != or
start
314 rnd .aimdx store
stop

'*************************************************************

cond
*.numties 1 =
*.treffixed 1 =
start
86 .tienum store
.fixpos .tieloc store
0 .tieval store
stop

cond
*.numties 1 =
*.done 0 =
start
.done inc
628 .fixang store
-32000 .fixlen store
86 .tienum store
.fixang .tieloc store
628 .tieval store
86 .readtie store
stop

cond
*.numties 0 =
*.done 1 =
start
.done dec
stop

'*************************************************************

' When tied to a vegetable

cond
*.myeye *.trefeye =
start
*.tiepres .deltie store
stop

cond
*.numties 0 =
*.shell 0 >
start
0 *.shell sub .mkshell store
stop

'*************************************************************

' Sharing and producing

cond
*.done 1 =
*.multi 1 =
start
75 .sharenrg store
50 .shareslime store
50 .shareshell store
.sharewaste inc
*.pleas 3 div .strbody *.pleas sgn mult store
*.pleas 3 div .mkslime *.pleas sgn mult store
600 *.shell sub .mkshell store
stop

cond
*.done 1 =
*.treffixed 1 =
start
*.tiepres .tienum store
.fixpos .tieloc store
0 .tieval store
stop

cond
*.done 1 =
*.multi 1 =
*.eye5 0 >
*.refeye *.myeye !=
*.memval 86 !=
start
-32 .shootval store
-6 .shoot store
stop

cond
*.done 1 =
*.multi 1 =
*.eye5 45 >
*.refeye *.myeye !=
*.memval 86 !=
start
32 .shootval store
-6 .shoot store
stop

cond
*.done 1 =
*.multi 1 =
*.eye5 0 =
*.memval 86 = or
*.refeye *.myeye = or
start
750 .dx store
30 .up store
stop

cond
*.done 1 =
*.multi 1 =
*.eye5 0 >
*.refeye *.myeye !=
*.memval 86 !=
start
*.refxpos *.refypos angle .setaim store
*.refveldx .dx store
stop

cond
*.done 1 =
*.multi 1 =
*.eye5 0 >
*.eye5 30 <
*.refeye *.myeye !=
*.memval 86 !=
start
*.refvelup *.refvelup add 100 add .up store
stop

'*************************************************************

' Reproduction

cond
*.body 5000 >
*.multi 1 =
start
10 .repro store
stop

cond
*.nrg 100 <
start
100 .fdbody store
stop

'*************************************************************

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

cond
start
*.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5 *.eye5
stop

end

I'll post it in the beastary if it does

It ties to a veggie and uses it as a portable power source - it doesn't actually need to feed.

When tied to a veg like this you can do all kinds of cool stuff that would be impossible with a regular bot  :)
ie.
 - Make tons of shell, slime, poison etc
 - Use really powerfull shots (-36 in .shootval etc)
Title: Does this count as an MB?
Post by: Endy on January 22, 2006, 04:49:06 PM
Honestly man I'm not sure. There have been quite a few debates on that subject.

It's either a share-feeder or a MB. Most like to define MBs as two or more same species bots connected in an ordered relationship working together towards a common goal.

You may want to check on the body levels when feeding to obtain emergency nrg.

Nice use of zeroing shflav. I think I've missed the obvious on that one. Most of the time I use cubersome checker dna, that's way more at risk to mutations.
Title: Does this count as an MB?
Post by: Elite on January 22, 2006, 04:54:55 PM
Thanks

If it can compete in the MB  league I will enter it (with a body-checker gene).

It beats Helios!
Title: Does this count as an MB?
Post by: Endy on January 22, 2006, 05:16:59 PM
Shoot that thing is tricky. I had to make Din flee the sight of strong MBs to finally defeat it. :)

You might want to SG'ize it. Anytime all you're checking for a specific value its easiest. Most of my bots have ended up looking like a crossbreed of types. Making use of SG tricks to help keep costs down, while using normal conditions for ease of coding.
Title: Does this count as an MB?
Post by: Elite on January 22, 2006, 05:20:41 PM
Whoa, I hadn't tested it agaist DIN, I didn't know it was at that level

It'll take me a while to SGize it

I've PMed Light to ask if it's a proper multibot - and if it can compete
Title: Does this count as an MB?
Post by: PurpleYouko on January 22, 2006, 06:22:38 PM
Technically, the only rule to define a Multi-Bot is that the bot is not allowed to feed in any way unless and until it is permanently tied to another bot.

I haven't tried your bot out but provided that it fits that criteria then it should count as an MB. From the code, it looks like it should qualify.

It would be more accurately described as a "Battery Bot" but is still an MB

Incidentally, do you realize that it is possible to program the veggie to actually do stuff?
You can make it move, reproduce or shoot or do most anything. Unless the veggie has eyes, you can't read its eye-cells though as the "view" variable will be disabled at birth.
Title: Does this count as an MB?
Post by: Numsgil on January 22, 2006, 07:03:39 PM
Damn you beat me to it.

I keep trying to sit down and program bots like this, but then I think up something that needs to be changed/fixed for it to work, and it's months before I get to try again.
Title: Does this count as an MB?
Post by: Endy on January 22, 2006, 10:26:01 PM
Could just vshoot an eye at the veggie and get it to reproduce. B)

Din and it's versions are probably the best bots I've ever designed. It's gotten kind of dated now with all the new defenses and attacks available, but is still a good source for coding ideas. Nice bit of splicing, with the whole becomming stronger than the individual peices.
Title: Does this count as an MB?
Post by: Light on January 23, 2006, 07:57:56 AM
Cool to see a new bot, will take a look this afternoon, when I get time.
Title: Does this count as an MB?
Post by: Light on January 23, 2006, 10:28:15 AM
Okay taken a closer look at it, certainly interesting and different and I would say it certainly meets the condition that PY stated above to be counted as a MB. With regards to running leagues, which version of DB are people using?
Title: Does this count as an MB?
Post by: Elite on January 23, 2006, 11:00:51 AM
I'm using version 2.37.6 - the recomended version at the FTP

BTW Endy - I have a body checker for extra energy in there - it's near the end

OK - If it qualifies I'll enter it as it is and improve it (ie. v3.0) if it gets beaten

This little bot can do alot of damage for an MB, with some of the new coding MBs needn't be weak anymore. I managed to mod Animal Minimalis to catch a veggie like symbioticus in minutes (although it wasn't very good). It should open up all sorts of interesting possibilities.
There's alot of fun things that you can do with a 'battery'.
Title: Does this count as an MB?
Post by: PurpleYouko on January 23, 2006, 11:38:17 AM
I have been meaning to make a bot-veggie version of "Inchworm"
Just haven't had the time to get around to it.

I could make both the bot and the veggie reproduce at the same time, then instantly recombine to make another Inchworm paralel to the first.

All fixpos commands and the like, can be controlled through the tie by the bot part of the MB.

What I would really like to make is a giant ring with multiple veggies in the center. Maybe a version of "Devincio Hexagonis". Motility becomes a major issue though. Perhaps it could just be defensive or maybe a lure hunter (when we get bio-luminescence working) like a jelly fish. Low overhead costs and most of the energy taken from the veggies.
Title: Does this count as an MB?
Post by: Elite on January 23, 2006, 01:00:38 PM
A batterybot doesn't strictly need to feed
My symbioticus only attcks to wipe out the competition (and because it can). Any attackers that get a shot off at it end up on the wrong side of an exceedingly powerful counter-attack

The veggie on the end actually repros and forms (unfixed) 'colonies' like a normal Alga Minimalis - you can see them drop off the end of the symbioticusses in sims when symbioticus starts culling the other vegs and lowers the veg population.

When Symbioticus repros the baby just flies off at the nearest veg (that isn't part of another symbioticus) and ties.

It repros once in a blue moon though - good at keeping mutations down.

A batterybot Inchworm would be good - is this the beginning of a whole new catagory of bots?
Title: Does this count as an MB?
Post by: Old Henk on January 23, 2006, 02:39:45 PM
I reckon a well-programmed bot using vegs as batteries would indeed be a major improvement over current bots, because it would essentially have an indefinite  energysource on-board.  ^_^  :idea:
Title: Does this count as an MB?
Post by: PurpleYouko on January 23, 2006, 03:30:31 PM
Quote
A batterybot doesn't strictly need to feed

That would depend largely on it's activity level.

Quote
A batterybot Inchworm would be good - is this the beginning of a whole new catagory of bots?
Not really. Battery bots as a concept, has been around for quite some time.
If you check some of the archives you will see that I have posted a number of different battery bots over the last few years. None of them have ever been really that great though since the standard alga feed rate has never been high enough to keep a good MB powered up without extra food supplies

I don't think it has been tried recently though. Some of the changes made for 2.36 may have made it a more viable concept. Very interesting field for development.
Title: Does this count as an MB?
Post by: Elite on January 23, 2006, 04:01:19 PM
Definately. As I said before, bots can be modified to use 'batteries'  in minutes. And why stop at one veggie?

What I would really like to see is Helios with a battery  :D
Title: Does this count as an MB?
Post by: Numsgil on January 23, 2006, 04:26:26 PM
With the new tie commands I'm working on I think you could have a bot 'brain' with alot of veggy 'body' parts.  The power from a tree of veggies would be far more viable as an energy source.

A bitch to program though.
Title: Does this count as an MB?
Post by: Elite on January 23, 2006, 04:29:38 PM
I'm going to see if I can make a quick Animal Minimalis 'battery' mod

EDIT: Here ya go

Code: [Select]
'Animal_Minimalis

'Contains everything necessary for it
'to survive and reproduce.

cond
*.eye5 0 >
*.refeye *.myeye !=
start
*.refveldx .dx store
*.refvelup 30 add .up store
stop

cond
*.eye5 50 >
*.refeye *.myeye !=
*.refeye 0 >
start
-1 .shoot store
*.refveldx .dx store
*.refvelup .up store
stop

cond
*.eye5 50 >
*.refeye *.myeye !=
*.refeye 0 =
*.numties 0 =
start
.tie inc
stop

cond
*.eye5 0 =
*.refeye *.myeye = or
start
314 rnd .aimdx store
stop

cond
*.nrg 20000 >
start
20 .repro store
stop

cond
*.numties 0 >
start
628 .fixang store
0 .fixlen store
1 .tienum store
.fixang .tieloc store
628 .tieval store
1 .readtie store
stop

cond
*.numties 0 >
*.treffixed 0 !=
start
*.tiepres .tienum store
.fixpos .tieloc store
0 .tieval store
stop

cond
*.multi 1 =
start
75 .sharenrg store
.sharewaste inc
*.pleas 2 div .strbody *.pleas sgn mult store
stop

cond
*.multi 1 =
*.eye5 0 >
start
32 .shootval store
-6 .shoot store
stop
stop

end

It's not very good, but considering I did it in under 2 minutes ...


You get the idea - I'm sure one of you can make it better
It needs:
- better conspec recog (don't atack the tied veggies)
- better hunting routines
- better tieing routines
etc
Title: Does this count as an MB?
Post by: Elite on January 23, 2006, 05:04:37 PM
Code: [Select]
'Animal_Minimalis

'Contains everything necessary for it
'to survive and reproduce.

cond
*.eye5 0 >
*.refeye *.myeye !=
start
*.refveldx .dx store
*.refvelup 60 add .up store
stop

cond
*.eye5 50 >
*.refeye *.myeye !=
*.refeye 0 >
start
-1 .shoot store
*.refveldx .dx store
*.refvelup .up store
stop

cond
*.eye5 50 >
*.refeye *.myeye !=
*.refeye 0 =
*.numties 0 =
start
.tie inc
stop

cond
*.eye5 0 =
*.refeye *.myeye = or
start
314 rnd .aimdx store
stop

cond
*.body 7500 >
start
10 .repro store
stop

cond
*.numties 0 >
start
628 .fixang store
0 .fixlen store
1 .tienum store
.fixang .tieloc store
628 .tieval store
1 .readtie store
stop

cond
*.numties 0 >
*.treffixed 0 !=
start
*.tiepres .tienum store
.fixpos .tieloc store
0 .tieval store
stop

cond
*.multi 1 =
start
75 .sharenrg store
.sharewaste inc
*.pleas 1.5 div .strbody *.pleas sgn mult store
stop

cond
*.multi 1 =
*.eye5 0 >
start
32 .shootval store
-6 .shoot store
stop

cond
*.myeye *.trefeye =
start
*.tiepres .deltie store
stop

cond
*.nrg 100 <
start
100 .fdbody *.body sgn mult store
stop

end

A better, although not entirely flawless version (it's begining to actually kill veggies)

It keeps the veg slightly further away from it than Symbioticus does for ease of movement

EDIT: It defeated Hunter 2.2
Title: Does this count as an MB?
Post by: Elite on January 24, 2006, 05:10:04 PM
Yey, down to a single gene (http://forum.darwinbots.com/index.php?showtopic=1075)

 :D
Title: Does this count as an MB?
Post by: Endy on January 25, 2006, 02:05:31 AM
About body:

I meant that you'll need to worry about over body feeding. Too much and the bot dies. :(  

Code: [Select]
cond
*.nrg 100 <
*.body 100 >
start
100 .fdbody *.body sgn mult store
stop

Would work better. There's some other tricky aspects like speed and strength that are affected by the level. Presumably there's a "perfect" balance out there, now if only we knew what it was.  :wacko:
Title: Does this count as an MB?
Post by: Elite on January 25, 2006, 11:34:40 AM
This gene:

Code: [Select]
cond
*.nrg 100 <
start
*.body 100 ceil .fdbody *.body sgn mult store
stop

Is now in Symbioticus v2.4

I've created a better hunting routine too. The bot spins for 100cy. Then cruises forward for 100cy etc. Covers lots more random ground more easily. And I've tried to SGize some of the bot to save energy among other minor changes.

What do you think of the 'battery gene'  B)

Problem is it really messes up tie-feeders  :wacko: