Author Topic: multibot theories  (Read 8858 times)

Offline Welwordion

  • Bot Destroyer
  • ***
  • Posts: 325
    • View Profile
multibot theories
« on: September 18, 2005, 04:45:09 PM »
ok write here about all concepts how multibots might work, which strategies they may use.

I will start with my thoughts.

1There seems to be an agreement , that the movement of multibots is extremely hard to coordinate (that is if there is not a "leader" and the other just  adapts there speed and ditance like swarms usually do)
so the easiest way to avoid this is to create a stationary multibot.
Whats the role of a stationary bot?
There are 2 food gaining mechanism for him,
 either relying on food that moves into his reaches(he could exploit attraction mechanism, like use a virus to hypnotize prey to come to him)
or managing an source of algae/veggies, which means limiting his energy and protecting his foodsource from extern influences.
To optimize the ratio protection(energy use) and energy gain.The outer surface has to be mimized while the inner surface has o be maximized(you can not feed of algae surrounded by other algae)(large free  areas abundant of food would be some quite good saftey puffers against non algae transporting  bots)

2A multibot invests quite much energy to reach full growth, such creating full
 developed progeny would probably slow down his reproduction to much.
The most practibable solution I think is the production of spores which will always result
in the fact that a multibot will have to go trough different lifephases

3Because a multibot invests so much to complete his structure and his numbers are lower compared to single bots  he can not afford to die that easily.
Result is that to be praticable an multibot has to have an really strong and flawless
as possible immune system.

4So far I can imagine three growth patterns :
First after surrounding an single algae, a layer growth with cells alway trying to point outward(where no other bots are), the inner structure then could be formed by letting inner cells die.For example when a cell binds to an algae and has 2 non algae neigbors these could be forbbiden to bind algaes such algae and non algae binding cells  would alternate after enough outer layer would have build up the nonbinding cells would die, the binding cells would ensure they are connected to a neigbour of their own species(the outer layer)this new connection partner then would be converted to an algae binding cell, their neigbors to nonbinding.After several cylces of this the inner surface would have grown.
Second concept is the alternation of layer growth and ring extension, inspired by certain tree growth mechanisms. The basic thought is when the outer layer extends
drastical the inner layer connections will be dragged apart the inner cell would register that stress and cut ties if the stress reachs a certain lvl.This would also result in a greater inner surface.
Third an extending ring that grows string from his inner surface, here also could be used an alternation system trigerred by algae.

Well thats what I could think of till now.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
multibot theories
« Reply #1 on: September 18, 2005, 05:14:20 PM »
I posted a quick article on multibots on the wiki.  Just thought I'd throw that out.

Life phases is a great solution on paper, but quickly becomes a befuddling mess in practice.  What we need is better code organization techniques I think.

The ring thing sounds really neat, I'd love to see it in reality.  Closest thing I can think of is PYs purple swarmer.

Offline Welwordion

  • Bot Destroyer
  • ***
  • Posts: 325
    • View Profile
multibot theories
« Reply #2 on: September 18, 2005, 05:23:09 PM »
You should change the wiki link I always linked to the old wiki ^^ and wondered
where the stuff you spoke of was.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
multibot theories
« Reply #3 on: September 18, 2005, 05:43:52 PM »
MMm... yes, I'll do that.  Almost all the pages in the old wiki are at the new wiki anyway.

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
multibot theories
« Reply #4 on: September 19, 2005, 02:47:45 AM »
Made a basic circle forming MB. Fixed it in position, repro'd at 99 and turned it by 241 (135 degrees) each time.

__-o-o
__o---o
__o---o
___o-o

The technique could certainly be improved, just wanted to get the basic blue-print out. They have enough space inside to comfortably house 1 or 2 plants to start with, not sure how to get them inside though. Possibly form the MB when the veggie is first sighted.

Still working on getting them all to focus in one direction. They don't seem to be co-operating though.

You should be able to form differently shaped MBs by adjusting the angle 157 makes a triangle, 314 makes a square, and so on.
« Last Edit: September 19, 2005, 02:58:09 AM by Endy »

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
multibot theories
« Reply #5 on: September 19, 2005, 08:48:56 AM »
That is the way Hexagonis does it. Check out his code to see how to get them all facing outward.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Welwordion

  • Bot Destroyer
  • ***
  • Posts: 325
    • View Profile
multibot theories
« Reply #6 on: September 19, 2005, 08:50:44 AM »
hmm I wanted to give the veggie a movement command after tying to it however
that did not work strange.

