Pull to refresh

Comments 37

А вы не думали сделать из этого материала игру для мобильных платформ, где пользователи могут создавать «бактерии» задавая различные параметры их свойств, впоследствии колонии бактерий разных пользователей могли бы вступать в борьбу между собой?
Plague это совсем другой сеттинг, я имею ввиду именно борьбу в пробирке размножающихся колоний, когда то в 90-х я видел подобную игру для PC, хотя сейчас ссылок уже не найти.
Согласен, ассоциации с Жизнью Конвея чётко прослеживаются, но здесь нет жёсткого детерминизма клеточных автоматов. Более важна для меня была возможность эволюции отдельного агента-бактерии, в то время как в Жизни агентом скорее является колония.
Посмотрел, там целый скриптовый язык для управления этой особью) Игра для гиков. Мне однако же представляется скорее рост популяции, чем метания в пространстве одного организма.
Еще, как вариант, выдавать игроку определенное количество «еды», которую он может потратить на свое усмотрение.
Если интересно в практическом плане могу (в течении какого то времени) сформулировать подробные идеи по сеттингу на email.
По возможности в личные сообщения, пожалуйста )
Идея интересная, но для игры в моём проекте не хватает «драйва», как мне кажется.
Драйв? Главное залипательность) Особенно для мобилок.
По правде говоря, мои мысли шли совершенно в другом направлении: онлайн игра, в которой мобы эволюционируют, под влиянием отбора — самых слабых и простых легко уничтожают игроки.
А этот проект на мобильных платформах мне видится похожим на Osmos.
Есть идея ассемблеро-подобного языка, чьи инструкции и будут составлять генокод бактерии.
Я в последнее время склоняюсь к тому, что такие штуки должны использовать лиспо-подобный синтаксис. Это не решает проблемы балансировки силы/скорости эволюции, но по крайней мере (имхо) позволит генерить осмысленный код, потому что можно оперировать не отдельными командами, как в асме, а целыми кусками AST.
Несколько лет назад я пытался написать эволюцию ragdoll'ных тварюшек с asm'ом на борту. Выживали только те, чей код был написан собственноручно. Уж больно часто хорошая программа сломалась при кроссинговере («перемешивании») генов.
>> ССЫЛКА НА ИНТЕГРИРОВАНИЕ ВЕРЛЕ
ссылка битая… кликаю-кликаю, но ничего не открывается что-то :)
Сам удивляюсь иногда )
Я практически с начала службы работаю в штабе части, так что доступ к ит есть. Основная проблема — время и усталость: после наряда или ночи работы с документацией желание программировать, к сожалению, уменьшается.
Если найдутся читатели, могу написать про своё видение it-специалиста в армии. Тема интересная, но грустная.
Интересно, хоть я и из соседней страны. Вообще стоит вопрос: а нужно ли? Физическая подготовка выросла?
Отвечу сразу: нет, не нужно. Физ подготовка упала: нет ежедневных велопрогулок на 30-40 км, а здесь либо слишком интенсивные физ. нагрузки, либо их нет вообще.
Вот тоже заинтересовало — в армии какой страны?
В отличие от автора, у меня получилось довести модель поведения особей на нейросетях до некоторого логического завершения: www.youtube.com/watch?v=3IZ7kQ4vu6k
Проблема с быстрым вымиранием в начале действительно есть (особенно в случае хищников), но я ее решал простым увеличением начального числа особей/ресурсов.
Какие данные использовали в качестве входных параметров?
Уровень сытости и «зрение» — факт нахождения «травы», «жертв» и «хищников» в соответствующей области (7 сегментов) относительно особи.
У меня такой вопрос: после того, как вы переписали алгоритм смешивания жидкостей на GPU, наверное нужно было как-то возвращать результат смешивания в CPU для дальнейшей алгоритмизации поведения бактерий? На ум приходит glReadPixels — очень медленная функция в IOS, насчет других систем не знаю. Либо можно конечно, поле поделить на клетки и учитывать содержание веществ в CPU не синхронизируясь с отрисовкой.
Отличный вопрос. Дело в том, что смешивание нужно не только для красоты — без него поле получается слишком «дискретным». Использую средства библиотеки SFML для подобного переноса. Если почитать их исходники, видно, что они используют функцию glGetTexImage для получения текстуры в оперативную память. Помимо этого SFML несколько раз эту память копирует, что тоже скорости не прибавляет. Однако, даже при этом на GPU получается считать быстрее. С удовольствием выслушаю более экономные и быстрые варианты.
Спасибо за ответ. Ну в IOS нет даже glGetTexImage, а glReadPixels выдаст fps около 20 кадров вместо 60. Более того, огорчает, что на CPU перебор массива полученных результатов в цикле тоже убивает производительность (т.е. не стоит обрабатывать двумерный массив, у которого ширина и высота равны количеству пикселей на экране, а надо как-то укрупнять). Возможно, придется писать для CPU и GPU разные алгоритмы, которые будут сохранять видимую синхронность.
Идея витает в воздухе. Сам недавно писал нечто подобное на JavaScript. Получались красивые движущиеся картинки из «бактерий», но у меня они были глупые и быстро вымирали. Думаю, такие эксперименты в итоге направлены на разработку продвинутого AI в играх. Хотя, именно из такой, казалось бы, бессмысленной деятельности, побочных проектов «для себя», порой рождаются совершенно неожиданные полезные вещи.
Sign up to leave a comment.

Articles