vinrek2

vinrek2

На Пикабу
поставил 548 плюсов и 738 минусов
отредактировал 0 постов
проголосовал за 0 редактирований
Награды:
5 лет на Пикабу
1322 рейтинг 3 подписчика 16 подписок 3 поста 0 в горячем

Симулятор бактерий

И еще немного покодив после незамеченных почти никем постов (да и исправив тучу косяков), слегка переделанное творение. @unrecovered призываю тебя тоже посмотреть.

Симулятор бактерий Эволюция, Программирование, Цифровые бактерии, Java

Для начала краткое описание параметров:

FPS - сколько раз в секунду будет перерисована картинка.

Шаг симуляции - пауза между итерациями.

Интенсивность света - сколько энергии каждый из источников света, убывает по мере удаления.

Шанс мутации - вероятность мутации в процентах.

Миролюбивость - разница в генах при которой считается, что клетки родственники.

Предел энергии - максимальное количество энергии которое может накопить клетка.

Зона размножения - зона в которой клетка может разделиться, но еще не умирает от переедания.

Расход энергии за действие - сколько энергии стоит каждое действие клетки (движение, обзор, поворот).

Сила атаки - сколько энергии отнимается при удачной атаке на клетку или теряется при неудачной.


Цвет выбирается в зависимости от количества мутаций разного рода.


Есть немного статистики и информация о клетке: ее поколение, количество мутаций (удлинение гена, сокращение и изменение) и собственно сам ген.


Действия которые может сделать клетка: расти, посмотреть, повернуться в одну сторону или другую, двинуться/атаковать и съесть трупик (если он там есть).


Пробовал разные варианты действий клетки и кучу вариантов расчета силы, в итоге пока остановился просто на сравнении уровня энергии. Может кто придумает зрелищней вариант

Так же, если кому интересно будет дать совет, то так и не придумал как действия клеток можно распараллелить, сейчас они ходят все по очереди. Да и вообще любые идеи интересно послушать.


Хотел бы добавить динамическое редактирование всех параметров, но для этого бы отполировать сам алгоритм. Минимум деталей, максимум неожиданностей.


Исходники здесь: https://github.com/xfjgkss/GeneCells

А это прямая ссылка на скомпиленый файл:

https://github.com/xfjgkss/GeneCells/raw/master/out/artifact...

(Там jar файл для запуска которого нужна установленная Java SE Runtime Environment)

Показать полностью 1

Цифровые клетки и их трудная жизнь

В продолжении поста http://pikabu.ru/story/opyat_tsifrovyie_bakterii_4896348


Исправлена куча ошибок и немного изменена расцветка.

Цифровые клетки и их трудная жизнь Программирование, Java, Эволюция, Гифка, Длиннопост

В зависимости от условий преимущество получают разные типы клеток

Цифровые клетки и их трудная жизнь Программирование, Java, Эволюция, Гифка, Длиннопост
Цифровые клетки и их трудная жизнь Программирование, Java, Эволюция, Гифка, Длиннопост

Параметры можно менять на ходу и теперь это уже работает нормально)


Ссылка http://rgho.st/8RCf9lfkW

Показать полностью 2

Опять цифровые бактерии

Вдохновившись постом http://pikabu.ru/story/i_snova_o_nelyogkoy_zhizni_tsifrovyik... попробовал самостоятельно сделать что-то подобное.


Главные отличия:

Нет параметра силы, у кого больше энергии тот и ест.

Изменение параметров на лету.

Количество действий клетки ограничено только геном и энергией.


Ну а теперь о параметрах.

Опять цифровые бактерии Программирование, Java, Эволюция

Шаг симуляции - тут думаю все понятно.

Интенсивность света - сколько энергии дает свет в центре. Убывает по мере удаления.

Шанс мутации - вероятность мутации в процентах.

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

Предел энергии - максимальное количество энергии которое может накопить клетка.

Зона размножения - зона в которой клетка может разделиться, но еще не умереть.

Расход энергии за действие - сколько энергии стоит каждое действие клетки (движение, обзор, поворот).

Калорийность трупа - сколько энергии получает клетка за трупы и поедание других клеток.


Со временем наступает равновесие

Опять цифровые бактерии Программирование, Java, Эволюция

Но стоит поменять какой нибудь параметр и хаос возвращается.


Ссылка http://rgho.st/6n6vS42rD

Показать полностью 2
Отличная работа, все прочитано!