Fix unique clone issue
Opened this issue · 0 comments
В целях оптимизации, мы разделяем молекулы и организмы. Это влияет на то будет ли VM выполнять их код или нет. Сейчас только код организмов выполняется. Молекулы остаются "мертвыми". Единственное взаимодействие со средой осуществляется плагином Decay
. После клонирования сложно отличить организм от "отходов". По этому в коде в VM.run()
в строке, которая выполняет команду split
, есть специальный код: const clone = this._createOrg(offset, org, newCode, org.ret === IS_ORG_ID);
По сути, если организм перед клонирование содержит уникальное число в регистре ret
, то так мы понимаем, что это рождается организм, а не просто выделяются отходы. Потомок повторяет этот же прием со своими детьми и так далее. Тут есть две проблемы:
чуть выше по коду из того жеret
берется направление клонирования (и оно всегда может быть только одно для организмов)- существует только одна возможность создать организм и нет возможности эволюционировать новым подходам
Нужно придумать, как отличать организмы от молекул и при этом не ограничивать их рождение