Как стать автором
Обновить

Комментарии 9

Лет пять уже как делаю виртуальную лабораторию, где у каждого актера есть желания(потребности, хотелки и т.п), задачи и шаги выполнения. Общий алгоритм на пальцах достаточно простой:

— Задачи имеют некоторый динамический приоритет рассчитываемый от текущих желаний актера
— Если задача изменилась (или началась к исполнению с нуля) она формирует список шагов для ее достижения
— Исполняется шаг из очереди, если очередь пуста — переходим к следующей задаче по приоритету.
— Если другая задача превышает по приоритету текущую выше определенного значения — она отменяет текущую(и ее шаги) и становится актуальной задачей.
— Если шаг невозможно выполнить — обнуляется весь стек шагов. (на самом деле механизм чуть сложнее, но так проще объяснить базовый концепт)

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

Звучит интересно. Покажете?

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

Но могу рассказать подробности если вас интересует что то конкретное, или написать небольшую статью(если дойдут руки, но написание текстов даётся мне с трудом, с учётом моей безграмотности).

Эксперименты которые я проводил в основном сводятся к наблюдению над средневековым поселением в сотни, иногда тысячи человек, с проверкой различных теорий, вот некоторые из самых ярких: как будет меняться темп развития общества если детей будет растить спец институт вместо семьи, как можно уменьшить (отменить) инфляцию при государственном регулировании в рамках небольшого общества, какие эффекты даёт базовый гарантированный доход и т.п.

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

Реквестируется пост)

Круто, спасибо! Жду вторую часть с игрой, в которую можно поиграть. Код на C# и Unity тоже интересно посмотреть. Какая игра будет: гонки, стрелялки или что-то еще?

Скорее всего какой-то интерактив подходящий для стелс игр, можно построить более обоснованный план для NPC)

Спасибо за вводную, очень круто, ждём ещё )

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

Насколько мне известно в The Sims применяется Utility AI

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории