Пятница на связи, и мы открываем второй десяток отчетов.

Всем привет, и сразу к делу!

I 3D модели

Легкие штаны

На этой неделе мы работали над разнообразием легких штанов. Моделлерам по-прежнему предоставлена полная свобода.

II Обновленная текстура персонажа

Новая модульная система брони и одежды уже в работе, но там не хватало одного аспекта, возможно, даже самого важного, а именно - трусов, которые будут скрывать наготу, когда из персонажа выпадут штаны после смерти)

Если бы данное нижнее белье было отдельной моделью - сложности бы с ними совсем не было, но нам нужно было изловчиться так, чтобы скин (читайте - текстуры) выглядел достойно. При этом, границы нижнего белья очень строгие и исходят от все той же модульной системы.

Вышло вот так. Да, мы специально хотели постарее и порванее.

III Мобы

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

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

Встречаем пристрелку к NVIDIA Hairworks в ROG.

Мы не уверены, что пролезем по оптимизации в жанр MMORPG, но очень постараемся. Так или иначе, данную “фишку” можно оставить только доп. параметром к Ультра-настройкам графики.

[К слову, ]

Обычно шерсть и волосы в играх создаются посредством добавления к изображению персонажей полигональных линий и прозрачных текстур. Хотя это довольно простая технология, но она чрезвычайно трудозатратная, а мех и волосы в результате выглядят совершенно статично и визуально неинтересно. При создании динамичного меха и волос в изображение персонажа можно добавить сотни тысяч волосков, каждый из которых реалистично реагирует на движения персонажа и внешние факторы.

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

***

IV Оптимизация

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

[К слову, ]

Оптимизацию нашего проекта, в котором работают дизайнеры уровней, можно разделить на следующие основные разделы:

  1. Оптимизацию глобальных настроек проекта;
  2. Оптимизацию материала, который процедурно покрывает ландскейп;
  3. Оптимизацию каждого меша (3D модели с текстурами) по отдельности:  его LOD’ы, правила отображения материала, упрощение материалов на дистанции, правила и качество отбрасываемых теней в зависимости от той же дистанции;
    1. флора (особенно деревья от SpeedTree);
    2. недвижимость и элементы конструктора недвижимости;
    3. небольшие детали (полено, фонарный столб, вывеска, наковальня и т.д.);
  4. Объединение, по сути, идентичных мешей по определенным правилам в один большой меш или инстанс-группу (заборы, кучи камней, кучи бревен и т.д.);
  5. Освещение и тени в открытом мире, освещение и тени в инстансах;
  6. Правила и параметры подгрузки объектов мира, которые находятся в определенной области вокруг персонажа, но принадлежат другому уровню (т.е. другой “подкарте”). Напомним, что каждый материк состоит из 64 клеток (“подкарт”), каждая из них площадью 6,25 кв. км, но часть из них находится под водой.

С одной стороны, это базовый набор методов для оптимизации проекта. Но каждый раз он уникален, потому что одинаковых проектов не бывает. Разница между 1-ым и 3-им лицом, разница в перепаде высот на материке и т.д.

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

Покажем на примере одной из деревень.

До настройки:

Cull Distance Volume Off, ~35ms, 10k+ DrawCalls

После настройки:

Cull Distance Volume On, ~20ms, 4k+ DrawCalls

P.S. значение FSP, которое здесь приводится - это FPS из проекта, а не собранного билда, оно всегда значительно ниже.

***

V Заключение

В заключении уже традиционно поговорим об околоразработке:

  1. Самая радостная новость для нас - технические работы по новому сайту практически завершены. Уже на следующей неделе мы начнем активную работу на внешним оформлением нового сайта с нашим дизайнером Татьяной.
  2. Мы приступили к разработке страницы нашей игры в Steam. В ходе создания ряда ключевых артов, в команде возникли разногласия касательно главного изображения, которое будет являться основой представления игры в Steam и будет красоваться как на главной странице, так и в рекомендуемых играх, и в шапке на странице самой игры. За советом мы обращаемся, разумеется, к нашей аудитории. Голосуйте за понравившийся вам вариант, а в следующем отчете мы подведем итоги и сообщим о принятом решении.Вариант 1Вариант 2
  3. Есть хорошая новость и для будущих стримеров: Reign of Guilds появилась на Twitch. Это конечно же поможет как стримерам, так и нам в продвижении игры в ближайшем будущем. Пока там пусто, но уже можно подписаться.
  4. Довели до ума сайт студии Atlant Games.
  5. Более подробный рассказ о новом сайте, личной сети IP адресов, серверах и т.д. - в следующем выпуске отдельной “Околоразработке”.

На этом пока все, не болейте, не скучайте и хороших выходных!

Присоединяйтесь к голосованию и обсуждению отчета на нашем форуме и в группе ВК.

Вечер пятницы – вздROGнем, друзья!

С уважением,
команда Reign of Guilds