Цифровые бактерии - миниапдейт(много текста)

Начало: http://pikabu.ru/story/i_snova_o_nelyogkoy_zhizni_tsifrovyik...


Дратути. Я смотрю, тема зашла :D Было дофига предложений, испытания на разных процах, фанфик от лица бактерии и даже онлайн-стрим! Если честно, я в ахуе xD Сделал тэг "цифровые бактерии" для хейтеров/лаверов, буду теперь постить эту фигню под ним.


Итак, краткие итоги:

Дофига народу просило исходники, так что ВОТ ОНИ: https://github.com/unrecovered/bacs

Залил сразу все, ковырять советую из папки 1.12 release, потому что в src сейчас песец и ахтунг. Также жду советов по управлению проектами на гитхабе, никогда этого не делал и слабо представляю чокак. Я бы конечно сам об этом почитал и разобралсо, но мой моцк ещё не отошел от вчерашних эротических рассказов про OpenCL.


Кстати о нём. Переход на OpenCL будет, но хз когда, потому что тема сложная, с наскока не взялась. Только начинаю понимать что к чему. Так что владельцы топовых видюх терпите пока, ещё покажете свою могучую письку :)


Про многопоточность. Треды в данный момент работают плохо, поскольку забивают весь доступный проц и мешают системе, рантайм-среде и основному процессу делать свою работу. Пока что оптимальная производительность(судя по многочисленным тестам) достигается при количестве тредов меньше либо равном половине ядер процессора. Будут переделаны, я уже примерно представляю как. Также, если есть специалисты по яве, отпишитесь, будет ли иметь смысл замена клонирования объекта на перезапись его свойств? По идее, количество объектов при этом станет постоянным, и нагрузка на сборщик мусора упадёт в разы.


Про предложения:

- Сделай динамическое освещение!

Будет


- А сделай броню, уклонение, криты, резайленс, удачу, шанс дропа

Господа, я честно скажу: это ВАЩЕ не тот вектор развития, который я вижу =) Базовых статов не должно быть много, и они не могут быть ни плохими, ни хорошими.


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


- А сделай вирус-убийцу, извержение вулкана, метание молний с неба, вампирш-лесбиянок...

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


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

Топ-каммент, так что я задумаюсь над этим. Но скорее всего, не раньше ввода OpenCL, потому что это потребует ЗНАЧИТЕЛЬНОГО увеличения масштаба. Ну и, минимальное влияние внешних условий, как я писал выше.


- Сделай многоклеточных.

Думаю над этим, но это несколько усложняет механику.


- Сделай изменение цвета не таким резким, чем сильнее мутировал, тем сильнее меняется цвет.

Насчёт этого... сделал, и сразу вспомнил, почему я ввёл рандомную генерацию:

Цифровые бактерии - миниапдейт(много текста) Программирование, Java, Эволюция, Цифровые бактерии, Гифка, Длиннопост

Не знаю, как ваши глаза, а мои натурально вытекают Х_Х. Пока не знаю, что с этим делать


- Сделай возможность создавать гифки.

Учитывая количество всякой фигни, которая планируется, гифки я буду вводить пару лет :D Есть внешние инструменты, я вот пользуюсь LICECup(гифка выше сделана как раз в нём, плюс ресайзена гимпом)


- Сделай поддержку CLI(консоли)

Стандартный терминал имеет разрешение 80х24 символа, как вы себе это представляете? :D


О текущем прогрессе:

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


Однако теперь атаковать можно и родственников тоже(раньше действие атаки возвращало неудачу при применении на родственника). Уже есть очень весёлые результаты =)


Также будет изменение количества доступных команд при мутации.


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


Алсо, если есть желающие помочь:

- запилите ГУЙ! :D Обязательно кнопки старт/пауза/сохранить/загрузить, поля для статов бактерии и тыпы. Если не ломает - можете и функционал прикрутить. Всё в отдельный класс и отдельный файл (:

- запилите трансляцию логов в читаемый формат(из цифр в названия команд), можно вообще в xls

- ваще изи, сделайте нормальный разворот во весь экран! :D


я это всё могу и сам, но меня ломает (:

5
Автор поста оценил этот комментарий

1200x1200 на двух потоках i7-4710hq. пожелайте мне терпения

Иллюстрация к комментарию
раскрыть ветку
4
Автор поста оценил этот комментарий

странно, кто-то говорил о том, что в итоге все становятся пацифистами, но вот у меня ситуация иная. бактерии хоть и имеют разный цвет, но устойчиво разделились на 2 группы:
1-те, кто ползает по прямой и жрёт трупы/иные клетки
2-те, кто быстро-быстро множится, и также быстро погибает.
итог-устойчивый хаос)

Иллюстрация к комментарию
3
Автор поста оценил этот комментарий

https://www.youtube.com/watch?v=KU5JCnm7yls
Прямая трансляция, 280 тысячная итерация

раскрыть ветку
4
Автор поста оценил этот комментарий

Ты офигенен! Я хочу от тебя новых версий!

К сожалению сам ничем помоч не могу ибо ваще не прогер(

1
Автор поста оценил этот комментарий

На миллионной итерации была ещо более менее война. а вот на 1340000 сине-зелёные победили. Оставлю до конца, вдруг ситуация изменится.

Иллюстрация к комментарию
раскрыть ветку