Author Topic: hi and O_o uff  (Read 7652 times)

Offline Welwordion

  • Bot Destroyer
  • ***
  • Posts: 325
    • View Profile
hi and O_o uff
« on: September 15, 2005, 07:30:31 PM »
Well I am new found my way trough some links about artificial life and hell of confused  :huh: .
(I already experienced the same thing when finding an a-life game called E-den.)

There is so much to learn and its so difficult  to find the right informations.
For example the meaning of > in the syntax and which numbers already have functions and which not.

Ah but I will not lose hope and try to learn the stuff  :D

some resume on my design thoughts:
First I thought about the design of a circle surrounding the algae, however I found that this design was already discussed.

My second thought is to orient the devolpment of multiple cell organisms according to the immune system.
Protection against outer influences is always a main drive for forming collective structures and a large amout of our bodies resources are used for this purpose,
Not to mention that the immune system is one of the highest  developed sytems in nature(if I remember right the immune and nervous system are somewhat related
in their origin)
As the main outer influences in this simulation  are other organism this strategy seems most appropriate for me.
*detailed information after point three

My third idea is  implementing a network of multiply cells with everchanging connecting and the ability to ordered cell death.This concept basically stems from the fact that cell death plays a big role in the forming of our body structures.
With the right basic instructions this could lead to complex structures.
(for example creating inside the body  where algae could grow)
In the best case this could even to the forming of simple information processing networks.


*immune system thoughts: repair and backup system can be provided by multiple cells, if cells regulary compare certain values that would normally not be changed
and overwrite the value with the most common in his neighbors virus infection can be healed.
One of the most important abilities of the immune system is to identify foreign objetcs and learn according reactions (specific antibodys etc) as you can only fight if you see your enemy,thus certain cells could be used as information storage(memory) and specialize in the idenfication of dangers , such the cell could also learn the success of certain behaviour associated with certain objects.
(the concepts of association is one of the moszt powerful mechansim of information progressing).
A skin is a defensive mechism of the immune system and consist of highly defensive outer cells the question stays however what use inner cells could have?
The most promising scenario for inner cells would be integrated algae or an inner digestion system which however would require a "mouth".
Another scenario is that of inner reproduction which leads to a "hatching".
An immune system could rely on the creation of a certain "pass" or best multiple passes as long the pass does not mutate  identification is possible and a biodiversity of passes combined with other tests would guarentee populations that are immune to certain diseases/infiltrators.

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
hi and O_o uff
« Reply #1 on: September 15, 2005, 08:10:25 PM »
Welcome to DBs!
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
hi and O_o uff
« Reply #2 on: September 15, 2005, 08:12:35 PM »
Have you looked at PY's tutorial yet?  It's very good at getting you familiar and comfortable with the syntax.

Some interesting ideas.  I think cell death is an interesting one because it's been suggested before.  But how do you stop it from being used as a weapon?  (As in: once cell causing another to die instantly without the first cell's permision)  Should you?  I'm not sure if there's a right answer or not.

Multibots are really the future of DB, I just know it.  We have to figure out how to make the controls for forming structures elegant enough that people, let alone evolution, can figure it out.

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
hi and O_o uff
« Reply #3 on: September 15, 2005, 11:37:09 PM »
Regulated cell death (apoptosis) is tightly regulated.  No cell dies just because some other cells wanted it to.  In a way, it is a sacrifice for the common good that cells go through on their own will :)
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
hi and O_o uff
« Reply #4 on: September 15, 2005, 11:42:12 PM »
Should such a command, if it were added, be instantaneous, or should it maybe slowly wither the bot...

You can currently just shoot out all your energy in a -2 shot.  Although there might be some limit on how much energy can be shot out, I don't remember.

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
hi and O_o uff
« Reply #5 on: September 16, 2005, 12:38:12 AM »
No need for a special command - there is already more than one way to [skin a rabbit] kill a bot...
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
hi and O_o uff
« Reply #6 on: September 16, 2005, 12:59:13 AM »
Welcome to Darwinbots!

Great ideas.

Darwinbots is in my opinion one of the easier Alife programs to understand and master, so don't get discouraged. Basically users or evolution makes the original bot's dna and then the program runs it. They can hunt either plants, each other, or corpses for energy and body.

There are two types of Simulations that can be run Evolution sims and Combat sims. In straight combat it's a bot versus bot contest in an effort to prove coding superiority, with shots flying and ties firing. In EvoSims the bots adapt to global and local conditions and to each other, with surprising results.

