Продолжаю погружаться в то, как работает рендер в больших кроссплатформерных играх с сильной стилизацией
на этот раз набрел на информацию по Wuthering Waves, которая многими считается самой красивой в своем жанре, при этом обладая неплохой оптимизацией (хотя говорят, что в последних обновлениях на нее забили и стало сильно хуже, чем было на релизе)
Оказывается, сделана она на Unreal Engine 4.26, однако с кучей оговорок:
1. Разработчики портировали в него избранные фичи UE 5, но полный переход не делали из-за проблем с оптимизацией и стабильностью
2. Многие куски движка пришлось переписать, потому что коробочные возможности либо не подходили, либо не давали желаемого быстродействия. Например, весь пайплайн освещения персонажей и эффектов написан с нуля
3. Пришлось делать руками фиксы под конкретное железо, например на мобильных Mali всплывало неожиданное поведение
Они давали большое интервью Epic Games, в котором рассказывали эти и другие подробности
Например почему они, в отличие от многих игр с поддержкой мобильных устройств, выбрали deferred рендеринг вместо модификаций forward, и как его оптимизировали дополнительно
https://www.unrealengine.com/en-US/developer-interviews/exploring-the-post-apocalyptic-charm-of-asg-open-worlds-in-wuthering-waves
Кроме того, они поделились с Google информацией о том, как смогли снизить потребление энергии батареи на Андроиде на 10%
Одним из приемов, на который им пришлось пойти ради этого, стал кастомный куллинг для облегчения нагрузки на GPU по сравнению со стандартным
https://developer.android.com/stories/games/kuro-powerprofiler
В целом, информации конечно меньше, чем у игр MiHoYo, и с движком им во многом пришлось бороться и дописывать его до нормального состояния под себя
Но интересно было ознакомиться, как они это делали, и как добивались богатых визуальных эффектов при неплохой оптимизации на движке, который ею не славится