Author Topic: Multibot Vegetable  (Read 19747 times)

Offline Boris of Quirm

  • Bot Neophyte
  • *
  • Posts: 45
    • View Profile
Multibot Vegetable
« Reply #15 on: November 26, 2005, 11:49:54 AM »
I have tweaked the code so ties are now being made between cells.

The ties are still not working right 100% of the time.  Problem one is that the occassional cell is not tied.  Problem two is where a cell may tie itself to an existing one. This is the equivalent of a plants stem branching then growing back together.

Attached below is a screenshot of what the plant looks like when it has finished growing.
« Last Edit: November 26, 2005, 11:50:15 AM by Boris of Quirm »
Why do computer programmers celebrate Christmas at Halloween?

Because Dec 25 is equal to Oct 31!!

Offline Griz

  • Bot Overlord
  • ****
  • Posts: 608
    • View Profile
Multibot Vegetable
« Reply #16 on: November 26, 2005, 11:51:35 AM »
B o'Q

can't seem to get the multiveg to do anything at all in ver 2.37.x ...
but in 2.4.A it seems to reproduce and tie.
I get some pretty action using your multiveg and C_Cicumgirans ...
attaching the settings.  [had to alter name to MultiBot1.0.set.txt to get it to load]
don't think all the settings get loaded in so here are the particulars:
MultiVeg1.0 starting pop of 5, energy 3000 ...
placement window upper 1/4 of screen.
C_Cicumgirans, start pop 5, energy 3000 ... place anywhere on screen.

General:
field 9237 x 6928
using seed 2005
non toroidal
veggie energy 40 nrg
50 max veggies, repop threshold 10,  1 per pop event
vegbody/nrg distribution 10%

Physics:
default stuff?
Advanced controls:
viscosity 0.01
friction static 0.5, kinetic 0.06
bang effciency 80%

I think that's it.

couple of questions:

I get reproduction and ties.
are the ties the buds and flowers of one multibot?
or do they form ties with other bots?
the robot id doesn't indicate they are tied to the parent.
I've got organisms with 12 or more ties at times ...
or at least it seems so.
how does one tell a stem from a bud from a flower?
 
anyway ...
how about including some of your settings you use
for simulations ... so I can sorta get on the same page
with you and see some of the same behavior you discover.

thanks ...
having fun just watching this simple sim. ;)
不知
~griz~
[/color]
   "The selection of Random Numbers is too important to be left to Chance"
The Mooj  a friend to all humanity
[/color]

Offline Boris of Quirm

  • Bot Neophyte
  • *
  • Posts: 45
    • View Profile
Multibot Vegetable
« Reply #17 on: November 26, 2005, 11:51:41 AM »
This screenshot shows what the 'plant' looks like when the cells are stretched apart.
Why do computer programmers celebrate Christmas at Halloween?

Because Dec 25 is equal to Oct 31!!

Offline Boris of Quirm

  • Bot Neophyte
  • *
  • Posts: 45
    • View Profile
Multibot Vegetable
« Reply #18 on: November 26, 2005, 11:56:04 AM »
Griz,

I am going to post my latest plant code in the bestiary.

The cells can be three types, sstem, leaf or flower.

To see what type a cell is open the console for a cell and use '? 50'.
This will show you the value held in the location that governs type. If the value is 1 then the cell is a stem, 2 it's a leaf and 3 it's a flower.
Only a stem can 'grow' another part of the plant.
Why do computer programmers celebrate Christmas at Halloween?

Because Dec 25 is equal to Oct 31!!

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Multibot Vegetable
« Reply #19 on: November 26, 2005, 01:50:31 PM »
Quote
This screenshot shows what the 'plant' looks like when the cells are stretched apart.
I'm loving this.  Try experimenting with .tielen I think it is to get the plant to space out.

Offline Boris of Quirm

  • Bot Neophyte
  • *
  • Posts: 45
    • View Profile
Multibot Vegetable
« Reply #20 on: November 26, 2005, 02:07:18 PM »
If I increase the size of .tielen will it force the child further from the parent or will both parent and child move apart?

Thinking ahead, if I run in pond mode, would I be right in thinking that the top of the screen is affected by light?
If this is the case is there some instruction that looks for the light?  By using this I can then get the plant to grow upwards.  If there isn't an instruction that does this can I suggest it for future versions of the program.
Why do computer programmers celebrate Christmas at Halloween?

Because Dec 25 is equal to Oct 31!!

Offline Zelos

  • Bot Overlord
  • ****
  • Posts: 707
    • View Profile