cond
*.numties 1 =
start
.dn .tieloc store
5 .tieval store
1 .tienum store
stop

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
multibot theories
« Reply #7 on: September 19, 2005, 08:57:15 AM »
Should work just fine. I have done this loads of times. I would look for an error elsewhere like there being more than one tie or having the wrong tienum value.

Also try a much bigger move command like 20 to test it.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Welwordion

  • Bot Destroyer
  • ***
  • Posts: 325
    • View Profile
multibot theories
« Reply #8 on: September 19, 2005, 09:03:52 AM »
hmm the gene gets activated but does no movement.

here the full code I tried for testing "fortress" lifephase 1:

cond
*.numties 0 =
*.multi 0 =
*.eye4 *.eye5 > or
*.eye3 *.eye5 > or
*.eye2 *.eye5 > or
*.eye1 *.eye5 >
start
*.eye1 3 mult *.eye2 4 mult add *.eye3 5 mult add *.eye4 6 mult add 10 div
.aimsx store
stop

cond
*.numties 0 =
*.multi 0 =
*.eye6 *.eye5 > or
*.eye7 *.eye5 > or
*.eye8 *.eye5 > or
*.eye9 *.eye5 >
start
*.eye9 3 mult *.eye8 4 mult add *.eye7 5 mult add *.eye6 6 mult add 10 div
.aimdx store
stop

cond
*.vel 30 <
*.multi 0 =
*.numties 0 =
start
30 *.vel sub 2 div .up store
stop

cond
*.eye5 50 >
*.refeye 0 =
*.numties 0 =
*.multi 0 =
start
20 .tie store
stop

cond
*.multi 1 =
*.numties 0 =
start
.dn .tieloc store
20 .tieval store
20 .tienum store
stop

end


should have put that into my tryouts post ^^
« Last Edit: September 19, 2005, 09:06:28 AM by Welwordion »

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
multibot theories
« Reply #9 on: September 19, 2005, 09:11:31 AM »
did you check the veggie bot's memory locations to see if memloc(.dn) has a value?
Also make sure the veggie isn't blocked.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Welwordion

  • Bot Destroyer
  • ***
  • Posts: 325
    • View Profile
multibot theories
« Reply #10 on: September 19, 2005, 09:36:17 AM »
if you mean what printmem 2 gives out
2-->0 otherwise I do not know what you mean because I am a beginner ^-^

hmm what kind of veggies you use?
« Last Edit: September 19, 2005, 01:04:33 PM by Welwordion »

Offline Welwordion

  • Bot Destroyer
  • ***
  • Posts: 325
    • View Profile
multibot theories
« Reply #11 on: September 23, 2005, 11:10:54 AM »
What do yout think is better feeding strategy for the big ring multibot(fortress)?
Sharing or tiefeeding?
Sharing would be much easier to implemment than tiefeeding, but tiefeeding would be much safer.Any comments?

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
multibot theories
« Reply #12 on: September 23, 2005, 12:53:06 PM »
Quote
if you mean what printmem 2 gives out
Yes that is pretty much what I mean, although I wouldn't do it that way.

Just highlight the bot whose memloc(.dn) has been changed (or attepted to change) then open the console window.

type in "? .dn"

it will display the value currently held in memory location (memloc) 2

You don't need to type out printmem in full, or the numerical memory location.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
multibot theories
« Reply #13 on: September 23, 2005, 12:57:47 PM »
Quote
What do yout think is better feeding strategy for the big ring multibot(fortress)?
Sharing or tiefeeding?
Sharing would be much easier to implemment than tiefeeding, but tiefeeding would be much safer.Any comments?

The ultimate approach IMO, would be to make a ring around one or more tied veggies. Then you can sharefeed from the veggies while simultaneously pumping all waste products into them.

Assuming you have all robots facing outward then external feeding would be best done by shots.
Also add a really good leach gene that will reverse the flow through ties that are attached by predators. This wil be tricky as you will have to determine the tie phase of the attacker before you can leach it.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline Welwordion

  • Bot Destroyer
  • ***
  • Posts: 325
    • View Profile
multibot theories
« Reply #14 on: September 23, 2005, 05:58:14 PM »
Well the ring is what I wanted to do anyway. I only ask myself what happens when,
like in a multibot several sharefeeding bots with a 90% 10% ratio are linked would they not try to suck they energy from each other?
So you think tiefeeding is out of question?

Also shooting was exactly my choice for outwards feeding, as it has the greatest range and such the best defensive potential.

Shit making a ring is not that easy somehow the angle direction always gets alternated :/.And somehow I still not understand how this works in Hexagonis.
...ah I see you did not use fixang but aimsx
« Last Edit: September 24, 2005, 07:06:58 AM by Welwordion »