Игра по сериалу. Девлог #2

Карта есть, камеру двигать можно, есть некоторый интерактив.Уже имеется около 10 секунд геймплея из запланированных 4-5 часов. Можно выпустить прямо в таком виде в раннем доступе. Звучит как план.

обычный я на распродаже стим
обычный я на распродаже стим

Прикинул 4-5 часов как среднюю продолжительность игры, когда проект меня по-настоящему заинтересовал. В процессе разработки ориентируюсь на этот временной отрезок, чтобы игра не успела наскучить игроку.

Главными темами поста будут симуляция погоды и дорожный трафик как средства оживления города и погружения игрока в игровой мир – увеличиваю иммерсивность. Это одно из средств удержания игрока, помимо интересных механик, сюжета, дизайна и прочего.

Если ты прочитал этот пост и хочешь еще, то есть прошлый пост, где я расписывал как пришел к идеи и даже кое-что сделал.

Симуляции погодных явлений

красивое
красивое

Меня завораживают погодные явления в играх. В детстве интересовало как разработчики создавали дождь / туман / грозу / ветер. Сейчас 2024 год и кубом с дождем, преследующий игрока, никого не впечатлить.

average дождик

Но все еще есть некоторые проекты, которые удивляют и восхищают.

Ghost of Tsushima мой фаворит по проработке природы. Чего стоят листья разлетающиеся во время сражения

Начать было решено с плывущих облаков. Сделать их очень просто — спрайт с облаком и движение по одной из осей. Казалось бы, на этом все. Вот что получилось:

непрезентабельно

В спрайтах кроется одна проблема: они плоские. При движении камеры это бросается в глаза.

Погружение рушится, и возникает желание поставить 0 из 10 и оставить гневный отзыв. Это не входит в мои планы. Чтобы исправить эту проблему, нужно вдохнуть в облака жизнь.

Добавим плавное появление и исчезновение, несколько дополнительных слоев с разными спрайтами и тень.

c тенями случился перебор

Теперь стало гораздо лучше: облака стали объемными, и в них можно поверить, если захотеть, конечно. Метод со спрайтами прост в реализации, но в плане вариативности и взаимодействия с окружающими объектами значительно уступает объемным облакам (например воксельных или шейдерных).

С добавлением облаков появилась очередная проблема — теперь не видно карту под ними. Исправить это, не испортив сами облака, можно следующим образом:

Считаем расстояние от камеры до облаков и применяем эффект фейда. Таким образом, на высоте птичьего полета облака видны, а при приближении они исчезают.

vanish

К облакам можно добавить дождик, грозу и туман. Но для начала облаков вполне достаточно.

заглядывать в статистику батчинга и overdraw даже не буду. Там сейчас страшно.

Подобие погоды есть, перейдем теперь к транспорту.

Симуляция дорожного трафика.

Никогда не делал городской дорожный трафик и все это звучит сложно. Было страшно начинать: светофоры, повороты, полосы, ещё трекать чтобы машинка не врезалась в другую машинку. Пересмотрел пару видео и ассетов из магазина, даже что-то попробовал оттуда. Но все это не то. В одних случаях слишком громоздкое, в других непонятное, в третьих платное.

По заветам наших предков, я взялся велосипедить. Отмел всю мишуру по типу светофора и оставил такие правила:

  • Есть дорога. Это две точки A и B и отрезок между ними.
  • Дорога может вести к другим дорогам.
  • Есть машина, которая едет только по дорогам. От точки А до B или от B до А.
  • Если машина доехала до конечной точки, то случайно выбирай следующую дорогу.
  • Забить на столкновение машин, пусть сквозь друг друга ездят. В моем мире машины теперь как поезда — не объедут.

эти примитивные правила, конечно, слабо помогают иммерсивности, но прорабатывать каждую механику до блеска на данном этапе у меня нет в планах. Как сказал кто-то, лучшее — враг хорошего.

Правила настолько простые, что стало легче подходить к реализации. Страх ушёл, и разработка пошла.

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

во время игры желтой линии не будет видно. Только в некоторых случаях
во время игры желтой линии не будет видно. Только в некоторых случаях

В качестве машин использовал растянутые кубики. С разными материалами 😎

кубово
кубово

И соединив все вместе получаем такой результат

В итоге карта вместе с облаками и транспортным трафиком стала гораздо живее. Игровой мир выглядит всё лучше и лучше.

Похоже, я рассказал всё, что планировал для этого поста. Но впереди ещё много интересного, например, про заглядывание в будущее ⏰ и немного о постэффектах 💥.

Спасибо, что дочитал!

Кого утомляет лирика, но интересно подглядывать за разработкой, прошу в свой телеграм-канал: там по хронологии показано чуть больше, но немного сухо.

99
22
11
1 комментарий

Молодец!

Приятно читать, как ты пересиливаешь страхи, лень и прочее и планомерно улучшаешь проект. И что на пальцах рассказываешь какие приемы и ассеты использовал, с какими проблемами столкнулся и т.д.

Формат хороший, продолжай в том же духе.

1