Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Многоклеточная искусственная жизнь на java

Мир симуляции

Мир симуляции представляет из себя замкнутую плоскость 320x320 клеток. В мире есть смена дня и ночи (меняется освещенность планеты), в процессе жизнедеятельности организмов (а именно их смерти от старости) в поче накапливается энергия и органика (де-факто они работают абсолютно одинаково), а также различные природные зоны:

  1. Равнина. Самая обычная природная зона, сбалансировано получение энергии всеми путями.
  2. Холмы. Фотосинтез приносит больше энерги, чем на равнине, а получение энергии из веществ почвы - меньше.
  3. Низина. Полная противоположность холмов.
  4. Скалы и пропасти - просто препятствия на пути организмов, которые могут преодолеть только семена.

Споры, перелетающие между природными зонами теряют часть lifetime, рост из одной природной зоны в другую также затруднен.

Работа организмов

Все (почти) организмы, которые появляются и эволюционируют в этом мире - многоклеточные, клетки одного организма имеют связь между собой и передают друг другу энергию, от которой зависит их жизнь, у каждой клетки есть свой генокод из 10 генов, который и кодирует ее поведение, передается всем ее потомкам и имеет небольшой шанс мутации при передаче.

Структура гена

  1. Тип созданной клетки, есть следующие типы клеток: 0. Корень. Получает энергию из органики в почве. Единственный тип клеток, который не может съесть стрекательная клетка.
    1. Антенна. Получает энергию из энергии в почве.
    2. Лист. Получает энергию от фотосинтеза (зависит от освещенности).
    3. Спора. Не тратит и не получает энергию, просто летает по миру, пока не приземлится и не создаст новый организм. А еще она может наносить небольшой урон клеткам, в которые врезается, но при этом она наносит его и себе.
    4. Стрекательная клетка. Ест все клетки, соседние с ней по углам и сторонам, если они проросли из разных спор.
  2. Ген который будет активным у созданной клетки (кроме спор, у них всегда нулевой активный ген).
  3. Ген, активирующийся после этого гена.
  4. Направление роста.
  5. Максимальная продолжительность жизни созданной клетки.
  6. Условие роста клетки (у спор всегда равен iii).
    1. Всегда
    2. Когда энергия клетки больше 10
    3. Когда клетка старая и вот-вот умрет

Интерфейс и горячие клавиши:

  • Стрелки вверх-вниз - приближение и удаление камеры от мира.
  • WASD - движение камеры.
  • ЛКМ - выбрать генокод клетки.
  • ПКМ - создать спору клетки с выбранным генокодом.
  • Enter - сохранить генокод в файл.
  • O - загрузить генокод из файла

Таким образом инструменты позволяют не только наблюдать за миром симуляции, но и заниматься селекцией, а если вы научитесь редактировать файл с генокодом (это очень легко, там просто 10 строк с генами, записанными в виде 6 чисел через пробел), то и генной инженерией.

About

Многоклеточная жизнь на java

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages