Независимая студия представила Aloft — игру на выживание, действие которой разворачивается в мире парящих островов. Что действительно привлекает внимание технического сообщества, так это динамическая система погоды и объемные облака, реализованные на Unity. Это не просто визуальный эффект: атмосфера напрямую влияет на геймплей, вынуждая игрока искать укрытие или менять маршрут исследования. Разбираемся, как разработчикам удалось добиться стилизованного реализма без потери производительности. ☁️
Оптимизация шейдеров и симуляция атмосферы в реальном времени ⚡
Команда разработчиков выбрала гибридный подход для объемных облаков. Вместо традиционных частиц они реализовали систему на основе ray marching в кастомном шейдере Unity. Для поддержания 60 FPS на среднем оборудовании разрешение объема процедурного шума было ограничено текстурой 3D 64x64x64 в сочетании с недорогим рассеиванием. Парящие острова моделировались в Blender с использованием модульной геометрии, что позволяет динамическому ветру влиять на объекты через систему простых сочленений. Текстурирование в Adobe Substance было сосредоточено на масках влажности, изменяющих цвет скал и растительности в зависимости от высоты и воздействия солнца, — всё упаковано в единый атлас материалов для уменьшения количества draw calls.
Уроки для инди-разработчиков об атмосферных системах 🎮
Aloft доказывает, что для создания живых миров не нужен AAA-движок. Ключ — в расстановке приоритетов: вместо симуляции каждой капли дождя разработчики сосредоточились на объеме облаков и том, как свет проходит сквозь них. Для инди-студии рекомендуется начинать с системы погоды на основе состояний (солнечно, облачно, шторм), а не с плавного непрерывного перехода. Использование шумовой текстуры в шейдере облаков вместо сложных попиксельных вычислений экономит циклы GPU. Наконец, интеграция погоды в геймплей — например, ветер, толкающий игрока, или дождь, пополняющий источники воды, — оправдывает технические затраты и обогащает опыт.
Как независимая студия Aloft реализует систему динамической погоды и объемных облаков в Unity, оптимизированную для скромного оборудования, не жертвуя визуальной глубиной в мире парящих островов
(P.S.: игровые джемы — как свадьбы: все счастливы, никто не спит, и в итоге ты плачешь)