Из других деталей ИИ, у нас есть множество ролей для наших агентов, каждая из которых обладает собственным набором возможных вариантов поведения. Каждый из этих вариантов поведения генерирует серию задач для агентов, таких как блуждание, исследование карты, отдых, торговля, сбор лута, создание предметов, охота на монстров и так далее. Эти задания могут генерироваться периодически или ситуативно, а также "выталкивать" друг друга из очереди задач героя. Например задача отдыха выталкивает все незаконченные задачи исследования карты и охоты чтобы получить новые заказы следующим утром.
Я выстрадываю своё решение в похожем направлении, лови пару наработок:
1. А* можно применять не только к карте, но и к взаимодействиям. В том числе и к планировщику.
2. Добавь неписям эмоции. У человека это (список не полный):
- "да!"/эйфория/эндорфин
- "ок"/ожидание порядка/дофамин
- "нет"/"ожидание боли/кортизол
- "ща будут бить"/норадреналин
- "ща буду бить"/адреналин
- "Я КРУТОЙ!!!!"/тестостерон
- "Детали!!"/эстроген (перерабатывается из тестостерона маткой)
- "голод"/(забыл)
- "сытость"/(забыл)
- "поднять вольтаж!!"/ГАМК
- "снизить вольтаж!"
- "поднять реактивность!"/(забыл)
- "узбагойся"/глицин
Суть эмоций - формировать временный "контекст".
"Плохое настроение - это когда ты с удовольствием на всё раздражаешься"Это позволяет относительно дёшево формировать "фоновое поведение", чтобы персонаж, впавший в боевой транс, нуждлся во времени "прийти в себя". То же с истериками, то же с жадностью, с чем угодно. Но может быть и шок из-за испуга.
При этом - убирается проблема "залочившийся стейтмашины". Да, нужно время "оттаять", зато - без "мёртвых петель".
Так что можешь "эмоциями" хоть Бартла 2.0 сделать.
Был бы рад показать/предоставить своё поделие, но я реально его выстрадываю и сейчас кисну над реализацией памяти.
PS: чисто пожелание.
А можно потом доработать диалоги и в этом же мире запилить РПГ? Могу помочь с конлангом (toki pona*, tuki tiki - готовые, мои разработки** aa iu/siu siu - в целом готовые, но словарь не доделан), чтобы с переводами один раз пострадать.
* - 60к знающих активных пользователей как минимум.
** - обрезанный на максимум микс русского, цыганского и японского языков. Внезапно, сработало довольно неплохо.
Много советов, спасибо за дельный фидбек)
Комментарий недоступен
Я тоже)
Используй больше переменных для тонкой настройки. И потом иорайся с коэффициентами.
Например : идти продавать лишнее , не когда этоого лишнего становится X - экземляров.
Сейчас у тебя:
После того как у героя появляется больше одного оружия, планировщик добавляет задачу "торговать" и агент продает все излишки кузнецу
Есть смыл поиграться. Добавить больше переменных ,а потои крутить и выбирать что лучше выглядит с точки зрения зрителя.
Согласен. Так и делаю – сначала пишу минимально работающую реализацию, потом добавляю параметры которые можно крутить в рантайме. В самой игре потом будет более интересный алгоритм – например продавать все крому лучшего оружия в категории или учитывать расстояние до продавца при планировке, в демо этого нет.
Нихуя не понял, но очень интересно (с)
Не шарю в программировании дальше третьей главы по Шарпу на метаните, но звучит очень интересно.
Отталкивающий вектор обычно обратно пропорционален расстоянию или квадрату расстояний до всех препятствий на пути к целиИнтересно, как вообще человек, который это придумал, пришел к этому
А некоторые проггеры ещё втирают, что матеша не нужна