Skip to content

Fix unique clone issue #57

@tmptrash

Description

@tmptrash

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

  • чуть выше по коду из того же ret берется направление клонирования (и оно всегда может быть только одно для организмов)
  • существует только одна возможность создать организм и нет возможности эволюционировать новым подходам

Нужно придумать, как отличать организмы от молекул и при этом не ограничивать их рождение

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions