Tierra(日本語の解説)を知って、衝動的に作ってみたものです。
Tierraを参考にしましたが、互換ではありません。現時点では有用な結果が得られない「劣化コピー」です。
Brainfuckを参考にレジスタを増やしたものです。
0x0 | halt | 停止 |
自分のコピーを繰り返します。
外の環境は0(halt)で埋まっています。個体の外に出たり、不正な処理を行うと即座にhaltがかかります。無限ループ対策として、一定時間内にコピーを完了しないとhaltします。この仕組みは有用な変異以外を排除する目的で導入しましたが、命令セットや雛形が変異に弱く、少しの変異ですぐに絶滅してしまいます。
すでにデータある場所にコピーした場合、境界がゼロでないためコピー結果が予期できないものになります。これによって細胞融合を表現できないかと思ってわざとこのような仕様にしたのですが、期待したような有用な方向には作用しませんでした。