Veliri. Дневник разработки 5
Приветствую, DTF. Я все еще продолжаю делать ММО игру :)
Я наконец то сделал страничку в стим, поэтому если кому нраица игра добавляйте в желаемое: https://store.steampowered.com/app/2828170/Veliri_Planet_of_Machines, так же я там веду небольшой девлог которые я почаще обновляю)
В этот раз я довольно сильно улучшил поведение ботов и взаимодействие с ними.
В целом боты в игре это не просто болванчики для битья. У каждого бота есть свои правила поведения в мире игры. Они могут торговать, добывать ресурсы, подбирать предметы, грабить, сражаться за сектора и даже выполнять задания по сопровождению, убийству и доставке.
Всего в игре 5 основных ролей для ботов:
торговец: основная деятельность торговля товарами между базами.
- агент: выполнят задания (сопровождения, убийства, доставка).
- пират: занимается рэкетом, лутает окрестности.
шахтер: добывает ресурсы, лутает окрестности.
защитник: местная полиция.
Помимо основных ролей есть мобы которые просто тусуются и ждут пока кто либо появится в поле зрения чтобы напасть и событийные роли типо воинов в войне или экспедиция.
Боты общаются между собой и с игроками с помощью системы запросов. По классике это «дай денег» или «помоги в драке».
До недавнего времени я не знал как нормально наладить общение между нпс и игроками, т.к. в реалтайме нет времени “читать” и выцеливать ботов чтобы дать им команды.
Однако недавно поиграл в старую игру с подобным концептом и там эта системы реализована через “выделение” цели с которой хочешь взаимодействовать (как в любой ммо игре, госпаде и почему я так долго тупил). И реализовал это у себя :)
Цвет рамки говорит о том, как бот относится к вам — от «враждебно» до «отлично». От этого немного отличается поведение бота. Например, враждебные боты с большей вероятностью согласятся на бой против вас, а в пустошах сразу нападут. Дружелюбные боты не станут нападать и могут дать какую-то подсказку при «приветствии».
Если рамка синяя или голубая, это значит, что бот «боится» и пытается уйти подальше, независимо от его отношения к вам.
Выделение цели также полезно для того, чтобы следить за ней в «тумане войны», так как цель остаётся помеченной до тех пор, пока она находится в зоне работы радара.
Когда цель выбрана, появляется ещё одно меню с минимальной информацией о цели и «диалог» (его можно скрыть, если кому-то он не нужен). Конечно, читать в реальном времени всё ещё неудобно, но это лучше, чем ничего) (ещё напрашиваются горячие клавиши, но мне пока было лень их добавлять).
На текущий момент доступны такие запросы:
"Ограбить" - при успешном срабатывании вы получаете кредиты.
"Вытряхивай трюм" - при успешном срабатывании выбрасывает случайное количество предметов в мир.
- "Совместное нападение" - при успешном срабатывании бот нападает на указанную цель.
- "Оставить в покое" - при успешном срабатывании бот прекращает атаковать текущую цель.
- "Мир" - при успешном срабатывании отношение с ботом становится нейтральным, и он перестанет вас атаковать.
Вот как то так, буду рад услышать ваше мнение в коментах.
Общение с НПС очень сильно напомнило Рейнджеров :)