The dna is one of DB's strongest areas, since the program acts as a virtual machine/universe running user or evolved code/dna. Not much more than grade school math is required for programming it. Greater/Less than (>,<); equals/not-equal (=,!=) are all nice and easy to use. The reverse polish(see tutorial/wiki) can be complex since it reverses the normal direction somewhat; but even this helps vastly increase genome complexity without making it impossible to understand with masses of paranthesis.

Foriegn dna detection:
Currently bots can't 100% reliably recognize foriegn gene insertion except in others(possible use for cell death?). Our viruses are more accuratly retro-viruses that splice themselves into the dna and then are extremly hard to remove, strangly just like real retro-viruses(imagine trying to delete a  specific gene without being sure that your own info is correct). (Shvarz: how does the body limit genome growth caused by these? Since we all have these in ourselves, it makes me just a little bit curious)

It might be an idea to make cell death difficult by requiring a two different storage commands. Two values would be required to be stored simultaneously in both locations. Ie:

23 .die store
467 .celldie store

This would still allow it's use as a weapon, under the very restricted condition that an enemy bot is tied to and firing info shots at the opponent. At the same time it would be relativly easy to code for the bot to choose to die upon receiving a specific info-shot from a family member.

Problems with having a skin:

The bots feed by firing shots or ties into the plants/bots. Imagine if you could eat anything through your skin with the same efficency, now ask why you would need a stomach at all?. :D  Possibly with the addition of enzymes in the next version, a specific stomach bot producing highly efficent digestion enzymes, would make sense.(hmm...not a bad idea at all :) )
« Last Edit: September 16, 2005, 01:00:10 AM by Endy »

Offline Welwordion

  • Bot Destroyer
  • ***
  • Posts: 325
    • View Profile
hi and O_o uff
« Reply #7 on: September 16, 2005, 07:04:51 AM »
I thought about the details a little bit tonight and I think I would try out the following
behaviour.
first life phase: a single cell wanders around as a spore in search of veggies

second life phase: After finding an veggie and tying to it its starts to grow a linked
cell structure (cell try to link as mcuh on their own type)either tyring to surround the veggie or to loose it from its neigbor cells by digesting the surrounding cells.

third life phase: the multicell structure is growing slowly according to its energy
the cells check how much neigbours(ties) it has and gets the same information from its own neigbours if his 4 neigbours has 13-16 ties it can safely assume its an inner cell and will kill itself by giving all energy to one of his neigbour cells.
The  number of ties required for this selfkilling will be reduced if the cell is linked to an algae, such inner spaces will be created for the algae to grow in while the other cells form an outer hull.

fourth life phase: the basic survivial strategy now will be a defensive predator:
Either I am not attacked than I can slowy grow with energy of the algae and produce spores once and then or I am attacked, then I use my strong defensive mechanisms most of my capacity are used for to kill the attacker and feed on him
some excess energy I either use to produce spores or to feed the algae to store my energy in a way that increases my "generator" output.
this way multicells could even slowly monopolize algaes.

defensive mechanism can be: the production of poison, the sending of certain viruses,preemptive leeching or feeding strikes,the production of bomb cells that solve their ties and then use al their remaining energy to kill the enemy,(moving away<--seldomly),extermination of viruses by realizing you are tied to an enemy
and using backup values from your "healthy" neigbours
and probably some more I not yet thought of.

ps:bye the way the new  default setting file does somehow not work for me ^^
« Last Edit: September 16, 2005, 08:42:57 AM by Welwordion »

Offline PurpleYouko

  • Bot God
  • *****
  • Posts: 2556
    • View Profile
hi and O_o uff
« Reply #8 on: September 16, 2005, 09:41:41 AM »
Hi Welwordion and welcom e to darwinBots.

You have some great ideas there.
Unfortunately they may not be so easy to program. The complexity of the DNA appears to rise exponentially as we add more cells to an MB.

Good luck trying though.

To get familiar with the language go to the links part of the forum and go to the FTP site at DarwinBots.com. There is at least one tutorial there that I wrote about a year ago. It describes some of the pitfalls of making MBs but doesn't go into too much depth to make it impossible to follow.

Multi-Bots are really the ultimate in DB programming. We are working to get a simpler and more elegent way to implement inter-cell comunication as this is the most difficult aspect to program right now.
There are 10 kinds of people in the world
Those who understand binary.
and those who don't

