Comments 91
Неплохо устранили недостаток :D
+3
Нужна linux версия! :)
+5
прекрасно под вайном работает
+1
у меня под вайном машинки просто лежат и все :(
+1
Забыл написать. Пробел включает/выключает паузу. Хотя, если лежат, значит упали, а значит пауза была выключена.
В любом случае, в ближайшее время соберу нативную версию.
В любом случае, в ближайшее время соберу нативную версию.
+3
Сделайте, пожалуйста, изменение размера экрана, а то в мой рабочий 1600*900 ничего не вместилось
+3
Меня во всех этих «симуляторах» смущает то, что машинки не тратят ресурсы на мутации, то есть, «выращивание» двух колес ничем не отличается от «выращивания» восьми, а «выращивание» маленького колеса — от «выращивания» большого. В реальном мире это не так — чем больше организм, чем больше (качественно или количественно) у него те или иные приспособления, тем больше ресурсов ему нужно затратить на развитие всего этого безобразия (у того же Докинза в «Эгоистичном гене» это очень хорошо описано).
В качестве костыля можно было бы добавить машинкам некоторое «топливо», часть которого расходуется на мутации, а часть — во время езды. Или придумать какую-то другую систему ресурсов.
В качестве костыля можно было бы добавить машинкам некоторое «топливо», часть которого расходуется на мутации, а часть — во время езды. Или придумать какую-то другую систему ресурсов.
+8
В результате появится StarCraft 4.5, в котором юниты обзаводятся необходимыми «приспособлениями» для выживания.
Игроки будут смотреть за эволюцией своих юнитов в single режиме и выставлять лучшие популяции в мультиплеер ))
Игроки будут смотреть за эволюцией своих юнитов в single режиме и выставлять лучшие популяции в мультиплеер ))
+2
Мысль интересная. Правда, большой корпус не обязательно дает машинке преимущество, скорее наоборот. То есть, если тратить ресурсы именно на рост, это еще более подстегнет тенденцию к уменьшению размеров.
Я из этой оперы думал о том, что, например, максимальный крутящий момент на колесах может зависеть от размера корпуса, например. Так станет не выгодно прятать тоненький корпус между колес.
Или сделать функцию приспособленности зависимой также от времени, которое взяло у машинки добраться до финальной точки. Этим можно сэмулировать то, что она успевает съесть больше травы по дороге за меньшее время, чем ее менее расторопные товарищи.
Я из этой оперы думал о том, что, например, максимальный крутящий момент на колесах может зависеть от размера корпуса, например. Так станет не выгодно прятать тоненький корпус между колес.
Или сделать функцию приспособленности зависимой также от времени, которое взяло у машинки добраться до финальной точки. Этим можно сэмулировать то, что она успевает съесть больше травы по дороге за меньшее время, чем ее менее расторопные товарищи.
+1
Так у машинок же нет цели жрать друг друга, так что уменьшение размеров действительно логично.
С другой стороны, корпус можно как раз рассматривать как топливный бак, и давать машинке ограниченую «энергию».
С другой стороны, корпус можно как раз рассматривать как топливный бак, и давать машинке ограниченую «энергию».
0
+1
Видео будет для ленивых?
+6
А можете скомпилировать для winxp sp3 (32bit)?
А то пишет, что не является приложением Win32
А то пишет, что не является приложением Win32
0
всё равно не работает
0
При запуске:
«Assertion failed!
Program: C:\Games\Box2D\Engine.dll
File: auxFuncs.cpp
Line: 39
Expression: err == 0»
Если нажать «пропустить», то вроде работает, но шрифт, видимо, не прогрузился. Надписи отсутствуют
«Assertion failed!
Program: C:\Games\Box2D\Engine.dll
File: auxFuncs.cpp
Line: 39
Expression: err == 0»
Если нажать «пропустить», то вроде работает, но шрифт, видимо, не прогрузился. Надписи отсутствуют
0
Это значит, что OpenGL какую-то ошибку выдал. А что в файлах error.log и info.log?
По хорошему надо бы и dll пересобрать с этим тулсетом, раз уж экзешнику помогло. Но это смогу только вечером дома.
По хорошему надо бы и dll пересобрать с этим тулсетом, раз уж экзешнику помогло. Но это смогу только вечером дома.
0
info.log:
Tue Jul 09 12:54:00 2013 Application started. Hello, World!
Tue Jul 09 12:54:00 2013 Application version: 0.0.6.365 Release
Tue Jul 09 12:54:00 2013 Starting renderer initialization
Tue Jul 09 12:54:00 2013 SDL successfully initialized
Tue Jul 09 12:54:00 2013 Video mode set
Tue Jul 09 12:54:00 2013 OpenGL version: 1.5.0 — Build 6.14.10.4847
Tue Jul 09 12:54:00 2013 Loading textures…
Tue Jul 09 12:54:00 2013 Successfully loaded res/font2.png
Tue Jul 09 12:54:00 2013 Successfully loaded res/gui.png
Tue Jul 09 12:54:00 2013 Finished loading textures.
Tue Jul 09 12:54:00 2013 Initialization successfully completed
Tue Jul 09 12:54:00 2013 Switching to menu
error.log:
Tue Jul 09 12:54:00 2013 OpenGL error during main loop. Something bad happened OpenGL error: 1281
Tue Jul 09 12:54:00 2013 Application started. Hello, World!
Tue Jul 09 12:54:00 2013 Application version: 0.0.6.365 Release
Tue Jul 09 12:54:00 2013 Starting renderer initialization
Tue Jul 09 12:54:00 2013 SDL successfully initialized
Tue Jul 09 12:54:00 2013 Video mode set
Tue Jul 09 12:54:00 2013 OpenGL version: 1.5.0 — Build 6.14.10.4847
Tue Jul 09 12:54:00 2013 Loading textures…
Tue Jul 09 12:54:00 2013 Successfully loaded res/font2.png
Tue Jul 09 12:54:00 2013 Successfully loaded res/gui.png
Tue Jul 09 12:54:00 2013 Finished loading textures.
Tue Jul 09 12:54:00 2013 Initialization successfully completed
Tue Jul 09 12:54:00 2013 Switching to menu
error.log:
Tue Jul 09 12:54:00 2013 OpenGL error during main loop. Something bad happened OpenGL error: 1281
0
Эволюция остановилась на вот такой загогулине:
Минут 15 быстрые теряют там колёса, медленные просто застряют. Главное — все умирают на одной и той же дистанции, поэтому эволюция по сути практически остановилась.
Хабракат не сработал.
Минут 15 быстрые теряют там колёса, медленные просто застряют. Главное — все умирают на одной и той же дистанции, поэтому эволюция по сути практически остановилась.
Хабракат не сработал.
+2
Всегда может произойти мутация, или несколько, которые помогут преодолеть загуголину. Рано или поздно на любой трассе появляется участок, непроходимый в принципе, но эта загогулина так не выглядит. Стоит подождать еще несколько раз по 15 минут :)
Какой seed вы использовали и на какой дистанции это произошло?
Какой seed вы использовали и на какой дистанции это произошло?
0
Нашлись уже смельчаки :) Seed не скажу (кстати — стоило бы выводить его и в режиме воспроизведения). Просто добил случайными символами после habrahabr, а остановить боюсь — все ведь заново придется начинать?
Дистанция — 420.
Кстати, хотел спросить — а надежность фиксации колес — это ген? Если нет, то стоило бы — очень продвинуло бы симулятор в плане достоверности.
Дистанция — 420.
Кстати, хотел спросить — а надежность фиксации колес — это ген? Если нет, то стоило бы — очень продвинуло бы симулятор в плане достоверности.
0
Мне кажется, что при ограниченной «вселенной» эволюция рано или поздной войдет в тупик, вопрос только во времени.
+1
Похоже на апокалипсис в масштабе машинок.
0
Час пролетел незаметно…
0
Нужно ввести вирусы и горизонтальный дрейф генов.
+4
При маленькой популяции (50/5) почему-то быстро вырвались вперёд вот такие «трёхколёсные» мобильчики:
+1
Linux версию хотелось бы увидеть!
+1
Можно было бы проводить отбор среди одной популяции сразу на нескольких трассах, «поощряя» универсальность.
0
Нет ни какой разницы между одной трассой и несколькими: Трасса — это совокупность (или множество) «пар сегментов» с разными углами и требованиями к особям. Особь преодолевает не трассу, а именно пары сегментов. Разные трассы фактически будут одинаковыми.
(Моя популяция застряла на 830.69 :)
(Моя популяция застряла на 830.69 :)
0
По-моему, тут вовсе не пары играют роль, а группы сегментов сильно большего размера. Потому что, например, у меня машинки в одном месте на три почти отвесных сегмента после равнинки взбираются без проблем, а в другом, где перед этим небольшая горка из двух сегментов, застряли на весьма продолжительное время.
0
Да, еще влияет скорость. А скорость зависит от того, как были пройдены предыдущие участки, так что я не прав.
+1
Думаю, что когда происходит застревание на одном сегменте — эволюция тормозится, пока одна из мутаций не позволит преодолеть барьер.
Если же барьер сильно сложней предыдущих участков, машинки так его могут и не преодолеть, потому что единичные улучшения недостаточны, и не фиксируются.
Если же барьер сильно сложней предыдущих участков, машинки так его могут и не преодолеть, потому что единичные улучшения недостаточны, и не фиксируются.
0
Только у меня после запуска ничего не происходит? Вижу розовый восьмигранник и скачущие цифры FPS. И все.
0
Попробуйте нажать пробел.
+2
Вииииии!!!
+17
вечерело. а машинки всё падали и падали ©
+2
Эти красавцы развились за час, на который я забыл о запущенной программе.
Отметка 1100, преграды преодолевают почти вертикально стоя на заднем маленьком колесе.
Быть может сделать режим в котором наследник рождается не на старте, а где-нибудь по пути (в зависимости от положения родителей).
Это, по идее, должно дать повышенную приспособленность к локальным условиям рельефа. Если при этом рельеф не «линейно повышает сложность вплоть до сумасшедших непроходимых колесами гор», а как-то чередуется, то на выходе будет интересная динамика смены приоритетов.
Отметка 1100, преграды преодолевают почти вертикально стоя на заднем маленьком колесе.
скрин
Быть может сделать режим в котором наследник рождается не на старте, а где-нибудь по пути (в зависимости от положения родителей).
Это, по идее, должно дать повышенную приспособленность к локальным условиям рельефа. Если при этом рельеф не «линейно повышает сложность вплоть до сумасшедших непроходимых колесами гор», а как-то чередуется, то на выходе будет интересная динамика смены приоритетов.
+2
В некоторых местах это изменение позволило использовать новый способ преодоления препятствий — постепенно точка рождения потомка перемещалась по полю дальше. Не знаю, как объяснить, вот картинка:
Скрытый текст
0
Стоило наверное рождать на месте кончины «аутсайдера». Т.о. «куча» не будет перемещаться «телепортами», а только своими силами.
0
Попробовал сейчас два варианта: рожать новых на месте, где умер самый неуспешный и на минимуме из текущих рекордов.
В первом случае всегда найдется уникум, который откатился чуть назад и помер, и вся популяция потихоньку двигается назад, пока не начинает рождаться как заведено в Спарте, прямо над пропастью.
Во втором вся популяция потихоньку движется вперед, потому что минимальный рекорд новой особи будет ее местом рождения, то есть не меньше, чем раньше. А может так случиться, что все, хоть понемногу, да прокатятся вперед.
В первом случае всегда найдется уникум, который откатился чуть назад и помер, и вся популяция потихоньку двигается назад, пока не начинает рождаться как заведено в Спарте, прямо над пропастью.
Во втором вся популяция потихоньку движется вперед, потому что минимальный рекорд новой особи будет ее местом рождения, то есть не меньше, чем раньше. А может так случиться, что все, хоть понемногу, да прокатятся вперед.
0
Лемминги?
+1
Натолкнуло на мысль, было бы здорово иметь возможность автоматически сохранять gif с историей мутаций лидеров.
0
Интересно, а трехмерную версию реально создать?
0
Ввести «поведение» машинок, диктуемое так же генами. Например, снизить скорость на крутом уступе и так далее.По мне, так это очень интересный пункт. Наблюдая за машинками из прошлой статьи я обратил внимание, что есть препятствия, которые преодолевают чуть более чем 0% машинок. Если позволить машинкам ускоряться и замедляться и заложить это в гены, то можно выводить популяции, адаптированные под конкретную трассу. Очень грустно наблюдать, как превосходная по дизайну машина валится на какой-нибудь яме, которая в принципе (при разгоне-торможении) может быть пройдена, но из-за неудачного соотношения с размером машинки, оказывается непреодолимой.
По-моему мнению залог интереса здесь также наличие двух и более механизмов игры, успех по которым зависит от разных оптимальных сосояний машинки. То есть чтобы, например, большой размер был выгоден по одному параметру, но невыгоден по другому. Тут можно связать с реальным миром, что добавит интереса, хотя это и не обязательно.
0
За ночь машинки «отрастили» большое переднее колесо и почти смогли пройти сложный участок (некоторым даже удавалось).
Посмотреть
0
А у меня за ночь народ прошел очень подлую яму на 640, на которой постоянно отваливались колёса, но уперся в 777.57
Вот думаю останавливать или нет — вдруг родится кто-нибудь с парой дополнительных колес и выберется отсюда.
Вот думаю останавливать или нет — вдруг родится кто-нибудь с парой дополнительных колес и выберется отсюда.
0
Предлагаю динамически красить трассу. Например окрашивать красным плиты в зависимости от процента погибшего на них народа. Еще можно красить по «посещаемости» — красить плиты в зависимости от процента доехавших машинок.
Было бы очень наглядно.
Было бы очень наглядно.
0
У коллеги эволюция пошла по неожиданному пути :)
+8
У меня нет дороги…
0
висит в таком состоянии и ничего не происходит:
Вентилятор видеокарты при этом бешено работает. W8 x64.
screenshot
Вентилятор видеокарты при этом бешено работает. W8 x64.
0
Возможно симуляция на паузе. Для снятия паузы — нажать «пробел».
0
Странно, вертикальная синхронизация должна быть включена, такой fps быть не должен с ней. Возможно, особенности драйвера под W8.
Насчет ничего не происходит, совет выше с пробелом помог? Пожалуй, стоит добавить виджет для скорости симуляции, чтобы было наглядно.
Насчет ничего не происходит, совет выше с пробелом помог? Пожалуй, стоит добавить виджет для скорости симуляции, чтобы было наглядно.
0
Про fps, на W8 при запуске с интегрированной видеокартой fps 400-600, с нвидией — 60
0
Да, симуляция, почему-то, на паузе при запуске и кнопка Follow the leader отжата, а камера выше трассы в этот момент находится. Всё теперь работает нормально.
0
Упало с такими параметрами:
0
Как конкретно упало?
Строку seed не разглядеть. Но слишком большие максимальная длинна ребра, скорость и крутящий момент.
Машинки будут рождаться наполовину в трассе и улетать с космической скоростью из-за огромных скоростей колес.
Да, на параметрах нет защиты от излишне изобретательного пользователя :)
Строку seed не разглядеть. Но слишком большие максимальная длинна ребра, скорость и крутящий момент.
Машинки будут рождаться наполовину в трассе и улетать с космической скоростью из-за огромных скоростей колес.
Да, на параметрах нет защиты от излишне изобретательного пользователя :)
0
Я смотрю, у вас в конце очень даже приличные экземпляры начали ездить)
«Шах и мат, креационисты!».
«Шах и мат, креационисты!».
0
+2
Sign up to leave a comment.
Еще об эволюции гоночных автомобилей