Дневник разработчиков
Выпуск 4
Привет!

Сегодня затронем тему, которую обозначили еще на этапе анонса «Кореи», о визуальных нововведениях. Графический игровой движок «Кореи» действительно базируется на технологиях «Великих Сражений», вместе с тем произошли коренные изменения. Как и 12 лет назад движок «Великих Сражений» опирался на базу, созданную до того в «Войне в Небе 1917». Непросто рассказать о изменениях в графике в сжатом формате «Дневников разработчика», поэтому заранее приносим извинения за некоторый «неформат» в этом выпуске. Тем не менее, попробуем сжато и емко описать фундаментальные изменения. Некоторые из них небольшие, но приятные, а некоторые с далеко идущими последствиями. Но подчинены единой цели — создать новый уровень графики в новом проекте «Корея: серия Ил-2».
  1. Переход на технологию текстурирования и шейдинга объектов PBR (Physical Based Rendering) в варианте с MRR текстурированием фактур материалов. Пожалуй, это самое серьезное изменение в графическом движке, т.к. потребовало создание 3D контента новой игры с нуля. Очевидно, что такое решение требовало серьезных обоснований. Среди главных отметим следующие: более «живая картинка» потянула за собой переход на совершенно иной пайплайн создания 3D контента, как результат работа с актуальным набором инструментов при текстурировании 3D контента.
  2. Переход на API DirectX 12. Это тоже шаг вперед, на который нам было не просто решиться, т.к. былой поддержки от производителя API разработчик игр в наше время не получает. Большинство особенностей и скрытых для глаз камней приходится искать на ощупь, методом исключения, и другими подобными методами поиска, анализа и реверс-инжиниринга. Цель — получить в новом проекте максимально актуальный и современный Backend, обезопасить проект от возможного прекращения поддержки DirectX 11 и открыть возможности применения в проекте новых технологий, представленных в API DirectX 12.
  3. Технология визуализации атмосферы, базирующаяся на физической модели распространения света в среде. Базисное изменение, добавляющее «картинке» новый уровень ощущения глубины пространства и естественности восприятия природного окружения.
  4. Доработка системы декалей ландшафта позволила художникам создавать разметку взлетных полос, фактурирование, а также аэродромы, расположенные на неровном ландшафте.
  5. Увеличенная в четыре раза плотность детализации сетки ландшафта. Как правило, для плоского ландшафта карт типа «Сталинград», «Москва», «Рейнланд», «Нормандия» предыдущего разрешения сетки ландшафта вполне хватало. Однако на карте, где основная часть суши представлена горами, предгорьями и холмами, этого уже недостаточно. Исходя из этого нами было принято решение по улучшению детализации карты высот, что позволило реализовывать аэродромы с неровным рельефом.
  6. Динамические тени от ландшафта (от гор и холмов). Летом ближе к утру и вечеру, а поздней осенью, ранней весной и зимой целый день. Это крайне важная особенность для создания цельного визуального образа горного и холмистого ландшафта. Особенно динамические тени важны в создании внешнего вида ландшафта при обзоре со средних и больших высот.
  7. Усовершенствование системы переключения LOD-уровней строений позволило на ближнем плане переключать LOD у отдельных строений, а не блока строений. Это изменение в графическом движке позволило поднять на новый уровень качество отображения моделей строений.
  8. Технология Tiled Blocks. Расстановка по карте плотной городской/сельской застройки в виде полигональных декалей ландшафта, на которых проявляются сами блоки и текстуры-подложки. Этот новый подход застройки сцены карты дает преимущества по производительности, а также практичности в использовании художниками по ландшафту. А это, в свою очередь, позволило сильно повысить художественность и вариативность исполнения городов.
  9. Технология туннелей, проходимых для техники. Помимо того, что «это просто прикольно», новая технология позволила увязать дорожную сеть гористой местности в единое целое. А это важно для создания иных игровых сценариев.
  10. Доработка системы визуализации отражений в воде. На карте «Кореи» очень много воды — моря и рек, в том числе горных. Поэтому создание гибкой системы отражений стало важной вехой для нового проекта.
  11. Визуализация прозрачности речной и морской воды. Без этой особенности получить современную картинку плавающего человека (например летчика, упавшего в воду), или упавшего в воду самолета, или плавсредства невозможно. Тем интереснее, что наши дальнейшие планы связаны с боевыми действиями в океане.
  12. Массовые аэродромные и городские огни, способные освещать ландшафт и объекты. Корейская война — это уже 1950-е годы. Обойтись без аэродромных огней и освещения городов не получилось бы.
  13. Доработка системы частиц графических эффектов. Это целый комплекс изменений, который в итоге позволяет получать эффекты кинематографического качества.
  14. Расширение возможного количества видов автомобильных дорог на одной карте. Давно об этом мечтали, теперь же мечта обретает реальные формы —-наконец-то на карте мы можем реализовать одновременно грунтовые и шоссейные дороги; дороги узкие с однополосным движением и встречными разъездами, а также широкие с двусторонним движением.
  15. 3D визуализация железнодорожных путей и ж/д переездов. Казалось бы, самолеты летают высоко, а поезда где-то внизу. Но почему-то, всем всегда хотелось качественной визуализации железнодорожных путей и переездов. Наверное потому, что все любят паровозики))
  16. Новый шейдинг деревьев. Помимо применения PBR к деревьям (как и ко всему остальному 3D контенту игры), был применен новый подход к освещению древесных крон, создающий эффект прозрачности листвы для солнечного света.
  17. Новый шейдинг травы. Помимо нового шейдера травы, нами создан и новый подход к её визуальной модели. Вкупе это дает принципиально новую картину на кадрах с уровня земли.
  18. Кусты. Это новая сущность, которой раньше не было в графическом движке. Кусты позволят создать реалистичное ощущение скорости полета на малых высотах, лучшее ощущение высоты и масштаба. Но и в целом, дополнение картины природного ландшафта кустами создает законченный образ.
  19. Объемные воронки от последствий крупных взрывов. Тут можно сказать просто, что это выглядит действительно круто. Однако это изменение дает новые возможности для геймплея — попаданиями крупных бомб теперь можно будет «закрывать» взлетные полосы. Вкупе с тем, что мы планируем усложнить взлет в любом направлении, даже при наличии на аэродроме взлетных полос, это станет новой особенностью игрового процесса в многопользовательской игре.
  20. Телеграфные столбы и провода. В 1950-е годы это уже неотъемлемый элемент внешнего вида автодорожной сети.
  21. Визуализация тела летчика при виде от первого лица. Нас уже довольно давно и часто просили об этом. В новом проекте за счет создания всего контента с нуля это стало возможным. Эта особенность будет, конечно же, опциональной.
  22. Новый подход к производственному процессу по созданию визуальных моделей самолетов и наземных объектов, моделей повреждения. Для игрока графика это не только технологии движка, но и то, как эти технологии применены на практике при отрисовке моделей объектов и ландшафта. Тут, конечно, можно удариться в детали и развернуто ответить еще пунктов на 100−200. В свою очередь каждый из этих пунктов можно было бы превратить в подробный рассказ о том, что это такое и как реализовано. Однако хотелось бы приберечь эти темы для будущих выпусков «Дневников разработчика». Всего вам наилучшего и следите за новостями!