69

Как я решил делать рогалик на Unity. Часть 4

Продолжаю рассказывать о том, как я делаю рогалик на Unity.

В этот раз речь пойдет о погоде в игре. Она условно разделена на глобальную и локальную.

Глобальная погода обновляется 24 раза за игровой день, который длиться соответственно 24 минуты. Примерно вот так выглядит глобальная карта с погодой:

Как я решил делать рогалик на Unity. Часть 4 Gamedev, Unity, Инди, Игры, Разработка, Гифка, Длиннопост, Roguelike

Каждый квадратик это отдельная локация. У каждой локации есть свои параметры вроде давления, температуры и облачности. Также, есть и побочные вроде силы ветра (красные стрелочки), которая определяется от разности давлений, особенностей ландшафта и т.д.

Чтобы погода менялась с течением времени есть фронты (зелёные стрелочки) и циклоны. Фронты меняют температуру и образуют дожди. А циклоны создают зоны с повышенным/пониженным давлением.

Вот как это работает в динамике:

Как я решил делать рогалик на Unity. Часть 4 Gamedev, Unity, Инди, Игры, Разработка, Гифка, Длиннопост, Roguelike


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

Одной из самых сложных вещей было написание шейдера для неба. В него входят такие штуки как мерцающее звёздное небо меняющееся в течение ночи и игрового года, перемещающаяся луна, плавно затягивающие небо "статические" облака. Статические - потому что у них одна единственная кубамапа.

Вот так проходит в игре ночь:

Как я решил делать рогалик на Unity. Часть 4 Gamedev, Unity, Инди, Игры, Разработка, Гифка, Длиннопост, Roguelike


Помимо "статических" облаков есть и динамические через систему частиц:

Как я решил делать рогалик на Unity. Часть 4 Gamedev, Unity, Инди, Игры, Разработка, Гифка, Длиннопост, Roguelike


И как следствие облаков, эффект дождя:

Как я решил делать рогалик на Unity. Часть 4 Gamedev, Unity, Инди, Игры, Разработка, Гифка, Длиннопост, Roguelike


На этом пока что всё. В дальнейшем буду работать над улучшением внешнего вида поверхности. Если что, то в группе вк выкладываю новости гораздо чаще и более детально. А также, там можно скачать технодемку и в живую глянуть на погоду.
https://vk.com/voidside_game

И бонус в комментариях

Правила сообщества

ОБЩИЕ ПРАВИЛА:

- Уважайте чужой труд и используйте конструктивную критику

- Не занимайтесь саморекламой, пишите качественные и интересные посты

- Никакой политики


СТОИТ ПУБЛИКОВАТЬ:

- Посты о Вашей игре с историей её разработки и описанием полученного опыта

- Обучающие материалы, туториалы

- Интервью с опытными разработчиками

- Анонсы бесплатных мероприятий для разработчиков и истории их посещения;
- Ваши работы, если Вы художник/композитор и хотите поделиться ими на безвозмездной основе

НЕ СТОИТ ПУБЛИКОВАТЬ:

- Посты, содержащие только вопрос или просьбу помочь
- Посты, содержащие только идею игры

- Посты, единственная цель которых - набор команды для разработки игры

- Посты, не относящиеся к тематике сообщества

Подобные посты по решению администрации могут быть перемещены из сообщества в общую ленту.

ЗАПРЕЩЕНО:

- Публиковать бессодержательные посты с рекламой Вашего проекта (см. следующий пункт), а также все прочие посты, содержащие рекламу/рекламные интеграции

- Выдавать чужой труд за свой

Подобные посты будут перемещены из сообщества в общую ленту, а их авторы по решению администрации могут быть внесены в игнор-лист сообщества.


О РАЗМЕЩЕНИИ ССЫЛОК:

Ссылка на сторонний ресурс, связанный с игрой, допускается только при следующих условиях:

- Пост должен быть содержательным и интересным для пользователей, нести пользу для сообщества

- Ссылка должна размещаться непосредственно в начале или конце поста и только один раз

- Cсылка размещается в формате: "Страница игры в Steam: URL"