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 - Boris of Quirm

Pages: 1 [2] 3
16
Bot Tavern / Multibot Vegetable
« on: November 27, 2005, 01:53:10 PM »
I have attached a setings file for you.

17
Veggies / Alga Reactum (V)(Boris of Quirm)-27.11.05
« on: November 27, 2005, 05:30:04 AM »
'This veggiebot will only reproduce if it is attacked.  This includes by shooting or tiefeeders.  If you want you
' can remove the commented line in the first gene and allow the plant to reproduce when its energy is at a
' certain level as well.

'As all cells live mainly to reproduce it is interesting to note that when this veg is attacked it may eventually
' surround its predator.  This produces quite a nice symbiotic relationship between plant and predator.  The
' plant has 'caught' a predator and therefore it has guaranteed it will be shot and can reproduce.  The
' predator, in being 'caught' now has a food source on tap.

'This also means that one predator bot can be used in a test and as they become seperated into
' different 'colonies', they can mutate independantly down different evolutionary paths.

'The bot was tested in 2.37.6 and the settings used to test this bot were:-
'Alga Reactum      Qty 10     NRG 3000     Vegetable Yes     Blocked Yes
'T_Preservans      Qty 20     NRG 3000     Vegetable No      Blocked No

'The test area was 9237 x 6928
'NRG/Veggie/cycle 10
'Mutation was disabled for Alga Reactum and enabled for T_Preservans


'Alga Reactum
'Vegetable
'
'This plant will reproduce if it is  attacked.

cond
*.shup 0 !=
*.shdn 0 != or
*.shdx 0 != or
*.shsx 0 != or
'*.nrg 10000 > or
start
60 .aimdx store
50 .repro store
stop

cond
*.numties 0 >
start
99 .repro store
stop

end

18
Bot Tavern / Multibot Vegetable
« on: November 26, 2005, 05:28:56 PM »
Thanks for that Numsgil, I'll try that now.

I can then grow my plants from the bottom and hopefully fix them to it.

19
Bot Tavern / Multibot Vegetable
« on: November 26, 2005, 05:22:07 PM »
Not looking at roots just yet.  Iam setting the bot as blocked when I test it.

May look at fixing them in place in later versions.  On that note is there a way of knowing when I am at the bottom of the screen?  I.e. If .sun helps me grow upwards in a pond, is there a way of detecting the bottom of the pond so I can drop towards it and only start growing when I am there. I could then fix myself to the bottom as you suggested.

20
Bot Tavern / Multibot Vegetable
« 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.

21
Bot Tavern / Multibot Vegetable
« 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.

22
Bot Tavern / Multibot Vegetable
« 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).

23
Bot Tavern / Multibot Vegetable
« 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.

24
Bot Tavern / Multibot Vegetable
« 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.

25
Veggies / Basic Plant (Multi-Veggie-Bot) (V)(Boris of Quirm)-26.11.05
« on: November 26, 2005, 11:57:58 AM »
'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

26
Bot Tavern / Multibot Vegetable
« 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.

27
Bot Tavern / Multibot Vegetable
« on: November 26, 2005, 11:51:41 AM »
This screenshot shows what the 'plant' looks like when the cells are stretched apart.

28
Bot Tavern / Multibot Vegetable
« 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.

29
Bot Tavern / Multibot Vegetable
« on: November 26, 2005, 07:52:02 AM »
Here is the code for version 1.

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

'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

cond
*.type 1 =
*.nrg 10000 >
*.turn 8 <
*.numties 4 <
*.eye5 40 <
start
20 .repro store
1 .tie store
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 =
*.nrg 10000 >
*.turn 8 <
*.numties 4 <
*.eye5 40 >
start
314 .aimsx store
.turn inc
stop

'End of Gene 5


end

I have only tested this on it's own, so it hasn't faced predators yet.

When a new cell is born it chooses what type it is.  This means that when you start the test then it is likely that two thirds of the cells may be leaves and flowers and not grow at all.  This will be addressed in later version, so not worried about this for now.

The cells that are stems do start growing as expected, but ties aren't working properly yet.  So although you can see a cluster of cell that has leaves or flowers on the outside, you can't actually see how the 'plant' has grown as the ties are missing, but at least this proves that the cell typing process works!  I am currently working on this and hope to have a solution by the end of the day.

I will keep you posted as I progress.

30
DNA - General / RND Question
« on: November 25, 2005, 05:54:48 PM »
Don't worry problem solved.

An integer is returned and the value can include 0.
So 3 RND will produce 0, 1, 2 and 3.

Pages: 1 [2] 3