2 comments

[ 3.1 ms ] story [ 14.9 ms ] thread
(Some specifics copied from Reddit r/alife post)

https://www.reddit.com/r/alife/comments/ger9r4/show_ralife_s...

---

As you can see this is running on the browser - the possibilities of this are limitless..

What I have planned is to have a connected universe of these running on peoples browsers with possibility for the creatures to traverse between the environments (can of course be turned off)

Any questions are welcome.

I'll probably write a blog post about this in some near future when I release this.

About my background: I'm a long-term alife enthusiast that has done lots and lots of things because some 25 years ago I got inspiration from Tierra to do some experiments of my own. This lead to trading on financial markets with genetic algorithms etc but that's totally another topic..

ALSO: I need a better name for this. Any comments? I'm planning to set up a server to connect the world on different computers. I think I'll set up a possibility to open portals between worlds or something similar - I don't have the details though in detail yet.

The colored pixels/boxes are the "creatures" which are basically virtual CPUs that run code in a custom assembler-like programming language. I just did an improvement so now the code is a tree-like structure.

The green dots are "food" that the creatures can and must eat to survive. The food is distributed in patterns that vary over time to make the landscape "interesting" and to facilitate improvement in the creatures.

Each food gives X amount of energy, when the energy runs out or the creature gets too old (currently at 2000 command executions) it dies.

Yes the code evolves with mutations, there are various mutations that modify the structure.

Here is an example of a program from a live session:

    if r0 > r1
      if r0 < r2
        set_reg r6 = 86
        copy_reg r2 = r1
        subtract_reg ro -= r5
        inc_reg r0 += r5
      push_stack 2
      if r0 > r8
        if r0 > r7
          set_signal 1 r1
          wait
          get_creautre_reg r0 => r0
          attack
        push_stack 4
        copy_reg r3 = r0
        if r0 > r4
          get_energy r0
        get_creautre_reg r5 => r0
        attack
      wait
    multiply
    get_signal 0 r0
    turn_left
    get_signal 0 r0
    eat
I do have plans to publish the details of the (experimental) programming language and maybe let the users to create programs. I think that would be very interesting.