:D PY :D

Offline shvarz

  • Bot God
  • *****
  • Posts: 1341
    • View Profile
hi and O_o uff
« Reply #9 on: September 16, 2005, 11:11:53 AM »
Endy: There is no way to limit the growth of genome caused by retroviral insertions. That is why 35-40% of all DNA in human genome is exactly that - pieces of retroviruses that inserted there some time ago.  Vast majority of them are no longer active (have some kind of mutation that inactivated them).  Some people beleive that these had a profound effect on human evolution.  Look up retroelements for more information.
"Never underestimate the power of stupid things in big numbers" - Serious Sam

Offline Welwordion

  • Bot Destroyer
  • ***
  • Posts: 325
    • View Profile
hi and O_o uff
« Reply #10 on: September 16, 2005, 03:34:53 PM »
yeah will be kind of hard.
Also I think I misunderstood the nature of virus I thought they only implemented
information bits but if they create real genes thats pretty hard to defend against if there is no way to check Dna ^^
I really need DB Anatomy lessons    :help:
« Last Edit: September 16, 2005, 03:41:25 PM by Welwordion »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
hi and O_o uff
« Reply #11 on: September 16, 2005, 03:40:52 PM »
To program complex multibots with multistage life development, you'll probably ned a nested Finite State Machine architecture or you'll go insane.

Something like:

If egg:
egg code:
elseIf larvae:
..If am I head? then: egg code:
..Elseif am I tail? then: tail code:

etc.

Like that.  Which is really difficult to program in just the DB language without some new coding conventions.  Brings back up the point of nested genes.  Makes programming alot easier.

Offline Welwordion

  • Bot Destroyer
  • ***
  • Posts: 325
    • View Profile
hi and O_o uff
« Reply #12 on: September 16, 2005, 05:00:01 PM »
hmm excuse me but I have to give some critic there is no clear description of the metabolism, anatomy etc
For example what does slime and shell do? waste how it is produced does it really
fertilize algae grow?Or was that not realized?What dorobots leave behind when they die?
etc etc

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
hi and O_o uff
« Reply #13 on: September 16, 2005, 05:21:14 PM »
Yes, we've grown faster than the manual, unfortunately.  Have you looked into the wiki manual yet?  The one on the older site probably has something on that stuff.

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
hi and O_o uff
« Reply #14 on: September 16, 2005, 05:42:48 PM »
Metabolism currently works using body and nrg. -1 or nrg shots give the bot mainly nrg and to a much lesser extent body.-6 or body shots give the bot primarilly body, requiring conversion (.fdbody) into useful nrg. Ties can be used similarily to feed using .sharenrg and/or (-1 .tieloc store). This gives the bots only nrg, typically requiring some form of conversion into body. (.strbody)

Waste is produced based on the amount of nrg a bot takes in. Plants can receive this waste and convert it back to nrg via (.sharewaste inc) or -4 .tieloc store. When bots die they either are simply gone or depending on settings remain as nrg-less corpses, for bots to feed from.

Slime helps prevent tie feeding attacks, but washes off over time and depletes when it is attacked. Shell is similar but doesn't wash off and is used to block shots.

Please take a look at either the help portion ingame or the various tutorials/wiki's about this stuff. I seriously don't like re-writing the same info over again.

You can check the dna of yourself and others to some extent, and delete unwanted genes with *.thisgene, *.genes, and *.dnalen; but the specific viral cell can not be dected with this method. I rigged up essentially a gene length checker some time ago, ironically for better producing viruses. It might be an idea to modify it for dna integrity checking or add a specific *.genelen to the sysvars.

Shvarz: So the only thing keeping real dna from growing too much is cost involved and chance mutations? It's kind of surprising the geneome isn't bigger considering even a small rate of one retrovirus addition per generation. Are real cells better able to defend themselves or r-viruses having more difficulty replicating? The bots seem swamped by even a small virus.

 I'd taken a look at retro-elements and was actually thinking additional forms might be interesting to add somehow to DB. Kind of wanted a more natural addition though, not sure what would be the equivalents.

Speaking of Wiki's whatever happened to the link the our wiki on the homepage? Might be an idea to post a direct link on the forum also.
www.darwinbots.com/WikiManual
« Last Edit: September 16, 2005, 06:01:32 PM by Endy »