Skip to content

Latest commit

 

History

History
72 lines (51 loc) · 5.28 KB

Readme(RUS) - ПРОЧТИ МЕНЯ.md

File metadata and controls

72 lines (51 loc) · 5.28 KB

CyberBiology

Искусственная эволюция

Это маленький развлекательный проект, симулятор эволюции ботов. Каждая маленькая клеточка на экране(бот) имеет свою нейросеть из 30ти нейронов. Бот совершает действия в зависимости от активации нейронов выходного слоя. Он может вырабатывать энергию фотосинтезом(просто стоя на месте выше уровня воды), атаковать других ботов, двигаться и делиться. При делении бот создает свою копию, отдавая ей часть энергии, но есть шанс что потомок слегка мутирует и его нейросеть изменится.

Что новенького?

  • Автоматическая адаптация! Просто нажмите "Adapt winds/divers" и компьютер сам сделает магию! Правда результат до сих пор зависит от выбранных вами параметров, для того, чтобы всё получилось нужно как минимум выставить ширину мира равную 2м экранам для ветров и >10 экранов для дайверов иначе им будет слишком тесно.

  • Сохранённых миров в этой версии нет, по причине слишком больших размеров файлов.

Скриншоты

Screenshot1 Screenshot2

Что нужно чтобы запустить программу

  • SDL
  • DearImGUI
  • ImPlot

Сборку можно выполнить используя файл CMakeLists.txt в Visual studio.

Интерфейс

Main window

Содержит информация о симуляции (номер шага, сид и т.д.)

Controls

  • Кнопка старт/стоп
  • награда за фотосинтез - сколько бот получает энергии за фотосинтез
  • skip - это сколько кадров просчитывать перед прорисовкой (прорисовывать можно не каждый кадр, так как прорисовка гораздо дольше делается)
  • brush - размер кисти для стирания ластиком

Selection

Информация о выбраном боте, кнопки разные чтобы посмотреть его мозг и т.д.

Display

Метод прорисовки

  • Естествевнный цвет (просто цвет бота)
  • Режим отрисовки хищников (хищные красные, травоядные зеленые, поедатели органики или яблок синие и те кто пока не ел серые)
  • Режим демонстрации энергии (желтый мало энергии, красный - много)
  • Без отрисовки - в этом режиме симуляция идет очень быстро, смотрите по окошку Main window

Mouse function

Выбор функции мыши

Aditional

Другие окошки. Нажимаете на кнопку окошко появляется, снова нажимаете - исчезает.

Клавиатура

Использовать клавиатуру для управления лучше, потому что при симуляции, особенно в несколько потоков, интерфейс лагает

  • Пробел - Старт/Пауза
  • Знак плюс рядом с нам падом (справа) - сделать один шаг симуляции
  • Кнопка F1 - Создать группу случайных существ
  • Кнопка F2 - Создать вертикальную стену в начале координат
  • Нампад от 1 до 4 - Выбор режима отрисовки
  • "Home" - Установить камеру на X = 0
  • Arrow keys (left, right) - Двигать камеру
  • "Page Up", "Page Down" - Двигать камеру быстро
  • "End" - Найти первого бота на поле

Как использовать файл Settings

Сначала необходимо настроить ваше разрешение экрана, иначе вы не увидите интерфейс. Далее установите область отрисовки при помощи "FieldRenderCellsWidth" и "FieldCellsHeight", чтобы они соответствовали вашему экрану. Мир сам по себе может быть шире, чем ваша область отрисовки, но его ширина должна делиться на 16 без остатка, это нужно для многопоточной работы. Другие настраиваемые параметры также в этом файле, кроме тех, которые в окошке Адаптация.