Друзья, привет!

Нам искренне жаль, что предыдущий отчет был еще глубокой зимой, а данный - в разгаре весны. Но на то есть свои причины, о которых мы уже неоднократно писали.

Также мы приносим извинения, что оставили в некотором запустении социальные сети, но приоритеты сейчас расставлены иначе.

Мы подняли вопрос о выделении из сообщества эмиссаров, которые получат полномочия модераторов в некоторых социальных сетях и на форуме.

Еще стоит отметить, что отчеты на текущий момент, к сожалению, перестали опережать патчи, и даже начали от них отставать.

Теперь к самому отчету, его структура будет следующей:

  1. Мобы;
  2. [AI 2.0] Технические нововведения;
  3. [AI 2.0] Принципы модели;
  4. Материал для ландшафта;
  5. Модели, иконки, предметы;
  6. Патч;


I Мобы. Олень

Закончена работа над покрытием данного животного мехом, а также ряд анимаций к нему

Выглядит олень с мехом так:



Поднимается после отдыха так:


А бегает вот так:


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


II [AI 2.0] Технические нововведения

2.1 Спавнер

В первоначальной редакции спавнер умел спавнить и деспавнить мобов на одной и той же удаленности игрока от точки спавна, это приводило к тому, что для незаметного исчезновения/появления мобов мы были вынуждены значительно увеличивать эту одну единую дистанцию.

Мы решили, что этого недостаточно, и сделали так:

есть 3 зоны:

  1. Зона №1, в которой появляются мобы;
  2. Зона №2, дистанция от игрока (первого вошедшего), на которой срабатывает спавнер и одновременно - зона, за которую не увести мобов данного спавнера;
  3. Зона №3 - зона, за пределами которой (последний вышедший игрок), уничтожаются мобы.

Зона №2 всегда больше Зоны №1, примерно на 50-100м, а зона Зона №3 всегда больше Зоны №2, примерно на 25-30м.

Это позволяет исключить возможность спама появлением/исчезновением мобов в спавнере.

Для наглядности:



2.2 Поле видимости

Мобам добавлен такой параметр, как “поле видимости”, которые работает на интуитивно понятных принципах (угол обзора и дальность).

При этом дальность не всегда означает триггер на реакцию. Моб может вас видеть, но не реагировать, если вы слишком далеко.

Сейчас угол обзора для всех в районе 150 градусов.

Работает это все вот так:



III [AI 2.0] Принципы модели

Изначально мы планировали создать заранее подготовленные роли и характеры для AI, чтобы в дальнейшем с помощью перемешивания добиться разнообразия, но в итоге была создана система, работающая немного иначе:

  • действия, триггеры для запуска этих действий и теги;
  • она позволяет добиться большего разнообразия;
  • но является более трудоемкой при создании, т.к. шаблоны нужно делать с нуля;

Система получила внутреннее название на русском ДТТ (действия, триггеры, теги). Пойдем в обратном порядке, т.к. теги являются характеристикой триггеров, а триггеры запускают действия.

Теги

другими словами, это объект, который отслеживается AI. Данная характеристика может быть как статической, так и динамической. Статический устанавливается на все время, а динамическая приобретается ввиду того или иного действия объекта.

Пример:

каждый персонаж имеет статический тег “Player”. Динамическим же может быть: “Agressor” - напавший на другого игрока, “PK” - убийца, как привязка к карме, “Owner” - как собственник призванного моба и т.д.

Триггеры

по сути, это определенное правило, направленное на объект, выполнение которого запускает то или иное действие.

Триггеры делятся на следующие категории:

  • В поле видимости (если заданный тег попадает в поле видимости, то произойдет смена действия)
  • Вне поле видимости (если заданный тег исчезнет из поля видимости, то произойдет смена действия);
  • Воздействие (нет жесткой привязки к тегу, а основан на воздействии на моба, к примеру, моб получил урон от кого бы то ни было, то произойдет смена действия)
  • Отложенные (тоже нет привязки к тегу, а служит для смены действий по истечению времени + плавающая величина)
  • Внутри области (если дистанция до тега меньше N метров, то смена действия)
  • Вне области (если дистанция до тега больше N метров, то смена действия)
  • Состояние (пока проверяется только количество ХП моба, и если оно меньше/больше/равно указанного абсолютного или относительного значения, то происходит смена действия).


Действия

это самое интересное, мы выделили следующие главные действия, которые могут выполнять AI:

  • Безделье (idle) - статическое или динамическое, с периодическим выполнением других действий в указанных точках;
  • Следовать за тегом;
  • Убегать от тега;
  • Патрулирование - по указанным точкам в свободном порядке, либо по строго указанному маршруту;
  • Атаковать тег - ближний и дальний бой, а также правила переключения между ними, если AI подразумевает использование 2 типов оружия;
  • Обороняться от тега - может использоваться и самостоятельно, но изначально готовилось для переключения между атакой и обороной для формирования тактики ведения боя (поиск середины между постоянной атакой и глухой обороной);
  • Поиск тега в указанной области в течение N времени или количество раз, если он пропал из поля видимости;

К техническим действиям мы относим те, которые в чистом виде не будут использоваться:

  • Получение урона от тега;
  • Следовать к какому-то объекту на карте (не путать с тегом, который привязывается к одушевленным объектам);


Простейший пример

Палочнику задаем следующие параметры:

  • Бездельничай в указанной области, выбирая себе место для остановок;
  • Если увидишь игрока, то сгруппируйся и возвращайся обратно к безделью;


  • Атакуй, только если игрок будет ближе, чем 5м;


Мы продолжим приводить примеры в следующих отчетах, а количеством комбинаций ДТТ для формирования того или иного характера и роли AI вы можете сами прикинуть.


IV Материал ландшафта

Техническое усовершенствование, направленное на минимизацию проваливания стоп в 2.5D материал.

По сути, мы добавили функцию оффсета визуальной поверхности, относительно поверхности для расчета коллизии:


После этого мы на техническом уровне подогнали для каждой поверхности свой индивидуальный оффсет.

Кстати, теперь у вас есть представление о том, какие поверхности есть у ландшафта:



V Модели, иконки, предметы

Мы закончили ремастер материалов и текстур для всех существующих на текущий момент моделей брони, одежды и аксессуаров.



Напомним, что под ремастером в нашем случае понимается совершенствование процесса обработки текстур материалами, а также добавление новых текстур, благодаря которым работает так называемый параметр “ветошь”.

Выглядит это так:

Базовый вариант / усовершенствованный / усовершенствованный + “ветошь”



В процессе ремастера, мы также уделили должное внимание оптимизации, работая с одним главным “родительским” материалом и его “дочерними” инстанс материалами. Данная процедура снижает количество команд на рендер, выполняя по сути, одну и ту же функцию, но поставляя в нее новые параметры.

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

Иконки “были” и “стали”


В итоге, на текущий момент готовые иконки:


Почти все обновленные модели и созданные иконки мы задействовали в новых предметах и добавили их новым торговцам на PTR сервер:


VI Патч

10/02/2020 на PTR была залита новая версия, которая получила маркировку “0.50.107”, означающая, что мы миновали половину релизной готовности проекта.

Главный камень преткновения, который нас отделял от 50% готовности - это AI 2.0, о котором мы сейчас рассказываем, и будем продолжать рассказывать несколько следующих отчетов.

Помимо AI 2.0 в обновление вошло следующее:

  1. серверное время в связке с TrueSky, обновленном до 4.2 версии;
  2. оптимизирован базовый расход и утечка оперативной памяти:

  3. добавлены игровые предметы, о которых мы рассказали в п. 5 отчета;
  4. созданы LOD’ы для всей брони и одежды (на дистанции упрощается не только геометрия моделей, но и отключается физика ткани, а также материалы “теряют” лишние текстуры);
  5. расширены и актуализированы настройки графики (теперь они не только помогают с оптимизацией, но и подойдут для “стилистических” настроек: отключение блюмов и блюров и т.д.);
  6. многочисленные багфиксы;


VI Заключение

Сначала расскажем о планах (следовательно то, что вы увидите в следующих отчетах):

  • По программированию мы закончили AI 2.0 и вернулись к SpatialOS, и по сути мы зажаты:
    • между желанием провести Альфу уже на облачных и масштабируемых серверах Google (т.е. на системе SpatialOS);
    • трудоемкостью переезда, когда основа уже была создана для нашего собственного seamless решения;
  • По геймдизайну:
    • работа с AI 2.0 (добавление имеющихся мобов и создание для них своих ДТТ параметров);
    • актуализация предметов на PTR;
  • Тех. дизайн:
    • работа с TrueSky в рамках исправления ошибки приводящей к крашу на ряде устройств;
    • создание HLOD для больших локаций;
    • настройка и совершенствование параметров “подгрузки уровней”, чтобы минимизировать встречающиеся фризы;
  • По дизайну уровней:
    • мы планируем сделать небольшую арену, с удобным местом респауна, и предусмотреть простейшие правила, которые в дальнейшем лягут в основу продвинутой арены (как гладиаторской школы);
  • По моделям и анимациям:
    • закончим с мобами животного происхождения (волк 2.0 и птицы);
    • перейдем к нечисти (как самая отстающая группа мобов);
    • после этого вернемся к самым остро необходимым моделям брони для проф. школ;

? Вопрос к читателям ?

Есть достаточно интересный и острый вопрос относительно кор-геймплея, а общее негодование не_олдов по этому поводу делает его еще более актуальным.

Хоть многие из ROG Club и те, кто застал прототип, знают, что:

  • ROG заточен под игру от 1-го лица;
  • Существующий режим игры от 3-го лица ограничен в боевых активностях (т.е. при переходе в режим от 3-го лица запрещено использовать оружие)
  • а исчезающий хотбар и баффбар напоминает о режиме ограниченной функциональности;
  • кстати, поведение камеры от 3-го лица мы изначально защищали от абуза “заглядывания” за стены;


Вопрос заключается в следующем: что вы думаете по поводу разрешения игры от 3-го лица с полным функционалом, но за который приходится чем-то платить (например, работает только через бафф, т.е. занимает 1 слот из 7 возможных)?

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

Поэтому привычный для многих режим от 3-го лица с выигрышем по FOV займет столь ценный в PvP слот под бафф.

Дальность отдаления при этом можно сделать зависимым от количество слотов, которые съедает данный бафф.

На этом пока все!

ВздROGнем за здоровье, друзья, в это нелегкое время!

Ваша команда Reign of Guilds