Симуляция, которая использовалась в последнем видео про неудачные запуски,
На самом деле я немного поиграл с параметрами и теперь вероятность исчезновения жизни сильно меньше.
Для проекта используется среда Processing Симуляция запускается в полноэкранном режиме.
Запускал на отдельном рабочем столе (клавиша Win).
Закрытие программы клавишей Esc
Симуляции я запускал на Windows с монитором имеющим разрешение 1920 х 1080. Под другие разрешения не пробовал.
Есть возможность убрать полноэкранный режим и запускать в окне,
Для этого нужно внести небольшие правки в файл CLAN2.pde, закомментив одну из строк.
Я почистил код, убрал всё лишнее, что появилось после многочисленных экспериментов. Но это не финальная версия. Есть ещё несколько фич, которые хочу добавить.
Разберём кнопки нижней панели управления
>> 1
steps - количество пройденных шагов
cells - количество живых клеток на данный момент
mutations - всего было мутаций
genomes - количество разных геномов (даже если различие в один байт)
Сейчас геномы хранятся отдельно для экономии памяти и у каждой клетки есть ссылка на используемый ей геном
>> 2 ZOOM
Четыре варианта зума,
1. Клетка имеет размер 20х20 пиксель и отображается в виде стилизованной картинки.
Кликая мышкой по клетке а этом режиме, будет возникать панель и информацией о клетке и возможностью редактирования.
Перемещаться в этом режиме можно только с помощью клавиатуры ( UP, DOWN, LEFT, RIGHT)
2. Клетка имеет размер 2х2 пиксель. Кликая мышкой по экрану, место клика перемещается в центр экрана.
3. Клетка имеет размер 1х1 пиксель. Кликая мышкой по экрану, место клика перемещается в центр экрана.
4. Виден весь мир (для монитора 1920х1080). Мир имеет размер 3840 на 2160. Перемещаться по миру при этом зуме нельзя.
Можно для переключения использовать клавиатуру (Q, W, E, R)
>> 3 SPEED
Как часто перерисовывать экран, От этого сильно зависит скорость симуляции.
fast - отображать только каждый 5 или 100 кадр, Для выбора значения нужно кликнуть на числе над кнопкой.
norm - отображать каждый кадр
pause - пауза. Если кликнуть по этой кнопке во время паузы, то симуляция сделает один шаг.
Можно для переключения использовать клавиатуру (Z, X, space)
>> 4 VIEW
Режимы отображения.
stand - стандартный режим
clan - режим кланов. Устаревший режим, который уберу в следующей версии, Мир делится на 8 квадратов и каждой клетке присваивается один из 8 цветов, что олицетворяет клан,
Сейчас деление на кланы производиться по родственному принципу и технически в самом начале есть 20736 кланов ))
organ - карта распределения органики в почве, Чем темнее, тем больше. При превышение заданного количества - красный цвет.
eng - карта распределения энергии в почве, Чем темнее, тем больше. При превышение заданного количества - синий цвет.
Можно для переключения использовать клавиатуру (A, S, D, F)
trans - режим, где цвет клетки зависит от количества энергии в ней, Можно наблюдать движение энергии внутри организма.
arrow - режим, где стрелками показано направление передачи энергии. Работает только при ближнем зуме.
gene - можно посмотреть клетки с таким же геномом, как и у указанной (подробности в пункте 6)
adam - можно посмотреть клетки, имеющие общего предка. (подробности в пункте 6)
>> 5 CHART
Графики разных данных за последние 39000 шагов симуляции
clan - количество живых клеток у разных кланов (устаревшее)
res - ресурсы. Количество органики (оранжевый) и энергии (серо-синий) в почве, также площадь отравленных зон от органики (красный) и энергии (синий)
type - количество разных видов клеток. Количество древесины (транспортных клеток) уменьшено в два раза
ener - вроде количество органики + энергии в почве и количество зелёных клеток
>> 6 COLOR
Выбор цвета для gene и adam.
Для этого нужно мышкой выбрать один из вариантов цвета, затем перейти в режим gene или adam, перейти в ближний зум и кликнуть по одной из клеток,
Эта клетка, а также все клетки имеющие такой же геном или имеющие общего предка (зависит от режима) перекрасятся в этот цвет,
Окраска цветом всех клеток с таким же геномом может работать некорректно, В этом режиме выбирайте отростки
>> 7
координаты клика и индекс выбранной клетки,
Памятка, что панель можно показать/спрятать с помощью клавиши TAB
>> 8
открывает/закрывает панель сохранения скриншотов (9).
Если окрашена в красный цвет, значит какое то из сохранений включено.
>> 9
Эту панель можно показать/спрятать с помощью кнопки (8)
Здесь можно выбрать в каком режиме сохранять скриншоты и с какой частотой,
С левой стороны выбор для скриншотов при близком зуме. Сохраняется картинка с фрагментом мира по текущим координатам в ближнем зуме, Размер картинки 1920 на 1080 пиксель.
С правой стороны выбор для скриншотов всего мира. Размер картинки 3840 на 2160 пиксель. Каждая клетка имеет размер в 1 пиксель.
Кликая по ячейке, можно выбрать сохранение каждого 1, 5, 10, 50, 100, 500 кадра. Выбранная клетка окрашивается в розовый. Повторный клик убирает выделение. Можно выбрать сразу несколько режимов. Сохранение происходит в папку проекта в папке img. Скриншоты для каждого режима сохраняется в отдельных папках. Имена файлов соответствуют номеру шага симуляции.
Я в ролике в основном использовал сохранение каждого 50 кадра всего мира в стандартном режиме (на картинке пометил галочкой)
Скриншоты очень быстро накапливаются, убедитесь что места на диске достаточно.
В планах;
- убрать старый режим кланов
- добавить режим отображения возраста клетки с помощью цвета (не знаю зачем, но может будет красиво выглядеть)
- сделать сохранение разных данных из симуляции в csv-файл для дальнейшего анализа (частично сделано)
- пройтись по условиям и командам генома, возможно что то уберу, что то новое добавлю.
В отличие от симуляции в ролике, я немного увеличил получение энергии зелёной клеткой. Также на создание новой клетки тратилось 20 единиц энергии, из них, после смерти клетки в почве оставалось 10 единиц органики, Поднял количество органики до 15 единиц.
На скриншоте старые значения показал на жёлтом фоне.
Произвёл тонкую настройку констант вселенной, жить стало веселее.
Какое название придумать для этого проекта?
Ничего в голову не приходит.
"Борьба кланов" не совсем соответствует сути (