Multibot Vegetable
« Reply #21 on: November 26, 2005, 02:58:16 PM »
its very nice, have you tried to make it regenerateble? wich means if a bot eats up the connections between 2 parts they begin regenerate it and so on
When I have the eclipse cannon under my control there is nothing that can stop me from ruling the world. And I wont stop there. I will never stop conquering worlds through the universe. All the worlds in the universe will belong to me. All the species in on them will be my slaves. THE ENIRE UNIVERSE WILL BELONG TO ME AND EVERYTHING IN IT :evil: AND THERE IS NOTHING ANYONE OF you CAN DO TO STOP ME. HAHAHAHAHAHAHAHA

Offline Boris of Quirm

  • Bot Neophyte
  • *
  • Posts: 45
    • View Profile
Multibot Vegetable
« Reply #22 on: November 26, 2005, 03:18:09 PM »
I do have a couple of thoughts on reproduction but I was going to work on these once I  am able to produce a stable plant structure.

Current options are:-

1.  Regrowth.  A stem can link to 4 other cells and if one of these is lost, then the stem can produce another cell.  This would allow the plant to keep growing.  The new cell produced may be of a different type to the cell that was lost.  For example, if a leaf is destroyed it could be replaced by a stem and the plant could then keep growing from this new 'branch'.

2.  Reproduction.  If a flower cell can see a predator then it will turn into a seed, attach itself to the predator and detach itself from the plant.  It will then stay with that animal for a number of cycles after which time it will detach itself and turn into a stem.  This will then start the growing process again.  This mimics the action of birds or animals that eat fruit then deposit the seeds elsewhere.
Why do computer programmers celebrate Christmas at Halloween?

Because Dec 25 is equal to Oct 31!!

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Multibot Vegetable
« Reply #23 on: November 26, 2005, 03:19:25 PM »
*.sun can be used to detect if the bot is within so many degrees of straight up.

It returns 1 if the bot is facing more or less up, 0 otherwise.

Offline Boris of Quirm

  • Bot Neophyte
  • *
  • Posts: 45
    • View Profile
Multibot Vegetable
« Reply #24 on: November 26, 2005, 03:34:42 PM »
Thanks Numsgil.

May save that one for a later version, once I have a stable structure.

Still playing with the ties at the moment. Once I'm happy with them I'll start looking at reproduction and regrowth I think.

With regards to reproduction, I have considered building an 'insect' bug that will feed from the plant through a 'proboscis' (tie).  This way it can 'probe' the plant to see what type of cell it is tied to, and detach from anything that is not a flower.  Once a flower is found it can feed from it.  The flower in return can give the insect a seed that can be taken away from the plant.  As the 'insect' will be designed to feed from this type of plant, it will know which address to look at to find out the cell type. (Not sure if this is supported though).
Why do computer programmers celebrate Christmas at Halloween?

Because Dec 25 is equal to Oct 31!!

Offline Griz

  • Bot Overlord
  • ****
  • Posts: 608
    • View Profile
Multibot Vegetable
« Reply #25 on: November 26, 2005, 05:00:37 PM »
Quote
This screenshot shows what the 'plant' looks like when the cells are stretched apart.
ok ... I get nothing that in any way resembles this.

of course I was using version1 of your bot.
will download the latest.
but ...
I suspect the sim settings are going to have a great effect ...
ie, max # of bots, bot energy/cycle, nrg/body ... etc ...
so if would be a big help if you could upload a setting file ...
or list the settings you used to get what you have in your pic.

I assume version 2.4.A ... correct?
they do nothing at all in 2.37.6 anyway ...
but again ... I have no idea what setting you are using.


thanks
不知
~griz~
[/color]
   "The selection of Random Numbers is too important to be left to Chance"
The Mooj  a friend to all humanity
[/color]

Offline Boris of Quirm

  • Bot Neophyte
  • *
  • Posts: 45
    • View Profile
Multibot Vegetable
« Reply #26 on: November 26, 2005, 05:09:00 PM »
I'm running in 2.37 and the code is shown below :-

Code: [Select]
'Plant ver_1.0
'(Multi-veggie-bot)
'
'The bot has three cell types - a stem, a leaf and a flower.
'
'A stem is the only part of the bot that can reproduce. It can

by tied to a maximum of 4 other cells.
'
'A leaf is denoted by spinning to the left (anti-clockwise).
'
'A flower is denoted by spinning to the right (clockwise).


'Declare plant specific variables

'Allocate Address 50 as the identifier for cell type
def type 50

'Allocate Address 51 as a count for the number of times a stem

cell has turned
def turn 51

'Allocate Address 52 as a counter for use during tie creation
def tiecounter 52

'End of Declarations


'Gene 1 - Allocate cell type at birth
'
'NB - Value of type can be:-
'
'1 - Stem
'2 - Leaf
'3 - Flower

cond
*.type 1 <
start
2 rnd 1 add .type store
stop

'End of Gene 1


'Gene 2 - I am a leaf
'
'Show I am a leaf by spinning to the left

cond
*.type 2 =
start
'10 .aimsx store
stop

'End of Gene 2


'Gene 3 - I am a flower
'
'Show I am a flower by spinning to the right

cond
*.type 3 =
start
'10 .aimdx store
stop

'End of Gene 3


'Gene 4 - I am a stem part 1
'
'I am a stem.
'I have enough energy
'I can still turn
'I can't see anything
'
'As a result I will reproduce and turn

cond
*.type 1 =
*.turn 8 <
'*.numties 4 <
*.eye5 40 <
*.tiecounter 1 <
start
20 .repro store
.tiecounter inc
stop

'End of Gene 4


'Gene 5 - I am a stem part 2
'
'I am a stem.
'I have enough energy
'I can still turn
'I can see something
'
'As a result I will just turn

cond
*.type 1 =
*.turn 8 <
'*.numties 4 <
*.eye5 40 >
*.tiecounter 1 <
start
314 .aimsx store
.turn inc
stop

'End of Gene 5

cond
*.tiecounter 0 >
start
1 .tie store
.tiecounter inc
stop

cond
*.tiecounter 10 >
start
0 .tiecounter store
stop


end

I start with 10 bots with an energy of 3000 and no other bots.
They are flagged as vegetables and blocked.
Also mutations are disabled.
NRG/veggy/cycle is set to 10.

As the cells randomly decide what type they are, it may be necessary for you to run the test several times before you get a stem that starts to grow to any degree.

The resulting plant should look like my first image.

In order to see the plant, pause the cyles and stretch the cells of the plant out.  Once you have opened the cells out you should have something resembling my second image.
Why do computer programmers celebrate Christmas at Halloween?

Because Dec 25 is equal to Oct 31!!

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
Multibot Vegetable
« Reply #27 on: November 26, 2005, 05:09:34 PM »
You might want to try something using .tielen1 when robage equals 1 or 0. Basically the bot can be sure of affecting the correct tie since it should only have one tie at that age.

Gotta thank Evolution for that little trick, some blind bots I made started using this to spread themselves out during their birthing cycle.

Offline Griz

  • Bot Overlord
  • ****
  • Posts: 608
    • View Profile
Multibot Vegetable
« Reply #28 on: November 26, 2005, 05:11:57 PM »
Quote
Griz,

I am going to post my latest plant code in the bestiary.

The cells can be three types, sstem, leaf or flower.

To see what type a cell is open the console for a cell and use '? 50'.
This will show you the value held in the location that governs type. If the value is 1 then the cell is a stem, 2 it's a leaf and 3 it's a flower.
Only a stem can 'grow' another part of the plant.
ok. thanks

shouldn't there be a way to alter the color slightly depending on
the value of what is in this memory location?
they can alter color when a mutant so .... ????
or alter the 'skin' slightly ... or stick the 1,2 or 3 into the bot ...
similar to the numbers that Bots attached to them in his Bauified version of 2.37?
just something to distinguish them?

Num's ...
I've asked a couple of time ...
could you please tell me the name of the variable that determines
in what color the bot is displayed/drawn?
and also ... the variable name of the color the graphs use?
it would be nice to have them match .... or at least have the graph
use the color designated when we set up the species ...
rather than the defalult color depending upon the order of species ...
ie, yellow, red, blue, violet, white ... or however it goes.

thanks
不知
~griz~
[/color]
   "The selection of Random Numbers is too important to be left to Chance"
The Mooj  a friend to all humanity
[/color]

Offline Boris of Quirm

  • Bot Neophyte
  • *
  • Posts: 45
    • View Profile
Multibot Vegetable
« Reply #29 on: November 26, 2005, 05:12:18 PM »
Thanks for that Endy.

I'll give it a try.

If anyone wants to play with the plant, please feel free and let me know if you discover anything useful.  I can then pool all your ideas together into one 'Ultimate' plant.
Why do computer programmers celebrate Christmas at Halloween?

Because Dec 25 is equal to Oct 31!!