tmptrash / irma

Digital organisms ecology system experiment
MIT License
15 stars 5 forks source link

Fix unique clone issue #57

Open tmptrash opened 5 years ago

tmptrash commented 5 years ago

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

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