
Show HN: Experimental Artifical Life system running in a browser - mikkom
https://www.youtube.com/watch?v=RwOkHt7Qmws
======
mikkom
Another short video:

[https://www.youtube.com/watch?v=y4bGyyaGBGA](https://www.youtube.com/watch?v=y4bGyyaGBGA)

------
mikkom
(Some specifics copied from Reddit r/alife post)

[https://www.reddit.com/r/alife/comments/ger9r4/show_ralife_s...](https://www.reddit.com/r/alife/comments/ger9r4/show_ralife_something_im_going_to_release_soon_to/)

\---

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.

