Вот что оказалось самым забавным в моем поиске - это что ни один из туториалов не предлагает такую реализацию ИИ - реально “сложную” реализацию. Оно и понятно, игроки стали казуальными, даже в ААА. С каждой новой игрой от ubisoft, ютуб заполняется роликами, насколько же тупые у них боты. Поэтому в качестве серии роликов “для продвинутых” хочу сделать видео про написание не просто “ИИ написанный с помощью Х”, а сделать серию роликов про по настоящему “сложный ИИ”, который будет уметь делать все перечисленное и не только.
...а теперь добавь "страх" и "желание" для поведения, которое делает его более иррациональным.
Любой ии на машине это в первую очередь код и работа с коэффциентами, и приоритетами.
Машина состояний удобна тем что там коэффициенты на глазок понятны, и работать с ней просто и удобно.
Все проблемиы начинаются когда надо прописать сложное осмысленное поведение . Поэтому используют ветви поведения нпс, в которых общее состояние определяет локальное поведение.
Goap, который же ассоциируеьтся у всех с Фиром это систеиа еоторая в первую очередь работает с локацией. Именно от окружающей локации создавая имерсивное неповторяющиеся поведение бота в зависимости от того в какой точке находится нпс и игрок. Почему то многие об этом забывают.
Особый кек что в фире эту систему автор реализовал чуть ли не за неделю и потом сильно удивлялся полодительным отзывам игроков.
Минус GOAP'a что система того же фира работающая в маленьких комнатах начинает откровенно тупить когда действие переносится в открытые локации с пустыми полями. Ибо бот по сути обрабатывает перед собой локацию только на том расстоянии на которое способен пробежать.
Нейросети и машинное обучение - это способ получить коэффциенты поведения на основе анализа баз данных, поэтому для обучения нейронки нужна база данных с реплями тех же игроков. Тот же дип майнд обучалсч на играх киберкотлет.
Или же реплеи можно получить на основе записи игр ботов по стандартной схеме. Машинное обучение позволяет апроксимировать разные модели поведения в одну. Из минусов: большое количество данных, длительность обработки, и ... черный ящик, полное непонимание что происходит внутри нейросети, из за чего невозможно ее пропатчить убрав повторяющиеся баги, проще переобучить заново, убрав ту часть данных что обучила ее плохому.
Лично мне кажается что создание поведения ии должно разбираться непосредственно в рамках жанра. И тогда станет ясно что главное, что второстепенное.
Для стратегии нужен один тип бота, для шутера другой, для рпг с живым миром, третье.
А еще нужно учитывать статический или динамический у нас мир
А еще нужно учитывать статический или динамический у нас мирЛюбой мир динамический: в нём двигаются агенты.
Даже если этот мир - текстовый квест, где "движение" - это наличие/отсутствие.
Но я понимаю о чём речь.
Для стратегии нужен один тип бота, для шутера другой, для рпг с живым миром, третье.Стратегии и РПГ по сути одно и то же (при определённом масштабе). Более того, смешение РПГ и РТС хотя и требует внимания, но даёт офигенные живые миры (the Sims - как пример).
Комментарий недоступен
Я пока думаю UtilityAI лучше всего. А c behavior tree какой-то гемморой