Алексей Патрашов
> Вот мы и хотим отойти от ручной работы в сторону автоматизации всех этих многообразий поведения.
Имхо, вам просто интересно ковырять абстрактный ИИ ради самого ИИ.)
Не то, чтобы я считал, что это плохое занятие.)
научил ИИ находить "путь" выполнения потребностей. (см. пост #74)
Пришлось из-за этого переписать весь код. ( ну почти весь.
Сейчас буду его учить замечать и запоминать различные объекты так, чтобы он смог с ними взаимодействовать.
Ryhor1, ну как, получается? Есть какие-нибудь сложности?
Ты делаешь абстрактный движок? Наверняка будет проще начать с движка для конкретной игры.
Он хочет сделать такой движок, что бы к любой текстовке подошел. Вообщем то весьма революционный труд.
Ryhor1
А будет ли у твоего ии такой элемент как учет убеждений и их формирование? Допустим для твоего примера это может выглядеть так. Бот решает по твоей системе что ему нужно в яблоневый сад. Но у него может быть убеждение "воровать плохо" и так как сад не его, он пойдет искать владельца сада. И может быть договориться с ним а может и нет. А другой бот с убеждением "я альфа самец и беру от жизни все что хочу" сорвет яблоко спокойно. Тогда возможна ситуация что ему потом за это предъявят.
Убеждения могут быть самыми разными. Допустим все "богатые воры" или "жители соседней деревни геи".
Соответственно поведение будет отличаться.
Тут нужно тогда создать процесс формирования убеждений. Их могут передавать родители они могут формироваться исходя из жизненного опыта бота.
Virtex
получается, сложности есть, но они решаются.
Ты делаешь абстрактный движок?
я придумываю алгоритмы по принятию решений для игрового ИИ. Их можно будет использовать для создания атмосферы живого мира. Хотя, мне кажется, общий алгоритмы у меня уже готовы, сейчас думаю над созданием игры, где их можно было бы реализовать.
TurboMaX
А будет ли у твоего ии такой элемент как учет убеждений и их формирование?
Да, это есть. При принятии решения о каком-либо действии, бот учитывает много различных факторов. Одни из них относятся к самому боту: его настроение, активность, потребности. Другие относятся к самому действию: отношение бота к действию, к объекту, над которым совершается действие, формальные отношения к объекту или к действию. Этот как раз то, о чем вы пишите.
Это всё придется прописывать моделисту ИИ, зато сам бот уже на основе всех этих описаний будет самостоятельно принимать решения. С одной стороны, не особенно таки и упростился процесс создания ИИ, с другой - ИИ работает быстро и так, как ожидает этого создатель.
Ryhor1
Вы написали что скриптер должен прописывать это, но мне кажется намного интереснее если такие вещи ии может сам генерировать, так как мир становится более уникальным чем заранее пописанные шаблоны личностей.
А будут ли модели групповой психологии? Объедение групп ботов по родовым признакам, семья например, либо общей целью, несколько ботов решили навалять мэру города и они объединились в группировку с этой задачей, соответственно деятельность всех участников согласована и направлена на достижение цели. Либо цель отдых, идут компанией на озеро рыбу ловить. Замечу, что много ботов ловящих рыбу по отдельности и именно компания ботов это разные вещи по поведению.
Вот эту вещь с групповой психологией ведь тоже можно прописать в ручную, но интересно именно стихийное формирование таких структур
TurboMaX
Вы написали что скриптер должен прописывать это, но мне кажется намного интереснее если такие вещи ии может сам генерировать, так как мир становится более уникальным чем заранее пописанные шаблоны личностей.
скажем так, создатель ИИ описывает действия: когда они осуществимы, как они работают и другие мелочи. Далее он описывает ИИ: что он знает о мире, его отношения к тем объектам и действиям, о которых он знает. В общем-то всё. Далее ИИ будет уже сам принимать решения в зависимости от ситуации по довольно простому алгоритму: будет удовлетворять свои потребности, реагировать на раздражители, будет учится, если такая возможность была задана создателем.
Т.е. получается, что заскриптованы только действия, а не выбор этих действий. Описание ИИ можно в некой степени доверить генератору случайных чисел, тогда вы получите уйму уникальных личностей.
А будут ли модели групповой психологии? Объедение групп ботов по родовым признакам, семья например, либо общей целью, несколько ботов решили навалять мэру города и они объединились в группировку с этой задачей, соответственно деятельность всех участников согласована и направлена на достижение цели.
Если создателю игры это нужно, то можно сделать.
Вот эту вещь с групповой психологией ведь тоже можно прописать в ручную, но интересно именно стихийное формирование таких структур
Ещё раз напишу, действия задаются вручную, а вот исполнение или не исполнение их ботом решаются алгоритмом принятия решений, который учитывает множество факторов.
TurboMaX
еще раз об алгоритме ии.
Одни из самых популярных способов создание ии - это скриптование, т.е. если ситуация удовлетворяет заданным условиям, то выполняется скрипт. Все кажется просто, но вот с наполнением игрового мира количество этих ситуаций растет экспоненциально. Это на каждом действии нужен миллион различных проверок, чтобы бот действовал более-менее разумно, а иначе будут ситуации, когда бота бьют, а он спокойно разговаривает с игроком, у бота на голове котелок и его это не волнует, игрок прямо перед носом ворует трофеи и его это тоже не волнует и т.д. Добавление дополнительный действий боту приведет к ещё большему количеству проверок на выполнение скрипта, что ухудшит производительность, и к увеличению количества багов, т.к. это достаточно сложная задача.
У меня же алгоритмы направленны именно на принятие решений, чтобы не пришлось мучится с проверкой на выполнение скрипта. Проверяется только возможность действия, например, можно съесть яблоко только тогда, когда у бота есть хоть одно яблоко. А вот съест он его сейчас или потом или он поделится этим яблоком с другим ботом, решает алгоритм принятия решений.
Добрый день.
Ваша тема еще жива?
Я работаю над игрой, в которой хочу сделать ИИ с такими же принципами поведения как и увас, однако не хочется изобретаь велосипедов и тратить на это время.
Рассматриваете ли вы вариант кооперации?+)
dbaykov
живее живых!
Ryhor1
Отлично, тогда, с вашего позволения, я поэкспериментирую на вас, а вы дадите мне фидбэк. Ну пожалуйста+)
Вот тема моей игры, которую я начал делать(по сути - все еще на стадии эксперементирования, но уже делаю стартовую локацию) - http://www.gamedev.ru/flame/forum/?id=190763
Весь процесс разработки(не бумажной части) я решил сделать так: беру как можно больше готового, не изобретая велосипедов во всем(Спасибо МК4 за божественно красивые модели+) ), в том числе и готовые подсистемы, например систему погоды UniStorm. Сам же сосредотачиваюсь на геймплее и так далее.
Разработчиком, чьи ассеты я использую предлагаю следующую схему(Важно: здесь нужен фидбэк):
1. Они дают мне ассеты бесплатно, с правом использования и изменения(но без права перепродажи).
2. По желанию получают статус разработчиков игры: доступ к игре, упоминания в игре и так далее.
3. В обмен получают: использование их логотипов на промо роликах, в соответствующих разделах сайта и прочие бенефиты(реклама то чего они продают), возможные денежные компенсации в будущем(обговаривается отдельно и заранее)
4. По желанию запрос от меня на добавление каких-то фич в их продукт или тюнинг под игру. Разумеется, все что они сделают спешиал под игру, они так же смогут распространять в их ассетах как им захочется.
5. Любые другие условия и обязательство по договоренности.
Если чего-то нет в сторе и нам эта фича нужна(так называемые фичи-тимы):
1. Специальный раздел сайта для разработчиков в виде трекера задач(подпроект в редмайне).
2. ТЗ на одну конкретную фичу.
3. Возможность разработчику отметить фичу как решаемую.
4. Набрать команду из других разработчиков.
5. Создание этой фичи.
6. Наша компания получает неисключительные права на созданную фичу с возможностью владения, изменения и дополнения, но не перепродажи.
7. Все права остаются за разработчиками и они вправе с этим ассетом делать что захотят(предполагается что будут продавать в сторе).
8. Разработчики фичи получают все возможные бенефиты, что описаны выше.
Тема ИИ мне очень интересна и близка. Все что описано в этой теме не однократно мусолил(планировал правда делать нейронные сети(я писал по нима диссер) + скриптованные инструкции + немного генномодифицируемых алгоритмов и самообучения). Хотел бы и сам взяться за эту интересную задачу, так как часть, которая касается симуляции взаимоотношений в социуме, напрямую касается моего основного проекта, который меня кормит. Но дабы достигнуть цели(создать ММО), готов пожертвовать привилегией создать близкую к реальности симуляцию ИИ на ваши плечи.+)
Собственно вопрос к вам: может будете разрабатывать ИИ движок в рамках нашей игры?
Апд:
Серверная часть на Эрланге. ИИ планировал реализовать так:
На всех высших ботов(сложных то бишь) один эрланговский поток. На мелких(мушки, паучки там всякие): один поток на сколько-то мобов(по пару сотен или тысяч).
Разработчикам, чьи ассеты я использую предлагаю следующую схему
На ассетc сторе? Мне кажется им это не нужно, купи их пак и все довольны
Тема в архиве.