Друзья, привет!
Нам искренне жаль, что предыдущий отчет был еще глубокой зимой, а данный - в разгаре весны. Но на то есть свои причины, о которых мы уже неоднократно писали.
Также мы приносим извинения, что оставили в некотором запустении социальные сети, но приоритеты сейчас расставлены иначе.
Мы подняли вопрос о выделении из сообщества эмиссаров, которые получат полномочия модераторов в некоторых социальных сетях и на форуме.
Еще стоит отметить, что отчеты на текущий момент, к сожалению, перестали опережать патчи, и даже начали от них отставать.
Теперь к самому отчету, его структура будет следующей:
- Мобы;
- [AI 2.0] Технические нововведения;
- [AI 2.0] Принципы модели;
- Материал для ландшафта;
- Модели, иконки, предметы;
- Патч;
I Мобы. Олень
Закончена работа над покрытием данного животного мехом, а также ряд анимаций к нему
Выглядит олень с мехом так:
Поднимается после отдыха так:
А бегает вот так:
На следующий раз - новый волк, птицы, а потом уже анимации для всех мобов животного происхождения.
II [AI 2.0] Технические нововведения
2.1 Спавнер
В первоначальной редакции спавнер умел спавнить и деспавнить мобов на одной и той же удаленности игрока от точки спавна, это приводило к тому, что для незаметного исчезновения/появления мобов мы были вынуждены значительно увеличивать эту одну единую дистанцию.
Мы решили, что этого недостаточно, и сделали так:
есть 3 зоны:
- Зона №1, в которой появляются мобы;
- Зона №2, дистанция от игрока (первого вошедшего), на которой срабатывает спавнер и одновременно - зона, за которую не увести мобов данного спавнера;
- Зона №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 в обновление вошло следующее:
- серверное время в связке с TrueSky, обновленном до 4.2 версии;
- оптимизирован базовый расход и утечка оперативной памяти:
- добавлены игровые предметы, о которых мы рассказали в п. 5 отчета;
- созданы LOD’ы для всей брони и одежды (на дистанции упрощается не только геометрия моделей, но и отключается физика ткани, а также материалы “теряют” лишние текстуры);
- расширены и актуализированы настройки графики (теперь они не только помогают с оптимизацией, но и подойдут для “стилистических” настроек: отключение блюмов и блюров и т.д.);
- многочисленные багфиксы;
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