Ребята, спасибо за отзывы. Понял что есть проблемы с масштабируемостью. Постараюсь починить в ближайшее время. Вижу что есть много дополнительных пожеланий. Попробую реализовать.
Клетки - пограничники. Очень интересно. Заставляет задуматься. Да и вообще вся эта тема меня, как программиста, на кучу интересных мыслей наталкивает. Автор, спасибо!
@@djf93jh44dki7hk да. Обычно пишут вроде 2012 - нет, 13 - нет, 14 - нет, 15 - нет, 16 - нет, 17 - нет, 18 - нет, 19 - нет, 2020 - пора всем рекомендовать это видео!
Интересно, но над выбором иконок для клеток и еды нужно еще подумать. Если бы отличались по размеру то легче было бы их различать. и фон светлый думаю был бы лучше. За идею лайк
нужно добавть некие аттракторы-генераторы растительных или мясных кормов. Рандомное появление корма не дает закреплятся сложным алгоритмам поведения. А если будет аттрактор - клетке будет выгодно кормиться возле него и не уплывать далеко, где корма нету. Хищники тоже соответственно должны тусоваться там, где больше травоядных. !Ну и разумеется ВОЗМОЖНОСТЬ ЗАДАВАТЬ РАЗМЕРЫ ПОЛЯ
мне тоже так захотелось сделать и я....... Сделал. Криво, только с одним ботом, но сделал. На не предназначенном для этого движке construct 3. Правила: у бота есть таблица в 4 клетки с генномом. В каждой клетке может быть число от 0 до 4. Если число равно 0 то бот пропускает ход, если 1 то фотосинтезирует, если 2-3 то бот поднимается на верх или опускается вниз, если 4 то бот преобразует минералы в энергию. Мир состоит из 3 секторов и поделён на 5 клеток и является одномерным. 1 сектор(стартовый): в ход бот получает 1 минерал и если он фотосинтезирует то получает ничего, на 2 секторе который расположен выше, больше света и если бот фотосинтезирует то получает 1 еденицу энергии, 3 сектор это сектор 2 только с минералами и расположен он ниже 1 сектора, фотосинтез в этом месте отнимает 1 еденицу энергии, 1 сектор длинной в 1 клетку, 2 и 3 длинной в 2. Если энергия будет равна 1 то бот умирает и запускается клон последнего бота, который прожил 30 ходов(эта функция очень криво работает, часто даёт ошибки), таким образом и получается естественный отбор, а не перебор вариантов геннома. Минералы сразу же все преобразовываются в энергию, так что ботам лучше быть минералоедеми, чем фотосинтезатарами, из-за того что если 1 ячейка заменится цифрой 0 или 1 то это не приведёт к истощению. Из-за малого количества ячеек любая мутация может стать фатальной(пример: генном: 2111, происходит мутация и теперь генном равен 3111, он идёт вниз и умирает). Я планирую добавить ещё команду 5, для того что бы поведение ботов как либо отличалось в различной среде, вот её описание: если сзади и спереди бота нет стены, то ничего не происходит и код выполняется без изменений, если есть стена, то бот пропускает одну команду, но в данный момент у меня нет компьютера, а на телефоне он не работает нормально.
Был у меня когда-то клеточный симулятор собственного производства. Зелень, овцы, тигры и охотники. У каждого свое поведение. Хищник видел на 8 клеток кругом и атаковал если есть что атаковать или подыхал, если нечего есть. Овцы жили двойным циклом. Если зелени много - овцы плодятся, за ними тигры плодятся и от какого из факторов овец становилось меньше. Долго промучился пока подобрал все параметры чтобы эту экосистему сделать вечной. Но таки получилось
Это поразительно! На поиск подобных видео меня мотивировала именно книга Эгоистичный ген!!! Видимо Докинз хороший автор, раз побуждает разных людей к одним и тем же изысканиям!!!
Сделай переменное действие генов, для каждой ситуации 2 гена, вначале первый ген срабатывает, потом второй, повтор. Это разнообразит поведение клеток и динамику симуляции
Если я правильно понял, то ты говоришь про количество генов. Этот параметр уже можно задать при создании мира, просто автор показывал пример на одном гене
Привет классная штука , если ещё можно добавить то хотелось бы иметь мутацию генов с их добавлением и ввести неорганику и свет чтоб можно было посмотреть появление флоры и фауны Спасибо
Замечательная симуляция. Тоже нахожусь в размазанном во вреени процессе создания "чего-то подобного" - наверное, надо было идти в хирурги :) Камент на сайте про Брудля выше всяких похвал, жаль, что не смог поставить там лайк. Спасибо за софтинку.
Можно сделать клетки территории с разным климатом. Ближе к края полярные области. Там клетка будет тратить больше энергии. Потерю энергии кстати тоже можно тогда как раздражитель ввести. Клетки будут стараться в тепло убегать. И там кучковаться. Где холоднее клеток будет меньше. Рождение зелени так же можно увязать с климатическими зонами
День добрый. 14:30 очень напомнило ситуацию с муравьями, которые, когда их слишком много, бегают по кругу до самой смерти, образуя такой же "водоворот"
Круто! Очень круто!! И очень интересно! Как изменить ботов, задать их гены и все параметры самих ботов? Как сделать русский язык? Как сделать двух или нескольких ботов с заданными параметрами, устроить войну за ресурсы, типа коопа, когда один игрок делает своего бота, другой своего и можно соревноваться, ставить ставки, тотализатор, казино, блэкджек, шл.. Чёто понесло... Как сделать больше условий, кроме столкновений с другими ботами, мяса, растений, смерти? Возможность хищничества, паразитизма, например. Когда энергия восполняется после укуса или отсутствие самой вероятности изменения в сторону растениеедения у хищника, то есть возможность постоянные параметры перемещать в категорию переменных и наоборот. Или например рождаемость, не так, что один бот может производить только одного бота, а нескольких.
Здравствуйте! А я вот думаю было бы очень интересно превратить проект в некое подобие скрин-сэйвера. То есть отошёл человек от машины и по таймингу запустился процесс со случайными параметрами. Пришёл человек, посмотрел на безобразие, понаблюдал и приостановил бурную деятельность. А результаты генерации можно отправлять, по желанию и согласию пользователя. Большое спасибо и удачи!
Нехватает подсветки по выбранным характеристикам. Плюс невозможно отслеживать кого-то конкретно (при его смерти переключаться на ближайшего схожего генетически, и в приоритете должны отслеживаться выбранные характеристики, то есть например если потомок отличается на 3 гена, но он по прежнему хищник, а другой только на 1 ген, но он потерял возможность хищничества, то переключится на больше мутировавшего, но зато хищника (конечно если пользователь выберет в приоритете этот параметр отслеживания у потомков). Вообще хотелось бы побольше инструментов для отслеживания, анализа и для взаимодействия с поле (возможность менять что-то, добавлять. удалять, копировать для другой "арены", для испытаний). Возможно копировать особь, давать ему название, видя его древо развития и сохранять его в "архив", из которого его можно будет бросать на другие поля боя (хоть против других, хоть против полных копий себя). Потом игрок будет выводить то, что ему хочется, пытаться анализировать его гены и поведение. По сути это уже игра "Эволюционируй прикольную особь и изучи её", с удобным инструментами для этого. Да, сложно... Но идею я свою озвучил, а дальше решать уже вам)))
Нужно добавить условие что если мясо долго лежит то оно портится и клетка освобождается, то же самое но с более длительным сроком и для растений, типа дерево вырастает слишком большим, ветер его ломает и клетка освобождается.
*_Блин, круто! Нужно будет добавить переменную - размер, будет прикольно. Я хочу тоже самое на пайтоне сделать. Желаю много подписчиков, контент крутой!_*
Почему именно питон? Лучше делать на джава-скрипте. Запускать его в браузере, который написан на питоне и с помощью интерпретатора питона, написанного на C#. Хорошо бы ещё чтобы виртуальная машина, исполняющая .NET-байткод была написана на Java. Так более стильно и модно, а значит быстрее работать будет %) ;).
Возможность этим штучкам создавать свой язык и реакции на эти сообщения (таким образом, что бы растение могло эволюцией развить умение фиксировать злонамеренную ложь других растений и возможно даже отделять их от просто ошибочных сообщений).
Вот бы еще энергоцикл учитывался. И растения не условные, а клетки с характерной мутацией. Чтобы могли появится виды, являющиеся промежуточными. А так круто!
Возможность отмотать время назад (прежде скопировав нужную особь). Генерировать повторяемые миры, с повторимыми процессы (когда числа не случайные, а псевдослучайные, имеющие повторяемую закономерность). То есть что-то типа детерминированного мира Майнкрафт, когда мир генерируется всегда одинаково и всё взаимодействует абсолютно предсказуемо, но разумеется псевдослучайно и равномерно (как в игре Заработало). Вот вы вводите "зерно мира" (сид генерации) и создаётся мир, который при перезапуске придёт к точно такому же результату и в следующие разы, на компьютерах других людей, которым сообщили то же зерно генерации.
Очень интересно. Меня интересует вопрос: будет ли версия для андроид? Я подписался, поставил лайк, и скачал программу на комп(к сожалению не могу поддержать материально, так как еще школьник) спасибо за прогу!
13:02 вот вы поставили указатель-индикатор выделяющий клетку, но при её исчезновении индикатор исчез, что неудобно и пользователь тут же теряет ориентир - забывает куда ставил указатель, пока смотрел на параметры. Было бы намного лучше, если бы этот индикатор оставался в том же положении, но уже на пустой клетке (и оставался там, даже если бы новое растение туда б подлезло).
@@yarick-workshop парадокс эволюции, парадокс крыльев птиц. В настоящей эволюции крылья также были не только инструментом для полёта, но и для прыжков. Ладно с птицами, вот летучие мыши - сравнительно новый относительно птиц вид, при этом они также достигли успехов в полётах. Хотелось бы увидеть их предков и промежуточные виды для анализа зачем им всё это. Вся эта ксенофобия бесполезна при огромном поле симуляции, когда скорость убегающего может быть выше скорости догоняющего и приводит к успеху почти всегда, пока хватает места на карте. Васины сородичи захотят его сжечь, но он убежит, может с самкой (или он сам есть самка) и сделает новую популяцию там, где ему жить будет легче. Спустя поколения он вернётся со своим новым стадом и отомстит.
@@yarick-workshop не его предок, Васи появляются регулярно как результат мутации, тысячи! миллионы! гибнут, но некоторые Васи выживают, малая часть из них приспосабливается в другом месте и даёт потомство.
@@yarick-workshop а с пшеницей и картошкой успешная мутация иногда получалась. Дело случая и терпения, может дрозофил, возможно, нужно сотню лет поколениями понемногу облучать, а не конкретных особей за раз из мухи корову выводить. С собаками и кошками селекция мутантов - вполне очевидный пример, если у мутантов чуть более высок шанс выжить чем у прочих особей, то они выживают. Супербактерию туда же можно отнести, убиваешь 99+% всех особей, выживших заставляешь размножаться и вот уже пенициллин за сто лет стал бесполезен.
Сохранение, которое я пытаюсь загрузить сразу же после смерти всех живых, немедленно и безвозвратно повреждается. Поэтому после смерти всех живых я создаю новую игру и сразу же загружаю нужное мне сохранение. Спасибо за игру! Приятно заниматься селекцией интересных мне параметров живых изменяя условия среды обитания!
Есть вопрос по вытаскиванию статистики. Вот например я хочу прогнать симуляции с разными настройками и посмотреть графики количества особей в популяциях и их геном. Можно как то логи записывать? Второй момент - волны. Вручную удавалось сделать аналог "лето-зима" меняя параметры энергоценность растений и скорость их роста. Зима нет роста растений, весна и лето рост при 15 энергии и осень остановка роста и энергия до 70. Привязать можно к циклам. Но конечно же захочется регулировать каждый цикл отдельно и т.д.
Добавь клеткам красители, которые зависят от наличия того или иного гена и которые не будут влиять на взаимодействие между ними, чтобы можно было наглядно отслеживать популяции с теми или иными генами
Этот алгоритм кста должен быть наверняка очень хорош, выполняйся он на GPU. Как никак тут работа с массивами. И.. пускай видюха не очень любит всякого рода проверки, как вариант это означает, что вместо проверок можно гены монстрики выразить в виде математики. Хотя без проверок конечно не обойтись полностью, но можно минимизировать их, и побольше операций выполнять разными вычислениями.
Отличная задумка, жаль, что не все могут ее оценить. Автор, прошу, не игнорируй: да или нет: будет ли выложено творение на гитхаб? Хочу портировать на Qt
Ну Доккинз же в своей книге "Слепой часовщик" чётко сказал, что компьютерный симулятор демонстрирует ИСКУССТВЕННЫЙ ОТБОР (селекцию), а не ЕСТЕСТВЕННЫЙ! Изначальные условия, программный код, возможность определённой изменчивости и случайного выбора из спектра возможностей создаёт программист. В природе же нет такого программиста.
Надо будет перечитать, уже наверное не вспомню что именно Доккинз сказал, однако факт - с помощью компьютерной симуляции можно реализовать(и уже были не однократно реализованы) проекты демонстрирующие как искусственный отбор, так и естественный. Как раз это зависит от того какие начальные условия и изменчивость установит программист. В природе такого "программиста" нет, он там и не нужен. Это и показывают эксперименты. Достаточно огромного количества звездных систем, чтобы где-то были необходимые условия; Определенных свойств химических элементов; И время, очень много времени
Делал что-то подобное, у меня используется алгоритм поиска пути(живые видят дальше, с радиусом 10 если не ошибаюсь) и расчет состояния мира не последовательный(по индексам), а параллельный. При последовательном расчете это не очень похоже на симуляцию т.к. в реальном мире все происходит параллельно, а не последовательно, коллизии свободной клетки(когда две живые претендуют на одну и ту же пустую), разрешимы. Помимо генов использовал понятие мотивации(питание, агрессия, размножение, общение). Проект до конца не довел, вижу, что у вас большая проработка, если интересно могу передать свои исходники и возможно подсказать как обойти трудности с параллельным расчетом.
можешь сделать: 3 типа клеток - 1 агрессор, 2 защитник , 3 жертва у защитника иммунитет на агрессора , агрессор ест жертву , жертва кормит защитника . как треугольник карпмана. так будет гораздо интереснее
так же каждая клетка может стать одной из трёх видов , у каждой клетки свой недостаток и преимущество . агрессор быстрый но мало энергии , жертва медленная но больше энергии , защитник средне энергии и скорость . агрессор мясоед, жертва вегетарианец защитник, смешанного типа
Странное дело.. После нескольких дней непрерывного тестирования, клетки заняли такое положение и больше ничего не происходит. images.vfl.ru/ii/1584706748/a7e3a3c5/29936568.jpg
Сижу смотрю, как квадратики пожирают зелёные шарики и вспомнил сцену из фильма Нечто 1982, где Блер сделал симуляцию поглощения клеток инопланетным организмом ) А можно исходный код где-то посмотреть? Очень любопытно.
Адаптируй интерфейс под детишек и ищи связи с забургорными образовательными организациями. Мб для начала стоит в каком нибудь конкурсе поучаствовать с этим. Выглядит очень перспективно.
Интересная симуляция. Но она не связана с концепцией эгоистичного гена. Докинз рассматривает эволюцию на уровне генов потому, что при мейотическом делении гены могут расходиться и эволюционировать отдельно. Но эти клетки размножаются бесполым потем, и у них нет мейоза.
Мне кажется, не хватает такого важного параметра, как заболевание и, соответственно, возможность вылечиться, либо же умереть и последствия, например, эпидемия.
не совсем понял как делится клетка. Условия для деления все есть, но клетки не делятся. Если в деление вложена вероятность, то какая? И можно ли этот параметр открыть?
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space at GameField.(GameField.java:42) at Panel.(Panel.java:357) at MainWindow.(MainWindow.java:21) at MainWindow.main(MainWindow.java:66)
Если ты можешь посмотреть гены каждой клетки, то, это получается ты создал массив 60×60=3600 единиц поля, и в каждой клеточке тоже там 25-30 генов. Как это все комп обрабатывает? Я вообще молчу про тонну настроей слева на панели. Я вот в консольном приложении делал 2D симуляцию гравитации и планет, создал 20 штук объектов и все начало подлагивать, а у тебя блин целое поле точек, имеющих свои индивидуальные настройки в массиве... 😐 Кстати, расскажи, где ты это приложение сделал(тоже в Visual Studio?), на каком языке, какими способами создания различных алгоритмов руководствовался?
Ребята, спасибо за отзывы.
Понял что есть проблемы с масштабируемостью.
Постараюсь починить в ближайшее время.
Вижу что есть много дополнительных пожеланий.
Попробую реализовать.
Нифига себе, игра все еще жива
Дядь, у тя получилась прикольная тема ! напили настроек - и на Steam ! серьёзно
Круто, но тихо)
@@pirr_00 лучше на плеймаркет)
Нужна имплементация на CUDA или хотя бы С++ )))
Клетки - пограничники. Очень интересно. Заставляет задуматься. Да и вообще вся эта тема меня, как программиста, на кучу интересных мыслей наталкивает. Автор, спасибо!
Это кочевники, просто им выйти не дают.
Забавно, видео уже год как на канале, а алгоритмы только сейчас его вывели.
@@djf93jh44dki7hk да. Обычно пишут вроде 2012 - нет, 13 - нет, 14 - нет, 15 - нет, 16 - нет, 17 - нет, 18 - нет, 19 - нет, 2020 - пора всем рекомендовать это видео!
.
Спустя ещё год
всем здрасьте из 2022 года!
нужно было зациклить поле а не ограничить
Согласен, на сфере смотрелось бы хорошо
@@MaxMustermann-pl9pi на торе попрошу!
В сферу вы квадрат не свернете
и камни рандомные добавить чтою отрабатывался ген препятсвия
Земля же плоская
@@MaxMustermann-pl9pi это называется топология тора, где верх соединён с низом, а правая сторона соединена с левой стороной.
Интересно, но над выбором иконок для клеток и еды нужно еще подумать. Если бы отличались по размеру то легче было бы их различать. и фон светлый думаю был бы лучше.
За идею лайк
Хотя бы тут земля плоская😂😂
Прикольно конечно подмечено xD и границы есть, значет их окружает вода и снизу 3 слона на черепахе.
Это просто ахуенно, лучше чем Battlefield
да какой там батла . мне на жестком диске места не хватало , я gta online удалил ради этой игры .
а системные требования те же (при большом поле с клетками )
@@bylecash6306 я себе вторую 2080 поставил чтобы ни в чем себе не отказывать
@@alexsolo1311 там от проца зависит, хотя, если прога использует библиотеки openGL,то нагрузку примет видеокарта
Опять недопустимый комментарий...
нужно добавть некие аттракторы-генераторы растительных или мясных кормов.
Рандомное появление корма не дает закреплятся сложным алгоритмам поведения.
А если будет аттрактор - клетке будет выгодно кормиться возле него и не уплывать далеко, где корма нету.
Хищники тоже соответственно должны тусоваться там, где больше травоядных.
!Ну и разумеется ВОЗМОЖНОСТЬ ЗАДАВАТЬ РАЗМЕРЫ ПОЛЯ
еще хотелось бы ген зрения и обоняния, чтобы чувствовать дальше чем 1 клетка и вокруг.
что еще больше усложнит поведение
Я один увидел ролик об естественом отборе и захотел сделать такое же?
Точно такие же мысли возникли, хотя от кода я далек)
Как-то раз я увидел как человек делал paint своими собственными руками и захотел сделать свой
@@EngineerFox что за видео
мне тоже так захотелось сделать и я....... Сделал. Криво, только с одним ботом, но сделал. На не предназначенном для этого движке construct 3. Правила: у бота есть таблица в 4 клетки с генномом. В каждой клетке может быть число от 0 до 4. Если число равно 0 то бот пропускает ход, если 1 то фотосинтезирует, если 2-3 то бот поднимается на верх или опускается вниз, если 4 то бот преобразует минералы в энергию. Мир состоит из 3 секторов и поделён на 5 клеток и является одномерным. 1 сектор(стартовый): в ход бот получает 1 минерал и если он фотосинтезирует то получает ничего, на 2 секторе который расположен выше, больше света и если бот фотосинтезирует то получает 1 еденицу энергии, 3 сектор это сектор 2 только с минералами и расположен он ниже 1 сектора, фотосинтез в этом месте отнимает 1 еденицу энергии, 1 сектор длинной в 1 клетку, 2 и 3 длинной в 2. Если энергия будет равна 1 то бот умирает и запускается клон последнего бота, который прожил 30 ходов(эта функция очень криво работает, часто даёт ошибки), таким образом и получается естественный отбор, а не перебор вариантов геннома. Минералы сразу же все преобразовываются в энергию, так что ботам лучше быть минералоедеми, чем фотосинтезатарами, из-за того что если 1 ячейка заменится цифрой 0 или 1 то это не приведёт к истощению. Из-за малого количества ячеек любая мутация может стать фатальной(пример: генном: 2111, происходит мутация и теперь генном равен 3111, он идёт вниз и умирает). Я планирую добавить ещё команду 5, для того что бы поведение ботов как либо отличалось в различной среде, вот её описание: если сзади и спереди бота нет стены, то ничего не происходит и код выполняется без изменений, если есть стена, то бот пропускает одну команду, но в данный момент у меня нет компьютера, а на телефоне он не работает нормально.
Я не только захотел, го и начал делать.
Автор молодец! Поднимаешь новогодние настроение разноцветными живыми огоньками.
Природа не дура, что изобрела разные полы. Только разные полы с разными генами и опытом могут дать полноценную мутацию, соединив свой опыт.
природа ничего не изобрела и более того ваши выводы еще и ошибочны
Был у меня когда-то клеточный симулятор собственного производства. Зелень, овцы, тигры и охотники. У каждого свое поведение. Хищник видел на 8 клеток кругом и атаковал если есть что атаковать или подыхал, если нечего есть. Овцы жили двойным циклом. Если зелени много - овцы плодятся, за ними тигры плодятся и от какого из факторов овец становилось меньше. Долго промучился пока подобрал все параметры чтобы эту экосистему сделать вечной. Но таки получилось
Такое впечатление, что это игра Spore на движке тетриса
Прикольная симуляция! Желаю вам продолжить её!
Это поразительно! На поиск подобных видео меня мотивировала именно книга Эгоистичный ген!!!
Видимо Докинз хороший автор, раз побуждает разных людей к одним и тем же изысканиям!!!
Сделай переменное действие генов, для каждой ситуации 2 гена, вначале первый ген срабатывает, потом второй, повтор. Это разнообразит поведение клеток и динамику симуляции
Не, лучше чтобы они были не по очереди а рандомно, Т.к. если они будут по очереди, они могут зациклится
Если я правильно понял, то ты говоришь про количество генов. Этот параметр уже можно задать при создании мира, просто автор показывал пример на одном гене
все: играют в гта
шелдон: играет в эволюцию
Привет классная штука , если ещё можно добавить то хотелось бы иметь мутацию генов с их добавлением и ввести неорганику и свет чтоб можно было посмотреть появление флоры и фауны Спасибо
Замечательная симуляция. Тоже нахожусь в размазанном во вреени процессе создания "чего-то подобного" - наверное, надо было идти в хирурги :) Камент на сайте про Брудля выше всяких похвал, жаль, что не смог поставить там лайк. Спасибо за софтинку.
Для обозначений существ ещё ведь можно использовать комбинации цветов и символы внутри квадратика.
Можно сделать клетки территории с разным климатом. Ближе к края полярные области. Там клетка будет тратить больше энергии. Потерю энергии кстати тоже можно тогда как раздражитель ввести. Клетки будут стараться в тепло убегать. И там кучковаться. Где холоднее клеток будет меньше. Рождение зелени так же можно увязать с климатическими зонами
День добрый. 14:30 очень напомнило ситуацию с муравьями, которые, когда их слишком много, бегают по кругу до самой смерти, образуя такой же "водоворот"
Только там они по другой причине бегают. "Водоворот смерти"
Время : 23:40
Я : симулятор эволюции protopuddle
4:04 та же херь
У меня 23:39
Круто! Очень круто!! И очень интересно! Как изменить ботов, задать их гены и все параметры самих ботов? Как сделать русский язык? Как сделать двух или нескольких ботов с заданными параметрами, устроить войну за ресурсы, типа коопа, когда один игрок делает своего бота, другой своего и можно соревноваться, ставить ставки, тотализатор, казино, блэкджек, шл.. Чёто понесло... Как сделать больше условий, кроме столкновений с другими ботами, мяса, растений, смерти? Возможность хищничества, паразитизма, например. Когда энергия восполняется после укуса или отсутствие самой вероятности изменения в сторону растениеедения у хищника, то есть возможность постоянные параметры перемещать в категорию переменных и наоборот. Или например рождаемость, не так, что один бот может производить только одного бота, а нескольких.
Нужны исходники на GitHub
чтобы были шл., надо понятие "пол" ввести и гены, описывающие паттерны поведения в связи с ним... - не благодарите)
Очень круто за этим наблюдать! Обязательно попробую свою вселенную создать
Вот это эволюция, уже в комментах уже креационисты завелись)
Ну так, по отношению к этим существам, автор программы выступает создателем. Так что мы видим реалистичность креационизма.
С точки зрения техники сделано все классно, в отличие от похожих видео. Хотя конечно я бы сделал иначе, но тоже хорошо, в других аспектах
Отлично работает гипотеза эволюции в Этой симуляции )
Здравствуйте!
А я вот думаю было бы очень интересно превратить проект в некое подобие скрин-сэйвера. То есть отошёл человек от машины и по таймингу запустился процесс со случайными параметрами. Пришёл человек, посмотрел на безобразие, понаблюдал и приостановил бурную деятельность. А результаты генерации можно отправлять, по желанию и согласию пользователя.
Большое спасибо и удачи!
Ага, скринсэйвер который загружает процессор на 70% 🤪
Блин, эта игра существовала ещё до моего рождения.))
Нехватает подсветки по выбранным характеристикам.
Плюс невозможно отслеживать кого-то конкретно (при его смерти переключаться на ближайшего схожего генетически, и в приоритете должны отслеживаться выбранные характеристики, то есть например если потомок отличается на 3 гена, но он по прежнему хищник, а другой только на 1 ген, но он потерял возможность хищничества, то переключится на больше мутировавшего, но зато хищника (конечно если пользователь выберет в приоритете этот параметр отслеживания у потомков).
Вообще хотелось бы побольше инструментов для отслеживания, анализа и для взаимодействия с поле (возможность менять что-то, добавлять. удалять, копировать для другой "арены", для испытаний).
Возможно копировать особь, давать ему название, видя его древо развития и сохранять его в "архив", из которого его можно будет бросать на другие поля боя (хоть против других, хоть против полных копий себя). Потом игрок будет выводить то, что ему хочется, пытаться анализировать его гены и поведение.
По сути это уже игра "Эволюционируй прикольную особь и изучи её", с удобным инструментами для этого.
Да, сложно... Но идею я свою озвучил, а дальше решать уже вам)))
Если ещё запишешь что то - с удовольствием посмотрю) мне это чем то Космических Рейнджеров напоминает и Dwarf Fortress)
Еще не играл, но звучит интерестно. Редко вижу такие оригинальгые игры)
2019: рано
2020: самое время
На самом деле очень схоже с симуляцией от foo52ru
не схоже
@@Расслабляющийсок ну ок(
Ты потрясающий! Отличная идея, продолжай в том же духе, с радостью буду смотреть твои видео! Главное не бросай!
к сожалению этот видос вышел 2 года назад :(
Нужно добавить условие что если мясо долго лежит то оно портится и клетка освобождается, то же самое но с более длительным сроком и для растений, типа дерево вырастает слишком большим, ветер его ломает и клетка освобождается.
*_Блин, круто! Нужно будет добавить переменную - размер, будет прикольно. Я хочу тоже самое на пайтоне сделать. Желаю много подписчиков, контент крутой!_*
Почему именно питон? Лучше делать на джава-скрипте. Запускать его в браузере, который написан на питоне и с помощью интерпретатора питона, написанного на C#. Хорошо бы ещё чтобы виртуальная машина, исполняющая .NET-байткод была написана на Java. Так более стильно и модно, а значит быстрее работать будет %) ;).
Возможность этим штучкам создавать свой язык и реакции на эти сообщения (таким образом, что бы растение могло эволюцией развить умение фиксировать злонамеренную ложь других растений и возможно даже отделять их от просто ошибочных сообщений).
Сначала подумал, что ерунда какая-то. Но потом втянулся и нравится) На телефон бы такое приложение
Обожаю симуляторы эволюции, классно сделал.
Вот бы еще энергоцикл учитывался. И растения не условные, а клетки с характерной мутацией. Чтобы могли появится виды, являющиеся промежуточными. А так круто!
Возможность отмотать время назад (прежде скопировав нужную особь).
Генерировать повторяемые миры, с повторимыми процессы (когда числа не случайные, а псевдослучайные, имеющие повторяемую закономерность). То есть что-то типа детерминированного мира Майнкрафт, когда мир генерируется всегда одинаково и всё взаимодействует абсолютно предсказуемо, но разумеется псевдослучайно и равномерно (как в игре Заработало). Вот вы вводите "зерно мира" (сид генерации) и создаётся мир, который при перезапуске придёт к точно такому же результату и в следующие разы, на компьютерах других людей, которым сообщили то же зерно генерации.
Очень интересно.
Меня интересует вопрос: будет ли версия для андроид?
Я подписался, поставил лайк, и скачал программу на комп(к сожалению не могу поддержать материально, так как еще школьник) спасибо за прогу!
Я тож хочу на андроид
В экран не влезет
на андроид есть симулятор чашки петри
@@mr.7197 хм, надо подумать, такое в принципе оч просто запилить
@@mr.7197 как запустить подскажи пожалуйста
Так же, и за нами наблюдают существа создатели)
6:10 коричневая клетка по центру просто чилит
13:02 вот вы поставили указатель-индикатор выделяющий клетку, но при её исчезновении индикатор исчез, что неудобно и пользователь тут же теряет ориентир - забывает куда ставил указатель, пока смотрел на параметры. Было бы намного лучше, если бы этот индикатор оставался в том же положении, но уже на пустой клетке (и оставался там, даже если бы новое растение туда б подлезло).
Круто. Радует что есть такой контент =)
Уже третий канал про эволюцию и нейросети, отлично!
@@yarick-workshop можешь сделать лучше? Я б подписался.
@@yarick-workshop парадокс эволюции, парадокс крыльев птиц. В настоящей эволюции крылья также были не только инструментом для полёта, но и для прыжков.
Ладно с птицами, вот летучие мыши - сравнительно новый относительно птиц вид, при этом они также достигли успехов в полётах. Хотелось бы увидеть их предков и промежуточные виды для анализа зачем им всё это.
Вся эта ксенофобия бесполезна при огромном поле симуляции, когда скорость убегающего может быть выше скорости догоняющего и приводит к успеху почти всегда, пока хватает места на карте. Васины сородичи захотят его сжечь, но он убежит, может с самкой (или он сам есть самка) и сделает новую популяцию там, где ему жить будет легче. Спустя поколения он вернётся со своим новым стадом и отомстит.
@@yarick-workshop это у медленного Васи торчит, а спустя сотню поколений у следующего Васи уже ничего не торчит и убежать получилось.
@@yarick-workshop не его предок, Васи появляются регулярно как результат мутации, тысячи! миллионы! гибнут, но некоторые Васи выживают, малая часть из них приспосабливается в другом месте и даёт потомство.
@@yarick-workshop а с пшеницей и картошкой успешная мутация иногда получалась. Дело случая и терпения, может дрозофил, возможно, нужно сотню лет поколениями понемногу облучать, а не конкретных особей за раз из мухи корову выводить.
С собаками и кошками селекция мутантов - вполне очевидный пример, если у мутантов чуть более высок шанс выжить чем у прочих особей, то они выживают.
Супербактерию туда же можно отнести, убиваешь 99+% всех особей, выживших заставляешь размножаться и вот уже пенициллин за сто лет стал бесполезен.
А может это не симулятор эволюции - а симулятор бога?)
Сохранение, которое я пытаюсь загрузить сразу же после смерти всех живых, немедленно и безвозвратно повреждается.
Поэтому после смерти всех живых я создаю новую игру и сразу же загружаю нужное мне сохранение.
Спасибо за игру! Приятно заниматься селекцией интересных мне параметров живых изменяя условия среды обитания!
Оказывается ни одно сохранение где Count of All Created Cells: 500 000 и более, не загружаются
Есть вопрос по вытаскиванию статистики. Вот например я хочу прогнать симуляции с разными настройками и посмотреть графики количества особей в популяциях и их геном. Можно как то логи записывать?
Второй момент - волны. Вручную удавалось сделать аналог "лето-зима" меняя параметры энергоценность растений и скорость их роста. Зима нет роста растений, весна и лето рост при 15 энергии и осень остановка роста и энергия до 70. Привязать можно к циклам. Но конечно же захочется регулировать каждый цикл отдельно и т.д.
Было бы неплохо добавить камни или просто стены на саму карту, что бы не возникало клетки как которая двигалась вдоль стен.
Не понял? Неужели на канале только 1 видео?
Добавь клеткам красители, которые зависят от наличия того или иного гена и которые не будут влиять на взаимодействие между ними, чтобы можно было наглядно отслеживать популяции с теми или иными генами
Продолжения будет?
Прекрасно!
Бать те нормально?
Я вижу вам поправилось?
Этот алгоритм кста должен быть наверняка очень хорош, выполняйся он на GPU.
Как никак тут работа с массивами.
И.. пускай видюха не очень любит всякого рода проверки, как вариант это означает, что вместо проверок можно гены монстрики выразить в виде математики. Хотя без проверок конечно не обойтись полностью, но можно минимизировать их, и побольше операций выполнять разными вычислениями.
Отличная задумка, жаль, что не все могут ее оценить.
Автор, прошу, не игнорируй: да или нет: будет ли выложено творение на гитхаб?
Хочу портировать на Qt
Продолжение будет?
Под Linux запускается и работает с OpenJDK Java 8 Runtime.
Начинал читать эту книгу, эгоистичный ген, очень тяжело пошла... бросил.
Ну Доккинз же в своей книге "Слепой часовщик" чётко сказал, что компьютерный симулятор демонстрирует ИСКУССТВЕННЫЙ ОТБОР (селекцию), а не ЕСТЕСТВЕННЫЙ! Изначальные условия, программный код, возможность определённой изменчивости и случайного выбора из спектра возможностей создаёт программист. В природе же нет такого программиста.
Надо будет перечитать, уже наверное не вспомню что именно Доккинз сказал, однако факт - с помощью компьютерной симуляции можно реализовать(и уже были не однократно реализованы) проекты демонстрирующие как искусственный отбор, так и естественный. Как раз это зависит от того какие начальные условия и изменчивость установит программист. В природе такого "программиста" нет, он там и не нужен. Это и показывают эксперименты. Достаточно огромного количества звездных систем, чтобы где-то были необходимые условия;
Определенных свойств химических элементов;
И время, очень много времени
05:00 а последний столбец (с перечеркнутом ножом) - это для чего? какие действия выполняются?
Делал что-то подобное, у меня используется алгоритм поиска пути(живые видят дальше, с радиусом 10 если не ошибаюсь) и расчет состояния мира не последовательный(по индексам), а параллельный. При последовательном расчете это не очень похоже на симуляцию т.к. в реальном мире все происходит параллельно, а не последовательно, коллизии свободной клетки(когда две живые претендуют на одну и ту же пустую), разрешимы. Помимо генов использовал понятие мотивации(питание, агрессия, размножение, общение). Проект до конца не довел, вижу, что у вас большая проработка, если интересно могу передать свои исходники и возможно подсказать как обойти трудности с параллельным расчетом.
Ссылка на проект: gamedev.ru/projects/forum/?id=141500
Пару лет назад читал статью про такой симулятор на Хабре. Даже бету можно было скачать. Автор статьи и автор этого приложения один и тот же человек?)
нет это был техно шаман foo52.
Добавьте пожалуйста возможность упростить реакцию на боль: 1 ген вместо 8.
У меня размер окна даже в фуллскрине выходит снизу за пределы экрана, хотя он не такой уж и маленький. Есть какие-нибудь варианты это пофиксить?
На канале только одно видео... Сними ище, про эволюцию, некоторым лень скачивать)
Это ты сделал коронавиоус?
можешь сделать:
3 типа клеток - 1 агрессор, 2 защитник , 3 жертва
у защитника иммунитет на агрессора , агрессор ест жертву , жертва кормит защитника . как треугольник карпмана. так будет гораздо интереснее
так же каждая клетка может стать одной из трёх видов , у каждой клетки свой недостаток и преимущество . агрессор быстрый но мало энергии , жертва медленная но больше энергии , защитник средне энергии и скорость . агрессор мясоед, жертва вегетарианец защитник, смешанного типа
Странное дело.. После нескольких дней непрерывного тестирования, клетки заняли такое положение и больше ничего не происходит. images.vfl.ru/ii/1584706748/a7e3a3c5/29936568.jpg
Ору в голос!!! Аааа!
Сижу смотрю, как квадратики пожирают зелёные шарики и вспомнил сцену из фильма Нечто 1982, где Блер сделал симуляцию поглощения клеток инопланетным организмом )
А можно исходный код где-то посмотреть? Очень любопытно.
Нормальная тема , вот кто короновирус придумал !
Адаптируй интерфейс под детишек и ищи связи с забургорными образовательными организациями. Мб для начала стоит в каком нибудь конкурсе поучаствовать с этим. Выглядит очень перспективно.
Так. Я теперь тоже хочу сделать свою симуляцию(
Отличное видео,исходники будут?
15:30 - это не поезд, это первый город)
Интересная симуляция. Но она не связана с концепцией эгоистичного гена. Докинз рассматривает эволюцию на уровне генов потому, что при мейотическом делении гены могут расходиться и эволюционировать отдельно. Но эти клетки размножаются бесполым потем, и у них нет мейоза.
Мне кажется, не хватает такого важного параметра, как заболевание и, соответственно, возможность вылечиться, либо же умереть и последствия, например, эпидемия.
не совсем понял как делится клетка. Условия для деления все есть, но клетки не делятся. Если в деление вложена вероятность, то какая? И можно ли этот параметр открыть?
Алгоритмы Ютуба супер
Забавно. Но с разрешением, реально, проблема
Крайне интересная программа
Ты грустный но держись
сделай клеткам обоняние чтоб они на расстоянии чувствовали пищу
Запустил в линуксе - текст слева обрезается. Троеточием оканчивается. Ну хоть скриншот на сайте есть, где можно надписи прочитать))
Чувак, это мать его афигенно!!!!!
Отличное видео и интересная тема
что за 7 тип обьектов, который может быть перед клеткой?
Прям клас для тех кто любит биологию!
все хорошо, а как быть до растений с мясом?
очень жалко что видео про всякую фигню, набирают за час просмотров больше чем у тебя за год. Молодец !
задай параметры квадрат 10000 на 10000. одно поле это атом. притяжение каждого атома +1 во все стороны. убери один атом, это будет большой взрыв.
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at GameField.(GameField.java:42)
at Panel.(Panel.java:357)
at MainWindow.(MainWindow.java:21)
at MainWindow.main(MainWindow.java:66)
Мае уважение!
Круто, Спасибо ))
Если ты можешь посмотреть гены каждой клетки, то, это получается ты создал массив 60×60=3600 единиц поля, и в каждой клеточке тоже там 25-30 генов.
Как это все комп обрабатывает? Я вообще молчу про тонну настроей слева на панели.
Я вот в консольном приложении делал 2D симуляцию гравитации и планет, создал 20 штук объектов и все начало подлагивать, а у тебя блин целое поле точек, имеющих свои индивидуальные настройки в массиве... 😐
Кстати, расскажи, где ты это приложение сделал(тоже в Visual Studio?), на каком языке, какими способами создания различных алгоритмов руководствовался?
эй, сегодня год видосику!
Сидящие клетки надо чтобы голодали
есть ссылка на репозиторий? Заинтересовала тема - хотел бы поиграть